You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The public PR review comment (buildPublicPrIntelligenceComment / the unified-comment bridge in src/signals/engine.ts) has grown incrementally, feature by feature, over many PRs -- each addition made sense in isolation, but the whole has never been looked at as ONE thing a maintainer actually reads. Concrete signals it's due for a real pass:
The main signals table mixes signals maintainers actually act on (linked issue, code review, related work, Gittensor context) with ones that get skimmed past (change scope, validation posture, contributor workload) -- confirmed by direct maintainer feedback, not a guess.
"Contributor next steps" (publicSafeNextSteps in src/signals/engine.ts) is, on inspection, just a deduped re-listing of the SAME action text already shown in the signals table's own Action column plus preflight-finding actions -- it adds no new information, just repeats what's above it.
The "Contributor context" row (contributorContextPanelResult) renders a red ❌ for any non-Gittensor contributor today, even though its own evidence text says "not a blocker" -- the visual and the semantics disagree.
The new "[BETA] Chat with Gittensory" collapsible (Add a beta usage dropdown for chat/ask commands to the PR review comment #5078) looks visually identical to every stable, long-shipped collapsible above it -- nothing distinguishes an experimental feature from a mature one except three characters of text in the title.
No mechanism exists yet for turning a held/blocked PR's findings into something a contributor can paste straight into their own AI coding tool to fix -- CodeRabbit ships exactly this ("🤖 Prompt for AI Agents" per-finding, plus a newer "Fix All Issues" aggregate prompt), and it's worth deliberately evaluating for this product.
Scope
This epic is audit + design + prototype work across 6 sub-issues. None of them are "just ship it" -- each sub-issue's job is to research the current behavior, propose a concrete redesign with real before/after content, and implement the parts that are unambiguous, while flagging genuinely open design questions back to the maintainer rather than guessing on subjective calls (visual style, information density, exact copy).
Public-safe: never introduce reward/payout/score/ranking/trust-score wording into the public comment (the existing sanitizePublicComment / containsPrivatePublicTerm forbidden-term guards must keep catching everything this epic adds).
Config-as-code: any new behavior toggle is a .gittensory.yml field with a sensible default, not a hardcoded product decision -- matching every other feature this session.
Byte-identical-by-default where reasonable: a repo that hasn't opted into a NEW capability shouldn't see its existing comment change shape.
No dashboard/apps/gittensory-ui/ work is in scope here -- this epic is the GitHub-native PR comment only.
Non-goals
Rebuilding the underlying signal-computation logic (readiness score, preflight findings, etc.) -- this epic is about what's SURFACED and HOW, not the scoring math itself, except where a sub-issue explicitly proposes replacing a low-value signal with a better one.
Any change to gate/merge semantics -- this is a presentation-layer epic; the gate's own advisory/blocking behavior does not change.
Why
The public PR review comment (
buildPublicPrIntelligenceComment/ the unified-comment bridge insrc/signals/engine.ts) has grown incrementally, feature by feature, over many PRs -- each addition made sense in isolation, but the whole has never been looked at as ONE thing a maintainer actually reads. Concrete signals it's due for a real pass:publicSafeNextStepsinsrc/signals/engine.ts) is, on inspection, just a deduped re-listing of the SAME action text already shown in the signals table's own Action column plus preflight-finding actions -- it adds no new information, just repeats what's above it.contributorContextPanelResult) renders a red ❌ for any non-Gittensor contributor today, even though its own evidence text says "not a blocker" -- the visual and the semantics disagree.improvementEvidenceText, PR panel: new advisory improvement-signal section #4744/Maintainer risk x value triage view #4745) concatenates up to 2 raw finding sentences plus the FULL LLM rationale sentence into one table cell -- it reads as a wall of text instead of a quick signal.Scope
This epic is audit + design + prototype work across 6 sub-issues. None of them are "just ship it" -- each sub-issue's job is to research the current behavior, propose a concrete redesign with real before/after content, and implement the parts that are unambiguous, while flagging genuinely open design questions back to the maintainer rather than guessing on subjective calls (visual style, information density, exact copy).
Constraints (apply to every sub-issue)
sanitizePublicComment/containsPrivatePublicTermforbidden-term guards must keep catching everything this epic adds)..gittensory.ymlfield with a sensible default, not a hardcoded product decision -- matching every other feature this session.apps/gittensory-ui/work is in scope here -- this epic is the GitHub-native PR comment only.Non-goals