Files
Garry Tanandcapy-ai[bot] 5d647455f2 v1.91.79.0 feat(eval-plan): /eval-plan tier 1, lane-check, evidence verify, coordinator contract, owner brief, contributor-PR mode, banned terms (multi-agent wave PR E) (#3123)
* v1.91.79.0 feat(eval-plan): /eval-plan tier 1, lane-check, evidence verify, coordinator contract, owner brief, contributor-PR mode, banned terms (multi-agent wave PR E)

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

* fix(spec,review): fail closed when the coordinator contract cannot be read; restore the omitted-Army sentence

The spec --execute spawn captures `gstack-autoplan contract` before piping
the archive, so a lane never starts without the contract; the C9 fixture
installs its gstack-like checkout (bin, lib, a contract stub) at every
host's global root. Review Step 5.8 keeps the pinned
'without claiming specialist coverage' wording.

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 03:10:06 +00:00

5.0 KiB
Raw Permalink Blame History

Read this section afresh when the current phase's review work finishes. Use the phase, amendment checkpoint and methodology path bound at that phase's exit. This procedure owns readback, verification and publication as separate operations. On hosts that inline sections, reread this close block in the installed Autoplan SKILL.md at each exit; they have no separate phase-close.md file.

  1. Finish and save the review. Require the phase's full methodology/section Reads, required outputs, successful writes and terminal reviewer results. Match a completed native review's INPUT to its voice snapshot. A pending reviewer keeps the phase open. Apply the phase's failure policy to failed native attempts; unavailable/disabled voices receive no completion credit. Record wall time: ~/.claude/skills/gstack/bin/gstack-autoplan-timing close --run <RUN_ID> --phase <PHASE> --out "$_AP" --outside-s <N> --native-s <N> (timing.json; an ephemeral state root skips the analytics append with a printed line).
  2. Reconcile accepted requirements. Record every accepted behavior, condition, test and manual checklist in this phase's accepted block. Taste remains provisional; User Challenges preserve the original requirements. A None record must explain why the implementation remains unchanged. Keep the amendment checkpoint fixed for this invocation, including after compaction.
  3. Prepare this phase's close packet. Run with the exit's phase/checkpoint:
bun "<SNAPSHOT_TOOL>" prepare-close "<PHASE>" "<ACTIVE_PLAN>" "<AMENDMENT_CHECKPOINT>" "<RESTORE_PATH>" "<methodologyPath>"

This applies accepted requirements and exports an immutable packet with the full current implementation, fixed checkpoint, hashes and phase-specific report fields. The blind reviewer input stays unchanged. These are inputs to steps 4–6 below; preparation does not perform them. 4. Read the complete current packet. For every returned readRanges entry, issue a Read of closePacketPath with that entry's exact offset and limit. Finish all ranges through EOF. A Read of only the edited tail does not satisfy this step; neither do previous snapshots. If a result is truncated, read its missing ranges. If a Read fails, repair it and finish the missing ranges. Do not advance on a request without its result. After the final successful Read, perform step 5 here. 5. Verify the current implementation. Compare the complete current implementation with accepted decisions, source requirements, conditions, tests and required outputs. Retention checks prove bytes; counts, hashes, keyword probes and a saved “Read-back” sentence do not perform this semantic review. Review history stays in Review record. Recheck step 1's prerequisites. If any prerequisite is incomplete, keep this phase open and finish the missing work. Fix omissions, then regenerate the packet with the same checkpoint and Read the entire new packet before publication. Any later implementation or accepted-decision edit returns to step 3, including after compaction. 6. Publish the parent report. After successful verification, SEND the filled report below now as visible parent assistant text, using actual findings and voice statuses, in its own message whose only tool call is the Bash no-op true autoplan-published <PHASE> (no output). The guard counts a report only when a later record follows it, so this message is the next operation before any next-phase tool call. Use the packet's report fields for this phase, the actual host's reviewer names, and N/A when either review voice is missing; confirmed counts require both voices. Include the DX metrics line only when report.includeDxMetrics is true. Resolve report.next using the driver's applicable scope/skip rules.

Phase <report.number> complete. [DX only: DX overall: /10. TTHW: min → min.] Outside review: <completed: N concerns / unavailable / disabled>. Native subagent: <completed: N issues / unavailable>. Consensus: <N/A (voice coverage missing) | X/<report.total> native+outside confirmed; Y disagreements → gate>. Passing to .

  1. Return to the driver. After sending the actual parent report, continue to the driver in the same turn. Make the next guarded Read or Agent call (the next phase driver, or the Phase 4 tasks aggregator after any skip messages) in a later message. The driver alone advances phases and emits applicable skip messages; a skip is never a completion. Do not wait for a “continue” reply.

The sent conversation message is step 6's output. Saving it in ACTIVE_PLAN or printing it through Bash does not publish it. After compaction, reconcile the bound packet and actual sent messages: a verified phase without its announcement resumes at step 6; stale inputs return to step 3. A helper result or Read completes neither verification nor publication.