Files
gstack/autoplan/sections/manifest.json
T
garrytan 5d032ef299 test: delete tests of dead eval code (A)
- A1: the retired Eng lexical oracle (evaluateEngSeedCoverage,
  isEngSeedDecisionAUQ), the completion-handoff detector and the retained
  corpus had no paid caller since v1.87.6; delete their 26 replay files,
  ~2.6k helper LOC and fixtures, and the dead blocks in 8 mixed files
  (live hasNativePlanTerminal / batching assertions stay).
- A2: dead viewport approvers in autoplan-artifact-permission and their 11
  replay files + fixtures; recorder/launcher cases stay.
- A3: never-wired oracles and seeders (autoplan-phase-order,
  eng-finding-fixture, ceo-paired-fixture, design-ui-scope,
  plan-skill-completion, pty-current-screen, required-reads,
  transcript-section-logger); plan-seed-submission now decodes through the
  production createPtyScreen; section manifests name their actual guard.
- A4: zero-reference helper exports, plus execGit and invokeAndObserve
  found by the reachability pass.
- 52 fixtures orphaned by the deletions; touchfile and selection-table
  entries for every deleted path.
2026-09-29 05:09:36 +00:00

45 lines
2.5 KiB
JSON

{
"$schema": "https://gstack.dev/schemas/section-manifest.json",
"skill": "autoplan",
"version": 1,
"note": "PASSIVE registry (v2 plan T9 / CM2). Fields are IDs, file paths, human titles, and human-readable trigger text ONLY. The skeleton's phase sequencing (Sequential Execution + the Phase 0 UI/DX scope detection) is the ONLY place that decides WHEN to read a section \u2014 Phase 2 and Phase 2.5 are conditional and their sections must NOT be read when their scope is absent; required section reads are checked by test/skill-e2e-autoplan-chain.test.ts (auditAutoplanMethodReads). No machine predicate here \u2014 see docs/designs/v2_PLAN.md:663.",
"sections": [
{
"id": "ceo-phase",
"file": "ceo-phase.md",
"title": "Phase 1: CEO review (strategy & scope) \u2014 override rules, dual voices, required outputs",
"trigger": "starting Phase 1 (CEO review \u2014 always runs, after the Phase 0.5 preflight)"
},
{
"id": "design-phase",
"file": "design-phase.md",
"title": "Phase 2: design review \u2014 override rules, dual voices, 7-pass checklist",
"trigger": "starting Phase 2 (design review \u2014 ONLY if UI scope was detected in Phase 0; skip the read entirely otherwise)"
},
{
"id": "eng-phase",
"file": "eng-phase.md",
"title": "Phase 3: eng review + dual voices \u2014 override rules, test review, required outputs",
"trigger": "starting Phase 3 (eng review \u2014 always runs, after all earlier applicable phases have closed)"
},
{
"id": "dx-phase",
"file": "dx-phase.md",
"title": "Phase 2.5: DX review \u2014 override rules, dual voices, 8-dimension scorecard",
"trigger": "starting Phase 2.5 (DX review \u2014 ONLY if developer-facing scope was detected in Phase 0; skip the read entirely otherwise)"
},
{
"id": "phase-close",
"file": "phase-close.md",
"title": "Close the current review phase \u2014 current readback, reconciliation and visible completion",
"trigger": "closing a review phase, after its reviews finish and before announcing completion or loading the next phase (read afresh at each exit)"
},
{
"id": "tasks-aggregator",
"file": "tasks-aggregator.md",
"title": "Phase 4: Implementation Tasks aggregator (builds $AGGREGATED_TASKS for the gate)",
"trigger": "presenting the Final Approval Gate (Phase 4) \u2014 the aggregator computes $AGGREGATED_TASKS that the gate message substitutes"
}
]
}