Skip to content

feat(review): synthesize the 'Contributor next steps' collapsible into a prioritized step - #5791

Merged
loopover-orb[bot] merged 1 commit into
JSONbored:mainfrom
real-venus:feat/loopover-redesign-contributor-next-steps
Jul 14, 2026
Merged

feat(review): synthesize the 'Contributor next steps' collapsible into a prioritized step#5791
loopover-orb[bot] merged 1 commit into
JSONbored:mainfrom
real-venus:feat/loopover-redesign-contributor-next-steps

Conversation

@real-venus

Copy link
Copy Markdown
Contributor

Summary

The "Contributor next steps" collapsible re-listed the exact same action text already shown verbatim in the Signals table's own Action column, so it added nothing a careful reader hadn't already seen — which is why it read as low-value (#5097). This redesigns it (option b from the issue) to earn its place: it leads with the single highest-priority step as a "Start here" synthesis — the one thing the flat table does not say — and points back to the table for the remainder, so no underlying signal is lost.

Written comparison (cut vs. redesign)

(a) Cut entirely (b) Redesign → prioritized synthesis (chosen)
Removes the redundant flat re-list
Adds something the table doesn't already say ❌ (nothing left) ✅ a single "do this first" priority
Preserves the underlying signal Signal only in the table Full signal in the table and a synthesized lead here
Risk Loses a section a maintainer may scan for the first action Minimal — behavior is otherwise unchanged

I chose (b) because the issue's expected outcome is "either it's gone, or it earns its place by saying something the table doesn't already say," and a prioritized "Start here" is genuinely new information (the flat table gives no ordering). publicSafeNextSteps is unchanged, so the maintainer-lane note + readiness actions + finding actions are all still computed and still rendered in full in the table above.

Example output for representative PR states

Clean PR (no actions) — unchanged fallback:

- Keep the PR focused and include validation evidence before maintainer review.

PR with 2 blockers (e.g. missing linked issue + a failing check):

Before:  - Add a linked issue.
         - Fix the failing check.
After:   - **Start here:** Add a linked issue.
         - Then work through the remaining 1 step in the Signals table above.

Maintainer-lane PR (lead is the maintainer-lane context line, remaining actions pointed to the table):

- **Start here:** Treat this as maintainer-lane context rather than normal contributor-lane activity.
- Then work through the remaining 2 steps in the Signals table above.

No dependency lost

  • Both render sites — the converged comment (buildPublicSafeCollapsibles) and the legacy panel (buildPublicPrIntelligenceComment) — now route through the shared contributorNextStepsBody, so they can never diverge (the parity test asserts this).
  • publicSafeNextSteps (the underlying signal) is untouched; nothing downstream reads the collapsible's rendered body as a data source (it's a display-only string), and there is no OpenAPI schema for the collapsible body.

Scope

Validation

  • git diff --check
  • npm run typecheck (root + @loopover/engine build) clean
  • npm run test:coverage — every changed line of contributorNextStepsBody (empty / single / multi-step, singular vs plural, dedup) is at 100% line + branch coverage; 5 new deterministic assertions in unified-comment-parity.test.ts lock in the "Start here" format, and the existing converged-vs-legacy parity test still passes (both sites single-sourced).
  • Broader comment-consumer suites pass unchanged (signals-coverage, scenario-summary, github-commands, mcp-release-candidate — 141 tests).
  • scripts/check-engine-parity.ts passes (contributorNextStepsBody is not a parity marker); docs-drift + command-reference:check pass.
  • Rebased onto the latest main immediately before pushing — no base conflict.

If any required check was skipped, explain why:

  • actionlint, test:workers, ui:*, npm audit were not run — no workflow, worker, UI, or dependency surface changed. The full npm run test:ci runs them on CI.

Safety

  • No secrets, wallet details, hotkeys, coldkeys, PATs, private keys, raw trust scores, private rankings, or private maintainer evidence exposed. Public-safe filtering (containsPrivatePublicTerm, publicSafePreflightFindings) is unchanged; this only reshapes already-public-safe strings.
  • Public GitHub text stays sanitized and low-noise.
  • No changelog edited.

Auth/CORS/session, API/OpenAPI/MCP, and UI safety boxes are not applicable.

…o a prioritized step

