Approve design
Record human approval of the design, success criteria, and review panel so implementation can begin.
- Read
.shepherd/2-design.md,.shepherd/3-success-criteria.md, and.shepherd/_panel.json; stop if any is missing. Approval covers all three. - Summarize the approach, success criteria, reviewers, final reviewers, limits, and panel reason in 3-5 lines.
- Copy the approved panel into
_state.json:python3 - <<'PY' import json from pathlib import Path state_path = Path(".shepherd/_state.json") panel = json.loads(Path(".shepherd/_panel.json").read_text()) for key in ("reviewers", "final_reviewers", "inner_iterations", "final_review_rounds"): if key not in panel: raise SystemExit(f"_panel.json missing required key: {key}") state = json.loads(state_path.read_text()) if state_path.exists() else {} state["panel"] = panel state["phase"] = "inner-loop" state["iteration"] = 1 state_path.write_text(json.dumps(state, indent=2, sort_keys=True) + "\n") PY - Write the marker:
mkdir -p .shepherd printf 'approved_at=%s\nbase_commit=%s\nnote=design approved by human via /shepherd-approve-design\n' \ "$(date -u +%Y-%m-%dT%H:%M:%SZ)" "$(git rev-parse HEAD 2>/dev/null || echo none)" \ > .shepherd/_design.approved - Confirm briefly, then invoke
/shepherdso it resumes into implementation.
Do not edit source here.