Skip to content

[Phase 3] Record the human go/no-go decision and fleet-wide recommendation #845

Closed

Description

@github-actions

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

  1. 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.
  2. 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.
  3. 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.
  4. 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

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.

Activity

  1. added
    initiativeEpic / initiative tracking issue
    initiative:holdInitiative driver must not release this issue (human hold)
    dev-lead:hands-offExclude from dev-lead agent automation
    on Jun 20, 2026
  2. don-petry commented on Jul 8, 2026

    @don-petry
    Collaborator

    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):

    Run Model Agg nav-token ratio High-nav stratum ≥2× LSP-on worse Cold-start
    28718240665 sonnet-4-6 1.26× 1.01× 4/20 9/20 2.9s
    28940391169 opus-4-8 (prod deep tier) 1.05× 1.04× 4/20 8/20 4.1s

    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_ENABLED unset; REVIEW_MCP_ALLOWED_TOOLS scoped to mcp__context7__* (no mcp__lsp__); REVIEW_MCP_CONFIG not pointed at .github/mcp/lsp.json in production → pr-review behaves byte-for-byte as before.

    Recording this decision (via PR #1110) closes #845 and the epic #839.

  3. don-petry commented on Jul 9, 2026

    @don-petry
    Collaborator

    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.

  4. 2 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    dev-lead:hands-offExclude from dev-lead agent automationinitiativeEpic / initiative tracking issueinitiative:holdInitiative driver must not release this issue (human hold)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions