Skip to content

Outcome-first development pipeline: wired-module budget + fleet contract - #1055

Draft
zkWizard wants to merge 2 commits into
mainfrom
cursor/agile-pipeline-outcome-gate-4fda
Draft

Outcome-first development pipeline: wired-module budget + fleet contract#1055
zkWizard wants to merge 2 commits into
mainfrom
cursor/agile-pipeline-outcome-gate-4fda

Conversation

@zkWizard

Copy link
Copy Markdown
Owner

What does this PR do?

Starts turning the expansion fleet into an agile, outcome-first pipeline. The diagnosis was that velocity is high but aimed at the margins: ~half of src/lib (120 of 276 modules) is unit-tested but unreachable — code no user ever sees — and recent history is dominated by caveat clauses and micro-polish rather than user-facing progress. This PR adds a mechanical gate against that pattern and rewrites the fleet's rules so "done" means shipping something a user notices.

1. Wired-module budget — the "wire it, don't shelve it" gate

  • scripts/walk-wired.mjs refactored to export computeReachability() (its report CLI is unchanged) so the gate measures the bundle exactly the way the existing oracle does — via vite sourcemaps, which see dynamic imports and tree-shaking.
  • scripts/check-wired-budget.mjs fails when the count of staged (unreachable) src/lib modules grows past a committed ceiling in fleet/wired-budget.json (currently 120). Adding a staged module turns the build red; wiring one in lowers the count and you ratchet the ceiling down in the same PR. Same "raise it only deliberately" philosophy as check-bundle-size.mjs.
  • Wired into npm run verify and a new required CI job (Wired-module budget).

2. Outcome-first fleet contract

docs/fleet-expansion-program.md now defines done as one of: ships a user-visible change, wires a staged module, or advances a flagship roadmap item — with explicit anti-patterns (new staged modules, caveat-only *Censoring/*Clause helpers, micro-polish-as-a-whole-cycle) and quality-over-quota (no minimum PR count).

3. Outcome-owning lanes (the "who owns new work" answer)

fleet/expansion-queue.json (schema v2) gains a pipeline policy block (definition of done, anti-patterns, staged-module budget pointer, per-cycle metrics) and five outcome lanes, each seeded with a concrete first task:

Lane Owns First task
Integrator Wiring staged logic into the UI Wire a staged module + ratchet the budget down
Experience Net-new UI/features Cap the probe panel's caveat wall behind a methodology disclosure
Flagship 🚩 roadmap items across cycles Real-colormap probe accuracy (#170)
Layers New layers end to end Add fire/thermal or surface-water layer
Platform & Quality Robustness/a11y/perf, capped at 1 PR/cycle

The six Earth-science specialists become advisory input to these lanes rather than independent PR factories. Metrics are judged by outcomes (userVisibleChanges, modulesWired, stagedModuleCount trend, flagshipStepsLanded), not PR volume.

Type of change

  • Build / CI / tooling
  • Docs

Checklist

  • I ran npm run lint && npm run typecheck && npm run test && npm run build locally and they pass
  • All my commits are signed off (git commit -s)

Testing / evidence

The gate was exercised in both directions:

# PASS — at the ceiling
src/lib reachability: 156 wired, 120 staged (ceiling 120) of 276 modules
check-wired-budget: ok — at the ceiling (no net-new staged modules).

# FAIL — ceiling temporarily set to 119 (simulating a net-new staged module)
src/lib reachability: 156 wired, 120 staged (ceiling 119) of 276 modules
check-wired-budget: FAIL — 120 staged modules exceeds the ceiling of 119 by 1.
... exit=1

Also verified: npm run check:wired passes, refactored walk-wired.mjs CLI still reports and --list staged still works, npm run lint clean, and npm run format:check clean across the repo. No application code changed, so no UI walkthrough applies.

Notes for reviewers

This is deliberately the mechanism (a gate) plus the rules (the contract), not the feature work itself. The seeded lane tasks (probe-caveat budget, #170, a new layer, first staged-module wiring) are the natural first PRs the new pipeline should produce, and each will be a real user-visible change that the budget/metrics reward.

Open in Web Open in Cursor 

cursoragent and others added 2 commits August 20, 2026 02:04
Ratchets the count of staged (unreachable) src/lib modules so new logic
must earn a call site instead of adding to the invisible shelf. Refactors
walk-wired.mjs to export the reachability walk, adds check-wired-budget.mjs
with a committed ceiling in fleet/wired-budget.json, and wires it into
npm run verify and a CI job.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Quinn The Wizard <zkWizard@users.noreply.github.com>
Redefines 'done' as shipping a user-visible change, wiring a staged module,
or advancing a flagship roadmap item; names the anti-patterns (new staged
modules, caveat-only clauses, micro-polish churn). Adds outcome-owning lanes
(Integrator, Experience, Flagship, Layers, capped Platform & Quality) and
per-cycle pipeline metrics judged by outcomes, not PR volume.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Quinn The Wizard <zkWizard@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants