Files
gstack/autoplan/sections/manifest.json
Garry Tanandcapy-ai[bot] 140003be95 v1.91.72.0 feat(autoplan): unattended runner gstack-autoplan next|submit, pluggable outside voice, review checklists, spec-loop cap (multi-agent wave B-runner) (#3117)
* v1.91.70.0 feat(unattended): artifact contract, unattended session kind, findings-derived review log, gate list

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* v1.91.72.0 feat(autoplan): unattended runner next|submit, pluggable outside voice, review checklists, spec-loop cap

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix(b-runner): atomic lock creation in spend-ledger, judge bundle skips runner-only sections, fixture env spelling

- lib/spend-ledger.ts: create the lock by linking a complete temp file so a
  contender never reads an empty lock and breaks a live owner (CI admitted 20
  of a cap of 8 under contention); unreadable locks break only by mtime age.
- test/helpers/workflow-judge-input.ts: exclude manifest runner_only sections
  (the B4 checklists) from the judge bundle; the judge rates the interactive
  workflow. test/workflow-judge-input.test.ts expects the same set.
- test/helpers/autoplan-run-fixture.ts: spell the runner's session kind
  without the literal the free-suite environment scan rejects.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* test(spend-ledger): accept Windows' status-only report of the killed child

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-11 00:32:15 +00:00

51 lines
2.7 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; no paid eval checks the required section reads since the autoplan chain eval was retired (TODOS.md). 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"
},
{
"id": "unattended",
"file": "unattended.md",
"title": "Unattended profile: parent-driven next/submit loop, gate answers, export, terminal line",
"trigger": "the preamble echoed `SESSION_KIND: unattended` (read before Phase 1 and at the Phase 4 gate)"
}
]
}