Repository navigation
[Phase 3] Record the human go/no-go decision and fleet-wide recommendation #845
Copy link
Copy link
Closed
Labels
dev-lead:hands-offExclude from dev-lead agent automationExclude from dev-lead agent automationinitiativeEpic / initiative tracking issueEpic / initiative tracking issueinitiative:holdInitiative driver must not release this issue (human hold)Initiative driver must not release this issue (human hold)
Description
Story
As a initiative owner,
I want to review the comparative pilot report and record a go/no-go decision, the selected server (if go), and the fleet-wide rollout recommendation,
so that activation beyond the pilot is a deliberate, documented human decision rather than an implicit drift from the pilot wiring.
Acceptance Criteria
- A decision record (in docs/lsp-pilot.md or a linked doc) states GO or NO-GO with the metric evidence from story 5's report cited.
- If GO: the selected LSP-MCP server is named with its pinned version, and the next-step scope is stated (e.g. extend to TypeScript in
markets, or to dev-lead code-writing) WITHOUT enabling it in this epic. - If NO-GO: the pilot wiring is left inert (REVIEW_MCP_CONFIG unset for LSP) so default review behavior is unchanged, and the reasons are recorded for future re-evaluation.
- The decision explicitly confirms no fleet-wide or dev-lead LSP enablement happened as part of this epic (that is a separate, future initiative).
Tasks / Subtasks
- Review story 5's report and write the GO/NO-GO decision record with cited evidence. (AC: test issue from agent #1)
- On GO, name the selected server+version and the explicitly-deferred next scope. (AC: Go-live improvements for PR review agent #2, Optimize review: small-PR and incremental fast paths #4)
- On NO-GO, confirm the wiring is inert and record the reasons. (AC: Add @claude delegation, auto-merge, and rebase handling #3, Optimize review: small-PR and incremental fast paths #4)
Dev Notes
- This is a human decision (hands-off): activation beyond the pilot is never auto-released, consistent with how the epic itself is created inert.
- Grounding: the pilot deliberately stops at pr-review/Shell; dev-lead code-writing LSP and cross-language (markets TS) are out of scope here and must remain so unless a follow-up initiative is opened.
- No code change required beyond the decision record; if NO-GO, simply ensure the LSP MCP config is not referenced by REVIEW_MCP_CONFIG so the engine threads no LSP flags (behavior reverts byte-for-byte).
Project Structure Notes
Decision record only; no engine/workflow behavior change.
References
- docs/initiatives/mcp-powered-review.md
- .github/review-mcp.json
Likely target surface
docs/lsp-pilot.md (new file)
Story prepared by the BMAD Scrum Master (Bob) for epic #839. Status: ready-for-dev.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
dev-lead:hands-offExclude from dev-lead agent automationExclude from dev-lead agent automationinitiativeEpic / initiative tracking issueEpic / initiative tracking issueinitiative:holdInitiative driver must not release this issue (human hold)Initiative driver must not release this issue (human hold)
Activity
feat(lsp-pilot): record NO-GO decision for Shell/bash-language-server (…
don-petry commentedon Jul 8, 2026
Go/No-Go recorded: NO-GO for Shell / bash-language-server (door left open for other languages)
Decision record:
docs/lsp-pilot.md §7(PR #1110). Evidence — two independent live A/B runs over the frozen 20-PR real corpus (agent-lsp v0.15.0+bash-language-server 5.6.0, LSP-off vs LSP-on):AC #1 (decision + evidence): The ≥2× navigation-token clause of the success metric fails decisively on both the exploratory (sonnet) and production-tier (opus) runs; the high-nav stratum — the core find-references hypothesis — is a wash at ~1.0×. Cold-start passes the 30s SLA comfortably. Since the metric is a conjunction, precision cannot rescue a GO once tokens fail (and the #843 verification step is asymmetric-by-construction, so it can't yield a symmetric FP delta anyway). N=3 was halted after the first opus run per the pre-agreed gate (a decisive <1.5× miss can't be closed to 2× by more runs), saving credits.
Scope (AC #4): NO-GO applies only to Shell · bash-language-server · agent-lsp · pr-review ·
.github-private. No fleet-wide and no dev-lead (code-writing) LSP was enabled. Explicitly left open for a future initiative: TypeScript (tsgo/tsserver), Python (pyright), Go (gopls) — deeper cross-file type resolution where find-references plausibly beats grep, and where discussion #578 recorded the larger third-party wins. The harness (scripts/lsp_pilot_run.sh+.github/workflows/lsp-pilot-run.yml+ the frozen corpus) is retained dormant for a low-friction per-language restart.Inert state (AC #3):
LSP_PILOT_ENABLEDunset;REVIEW_MCP_ALLOWED_TOOLSscoped tomcp__context7__*(nomcp__lsp__);REVIEW_MCP_CONFIGnot pointed at.github/mcp/lsp.jsonin production → pr-review behaves byte-for-byte as before.Recording this decision (via PR #1110) closes #845 and the epic #839.
feat(lsp-pilot): repin comparative corpus to 20 real PRs (#839, unblo…
feat(lsp-pilot): record NO-GO decision for Shell/bash-language-server (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845)
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
don-petry commentedon Jul 9, 2026
Done — decision recorded and merged. PR #1110 merged 2026-07-09 (commit
faf7ec2): NO-GO for Shell/bash-language-server, and the pilot footprint was removed from the repo (rebuild recipe + corpus pinned in #1124; future per-language re-pilots #1125/#1126). Production pr-review unchanged.chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
2 remaining items
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…
chore(lsp-pilot): retire the LSP pilot after Shell NO-GO (#839, #845) (…