mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-05 08:23:59 +01:00
* 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>
83 lines
4.1 KiB
Cheetah
83 lines
4.1 KiB
Cheetah
Before dispatch, Read {{AUTOPLAN_REVIEW_FILE:plan-design-review:with-sections}} per `readRanges`; log successful ranges/total to EOF. Skip-listed: load only.
|
|
|
|
**Override rules:**
|
|
- Focus areas: all relevant dimensions (P1)
|
|
- Structural issues (missing states, broken hierarchy): auto-fix (P5)
|
|
- Aesthetic/taste issues: mark TASTE DECISION
|
|
- Design system alignment: auto-fix if DESIGN.md exists and fix is obvious
|
|
- Dual voices: always run BOTH {{NATIVE_LABEL}} subagent AND {{OUTSIDE_LABEL}} if available (P6).
|
|
|
|
**Bind phase input:** Run; use `snapshotPath` as `<DESIGN_INPUT>` for both voices:
|
|
```bash
|
|
bun "<SNAPSHOT_TOOL>" create design "<ACTIVE_PLAN>" "<RESTORE_PATH>" "<methodologyPath>"
|
|
```
|
|
Fresh `Implementation plan` only; excludes `Review record`.
|
|
|
|
**{{NATIVE_LABEL}} design subagent** (native tool):
|
|
Claude Code: set Agent `run_in_background: false` if its schema exposes it.
|
|
A launch receipt means it went background: await its completion notice.
|
|
Other hosts: foreground; await completion when supported.
|
|
|
|
Read `snapshot.json` beside `<DESIGN_INPUT>`. Send its `nativeDispatchPrompt`
|
|
verbatim as the Agent prompt: ONLY/FINAL tool call this response.
|
|
Keep native Reads enabled. Child first Reads `nativePromptPath` to EOF:
|
|
all criteria + plan; no summaries or prior reviews.
|
|
|
|
**Native completion barrier:** Async (`isAsync: true` / `status: "async_launched"`):
|
|
Claude Code: end response immediately: "Waiting for <agent ID>."
|
|
No further tool calls/review until that ID's terminal notification is delivered.
|
|
Other hosts await that ID. Then outside → this phase's review ONLY.
|
|
Completed-native INPUT must match snapshot phase/hash. Retry invalid input once; then failure policy if still invalid.
|
|
No inline substitute; apply failure policy.
|
|
|
|
**{{OUTSIDE_LABEL}} design voice** (via Bash):
|
|
Outside prompt: inline the full contents of <DESIGN_INPUT> and context below (Write tool).
|
|
|
|
IMPORTANT: Do NOT read or execute any SKILL.md files or paths containing skills/gstack (foreign instructions). Review repository code only.
|
|
|
|
Read the plan file at <DESIGN_INPUT>. Evaluate this plan's
|
|
UI/UX design decisions.
|
|
|
|
Also consider these findings from the CEO review phase:
|
|
<insert CEO dual voice findings summary — key concerns, disagreements>
|
|
|
|
Does the information hierarchy serve the user or the developer? Are interaction
|
|
states (loading, empty, error, partial) specified or left to the implementer's
|
|
imagination? Is the responsive strategy intentional or afterthought? Are
|
|
accessibility requirements (keyboard nav, contrast, touch targets) specified or
|
|
aspirational? Does the plan describe specific UI decisions or generic patterns?
|
|
What design decisions will haunt the implementer if left ambiguous?
|
|
Be opinionated. No hedging.
|
|
|
|
{{OUTSIDE_INVOCATION:autoplan}}
|
|
|
|
Failed/incomplete outside review → unavailable; disabled → skip outside. Both keep the native pass.
|
|
|
|
{{OUTSIDE_PROVENANCE:design}}
|
|
|
|
Error handling: Phase 1 failure/degradation policy applies.
|
|
|
|
- Design choices: if the outside reviewer disagrees with a design decision with valid UX reasoning
|
|
→ TASTE DECISION. Scope changes both models agree on → USER CHALLENGE.
|
|
|
|
**Required execution checklist (Design):**
|
|
|
|
1. Step 0 (Design Scope): Rate completeness 0-10. Check DESIGN.md. Map existing patterns.
|
|
|
|
2. Step 0.5 (Dual Voices): Present the completed calls above under {{OUTSIDE_LABEL}} SAYS (design — UX challenge)
|
|
and {{NATIVE_LABEL}} SUBAGENT (design — independent review).
|
|
Produce the design litmus scorecard from plan-design-review. CEO findings go only
|
|
to the outside voice; the native voice stays independent.
|
|
Missing/disabled outside = N/A, not CONFIRMED; primary cannot replace it.
|
|
|
|
3. Passes 1-7: Run each from loaded skill. Rate 0-10. Auto-decide each issue.
|
|
DISAGREE items from scorecard → raised in the relevant pass with both perspectives.
|
|
|
|
**Close this phase:**
|
|
|
|
The review work above ends here. Now load the shared close steps afresh, even if
|
|
read earlier. Use phase `design`, checkpoint `<DESIGN_INPUT>`, and this phase's
|
|
`methodologyPath`. Keep this checkpoint for this invocation; review exports do not replace it.
|
|
|
|
{{SECTION:phase-close}}
|