The collapsible re-listed the same action text already shown verbatim in the
Signals table's Action column, so it added nothing a reader hadn't already seen
(JSONbored#5097). Redesign it to lead with the single highest-priority step as a 'Start
here' synthesis — the one thing the flat table does not say — and point back to
the table for the remainder, so no underlying signal is lost (publicSafeNextSteps
still computes the full maintainer-lane note + readiness actions + finding
actions, rendered in full in the table above). Both render sites (the converged
comment and the legacy panel) route through the shared contributorNextStepsBody
so they can never diverge.

Closes JSONbored#5097
@real-venus
real-venus requested a review from JSONbored as a code owner July 14, 2026 15:59
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@codecov

codecov Bot commented Jul 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.07%. Comparing base (c4b8af4) to head (a3d7be9).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5791   +/-   ##
=======================================
  Coverage   95.07%   95.07%           
=======================================
  Files         580      580           
  Lines       46152    46156    +4     
  Branches    14800    14803    +3     
=======================================
+ Hits        43880    43884    +4     
  Misses       1516     1516           
  Partials      756      756           
Flag Coverage Δ
shard-1 43.51% <100.00%> (-0.42%) ⬇️
shard-2 35.86% <83.33%> (+0.09%) ⬆️
shard-3 32.24% <0.00%> (-0.03%) ⬇️
shard-4 32.95% <100.00%> (-0.62%) ⬇️
shard-5 31.36% <50.00%> (+0.15%) ⬆️
shard-6 45.01% <50.00%> (+0.37%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/signals/engine.ts 97.50% <100.00%> (+<0.01%) ⬆️
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@loopover-orb loopover-orb Bot added the gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier. label Jul 14, 2026
@loopover-orb

loopover-orb Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Tip

🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩

✅ LoopOver review result - approve/merge recommended

Review updated: 2026-07-14 16:06:12 UTC

2 files · 1 AI reviewer · no blockers · readiness 100/100 · CI green · clean

✅ Suggested Action - Approve/Merge

  • safe to merge

Review summary
This redesigns contributorNextStepsBody to synthesize a prioritized 'Start here' step plus a pointer to the remaining steps in the table, replacing a flat re-list that duplicated the Action column. The function is correctly extracted, exported, and swapped into the call site at engine.ts, and the pluralization/dedup/fallback logic is straightforward and matches the new unit tests exactly. This is a narrow, well-targeted change tied to issue #5097 with good test coverage of the new branches (single step, multiple steps, dedup, empty fallback).

Nits — 3 non-blocking
  • The long doc-comment above contributorNextStepsBody (engine.ts) is verbose for a 12-line function; consider trimming to the essential rationale.
  • No test asserts that publicSafeNextSteps ordering (i.e., which step becomes 'first') is stable/meaningful — worth a comment or test if step order isn't currently guaranteed by the caller.
  • Consider adding a test where nextSteps has 3+ duplicate-heavy entries to confirm the 'remaining N steps' count reflects post-dedup length, not raw input length (implied by existing dedupe test but not explicitly cross-checked against a 3-unique-step case).
Signal Result Evidence
Code review ✅ No blockers 1 reviewer
Linked issue ✅ Linked #5097
Related work ✅ No active overlap found No same-issue or scoped active PR overlap found.
Change scope ✅ 20/20 Low review scope from cached public metadata (1 linked issue).
Validation posture ✅ 25/25 PR body includes validation/test evidence.
Contributor workload ✅ 10/10 Author activity: 112 registered-repo PR(s), 57 merged, 16 issue(s).
Contributor context ✅ Confirmed Gittensor contributor real-venus; Gittensor profile; 112 PR(s), 16 issue(s).
Gate result ✅ Passing No configured blocker found.
Improvement ✅ Minor risk: clean · value: minor — Code changes are accompanied by test evidence. LLM value judgment: minor — The change is a small, well-scoped redesign of one collapsible's rendering logic that directly addresses the linked issue's low-value complaint without touching underlying signal computation.
Linked issue satisfaction

Addressed
The PR implements option (b) from the issue—redesigning the collapsible into a prioritized 'Start here' synthesis while leaving publicSafeNextSteps untouched so the maintainer-lane note, readiness actions, and finding actions remain fully preserved in the table—and includes a written comparison plus dedicated test coverage for the new contributorNextStepsBody function.

Review context
  • Author: real-venus
  • Role context: outside_contributor
  • Public audience mode: oss maintainer
  • Lane context: Repository is configured for direct PR review.
  • Public profile languages: not available
  • Official Gittensor activity: 112 PR(s), 16 issue(s).
  • PR-specific overlap: none found.
Contributor next steps
  • Keep the PR focused and include validation evidence before maintainer review.
Signal definitions
  • Related work = same linked issue, overlapping active PRs, or title/path similarity.
  • Change scope = cached public metadata such as size labels, draft state, and review-burden hints.
  • Validation posture = whether the PR provides enough public validation/test evidence for maintainer review.
  • Contributor workload = public contributor activity and cleanup pressure, not a repo-wide quality failure.
  • Contributor context = public GitHub/Gittensor identity context; non-Gittensor status is not a blocker.
[BETA] Chat with Gittensory

Ask Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.

  • @gittensory ask &lt;question&gt; answers contribution-quality Q&A with source citations and freshness.
  • @gittensory chat &lt;question&gt; answers in natural prose from cached decision-pack facts via local inference (maintainer/collaborator; read-only).
  • A plain-language @gittensory mention with a real question is routed to the closest matching read-only command automatically -- no exact syntax required.

Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed


💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →.

Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.

  • Re-run LoopOver review

@loopover-orb loopover-orb Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gittensory approves — the gate is satisfied and CI is green.

@loopover-orb
loopover-orb Bot merged commit f3d1add into JSONbored:main Jul 14, 2026
15 checks passed
This was referenced Jul 14, 2026
This was referenced Jul 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:feature Gittensor-scored feature linked to a feature issue — scores a 0.25x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Audit and redesign (or cut) the 'Contributor next steps' collapsible

1 participant