@yunhozz/arc 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/MANIFEST.sha256 +107 -88
  2. package/README.md +4 -6
  3. package/claude/agents/arc-implementer.md +32 -42
  4. package/claude/agents/arc-planner.md +33 -47
  5. package/claude/agents/arc-qa.md +28 -44
  6. package/claude/agents/arc-reviewer.md +28 -41
  7. package/claude/agents/arc-scouter.md +26 -38
  8. package/claude/skill/SKILL.md +41 -59
  9. package/claude/skill/references/arc-visual-companion.md +28 -0
  10. package/claude/skill/references/commit.md +38 -70
  11. package/claude/skill/references/coordination.md +77 -126
  12. package/claude/skill/references/git-recovery.md +17 -35
  13. package/claude/skill/references/handoff-prep.md +91 -103
  14. package/claude/skill/references/handoff.md +110 -208
  15. package/claude/skill/references/limits.md +19 -31
  16. package/claude/skill/references/planning.md +93 -244
  17. package/claude/skill/references/verification.md +105 -261
  18. package/claude/skill/references/visual-companion.md +293 -15
  19. package/claude/skill/runtime/adapters/claude.mjs +10 -9
  20. package/claude/skill/runtime/adapters/codex.mjs +7 -8
  21. package/claude/skill/runtime/bootstrap.mjs +3 -2
  22. package/claude/skill/runtime/capabilities.mjs +12 -0
  23. package/claude/skill/runtime/cooperative-schema.mjs +3 -2
  24. package/claude/skill/runtime/cooperative.mjs +52 -4
  25. package/claude/skill/runtime/evaluate.mjs +115 -2
  26. package/claude/skill/runtime/identity.mjs +22 -0
  27. package/claude/skill/runtime/role-policy.json +18 -18
  28. package/claude/skill/runtime/schema.mjs +19 -0
  29. package/claude/skill/scripts/model_config.py +3 -79
  30. package/codex/agents/arc-implementer.toml +34 -30
  31. package/codex/agents/arc-planner.toml +27 -23
  32. package/codex/agents/arc-qa.toml +24 -15
  33. package/codex/agents/arc-reviewer.toml +25 -16
  34. package/codex/agents/arc-scouter.toml +20 -26
  35. package/codex/skill/SKILL.md +42 -57
  36. package/codex/skill/references/arc-visual-companion.md +33 -0
  37. package/codex/skill/references/commit.md +35 -81
  38. package/codex/skill/references/coordination.md +76 -104
  39. package/codex/skill/references/git-recovery.md +29 -51
  40. package/codex/skill/references/handoff-prep.md +76 -134
  41. package/codex/skill/references/handoff-worktree.md +32 -66
  42. package/codex/skill/references/handoff.md +111 -271
  43. package/codex/skill/references/limits.md +21 -34
  44. package/codex/skill/references/planning.md +125 -299
  45. package/codex/skill/references/verification.md +90 -272
  46. package/codex/skill/references/visual-companion.md +290 -18
  47. package/codex/skill/runtime/adapters/claude.mjs +10 -9
  48. package/codex/skill/runtime/adapters/codex.mjs +7 -8
  49. package/codex/skill/runtime/bootstrap.mjs +3 -2
  50. package/codex/skill/runtime/capabilities.mjs +12 -0
  51. package/codex/skill/runtime/cooperative-schema.mjs +3 -2
  52. package/codex/skill/runtime/cooperative.mjs +52 -4
  53. package/codex/skill/runtime/evaluate.mjs +115 -2
  54. package/codex/skill/runtime/identity.mjs +22 -0
  55. package/codex/skill/runtime/role-policy.json +18 -18
  56. package/codex/skill/runtime/schema.mjs +19 -0
  57. package/lib/installer/global-config.mjs +1 -0
  58. package/lib/installer/install.mjs +5 -7
  59. package/lib/installer/manifest.mjs +23 -8
  60. package/lib/installer/package-references.mjs +10 -5
  61. package/lib/installer/plan.mjs +1 -4
  62. package/lib/installer/superpowers.mjs +26 -1
  63. package/lib/installer/transaction.mjs +3 -3
  64. package/lib/installer/uninstall.mjs +2 -2
  65. package/lib/installer/upgrade.mjs +2 -9
  66. package/lib/management/operations.mjs +6 -8
  67. package/lib/management/update.mjs +3 -3
  68. package/lib/models/profiles.mjs +1 -40
  69. package/lib/policy/render.mjs +1 -5
  70. package/lib/policy/role-policy.json +18 -18
  71. package/lib/release/artifact.mjs +6 -4
  72. package/lib/runtime/adapters/claude.mjs +10 -9
  73. package/lib/runtime/adapters/codex.mjs +7 -8
  74. package/lib/runtime/bootstrap.mjs +3 -2
  75. package/lib/runtime/capabilities.mjs +12 -0
  76. package/lib/runtime/cooperative-schema.mjs +3 -2
  77. package/lib/runtime/cooperative.mjs +52 -4
  78. package/lib/runtime/evaluate.mjs +115 -2
  79. package/lib/runtime/identity.mjs +22 -0
  80. package/lib/runtime/schema.mjs +19 -0
  81. package/lib/tui/app.mjs +12 -8
  82. package/lib/tui/setup.mjs +5 -8
  83. package/package.json +11 -2
  84. package/scripts/update-manifest.mjs +7 -9
  85. package/claude/skill/hooks/git-policy.json +0 -208
  86. package/claude/skill/hooks/role-git-guard.mjs +0 -18
  87. package/claude/skill/hooks/runtime-gate.mjs +0 -12
  88. package/claude/skill/references/superpowers/brainstorming/visual-companion.md +0 -299
  89. package/codex/skill/hooks/runtime-gate.mjs +0 -10
  90. package/codex/skill/references/superpowers/brainstorming/visual-companion.md +0 -299
  91. package/lib/policy/claude-hook.mjs +0 -80
  92. package/scripts/probe-runtime-hooks.mjs +0 -55
  93. package/scripts/update-superpowers-local.sh +0 -4
  94. /package/claude/skill/references/{superpowers/brainstorming/SKILL.md → brainstorming.md} +0 -0
  95. /package/claude/skill/references/{superpowers/brainstorming/builder-check-prompt.md → builder-check-prompt.md} +0 -0
  96. /package/claude/skill/references/{superpowers/brainstorming/scripts → scripts}/frame-template.html +0 -0
  97. /package/claude/skill/references/{superpowers/brainstorming/scripts → scripts}/helper.js +0 -0
  98. /package/claude/skill/references/{superpowers/brainstorming/scripts → scripts}/server.cjs +0 -0
  99. /package/claude/skill/references/{superpowers/brainstorming/scripts → scripts}/start-server.sh +0 -0
  100. /package/claude/skill/references/{superpowers/brainstorming/scripts → scripts}/stop-server.sh +0 -0
  101. /package/claude/skill/references/{superpowers/LICENSE → superpowers-LICENSE} +0 -0
  102. /package/claude/skill/references/{superpowers/provenance.json → superpowers-provenance.json} +0 -0
  103. /package/claude/skill/references/{superpowers/test-driven-development/SKILL.md → test-driven-development.md} +0 -0
  104. /package/claude/skill/references/{superpowers/test-driven-development/writing-good-tests.md → writing-good-tests.md} +0 -0
  105. /package/claude/skill/references/{superpowers/writing-plans/SKILL.md → writing-plans.md} +0 -0
  106. /package/codex/skill/references/{superpowers/brainstorming/SKILL.md → brainstorming.md} +0 -0
  107. /package/codex/skill/references/{superpowers/brainstorming/builder-check-prompt.md → builder-check-prompt.md} +0 -0
  108. /package/codex/skill/references/{superpowers/brainstorming/scripts → scripts}/frame-template.html +0 -0
  109. /package/codex/skill/references/{superpowers/brainstorming/scripts → scripts}/helper.js +0 -0
  110. /package/codex/skill/references/{superpowers/brainstorming/scripts → scripts}/server.cjs +0 -0
  111. /package/codex/skill/references/{superpowers/brainstorming/scripts → scripts}/start-server.sh +0 -0
  112. /package/codex/skill/references/{superpowers/brainstorming/scripts → scripts}/stop-server.sh +0 -0
  113. /package/codex/skill/references/{superpowers/LICENSE → superpowers-LICENSE} +0 -0
  114. /package/codex/skill/references/{superpowers/provenance.json → superpowers-provenance.json} +0 -0
  115. /package/codex/skill/references/{superpowers/test-driven-development/SKILL.md → test-driven-development.md} +0 -0
  116. /package/codex/skill/references/{superpowers/test-driven-development/writing-good-tests.md → writing-good-tests.md} +0 -0
  117. /package/codex/skill/references/{superpowers/writing-plans/SKILL.md → writing-plans.md} +0 -0
@@ -1,308 +1,157 @@
1
+ <a id="planning-and-approval"></a>
1
2
  # Planning and approval
2
3
 
4
+ <a id="authorization-and-scope"></a>
3
5
  ## Authorization and scope
4
6
 
5
- An explicit execution request authorizes only its sufficiently specified scope. Confirm execution intent,
6
- expected outcome, constraints, document depth, and verification risk, with no unresolved material behavior, method,
7
- or risk decision requiring the user. That scope must come from the request or a description the user explicitly references. Record authorization evidence, scope, acceptance criteria, constraints, and depth in the brief or
8
- canonical record. Orchestrator may record routine execution and check choices; added product behavior or material scope is not already approved. Restating or handing off the same scope, or restarting, requires no new approval.
7
+ An explicit execution request authorizes only sufficiently specified scope from that request or a description the user explicitly references. Confirm intent/outcome/constraints/document depth/verification risk and no unresolved material behavior/method/risk decision. Record approval evidence, scope, criteria, constraints and depth. Orchestrator may choose routine execution/check details, not unapproved product behavior/material scope. Restating/handoff/restart of unchanged scope needs no new approval.
9
8
 
10
- Silence, ambiguous assent, approval of other work, and unspecified blanket improvement requests are not authorization.
11
- Planner's new material choices are not automatically approved. Ask for the missing material decision; roles route
12
- questions to Orchestrator. Required written specs and plans still require their individual approval in the order below.
9
+ Silence, ambiguous assent, other-work approval and vague blanket improvements are insufficient. Planner's new material choices are not automatically approved. Request missing decisions through Orchestrator. Required specs/plans retain separate ordered approval.
13
10
 
14
- Material scope, method, or risk changes hold affected work; explain the missing decision or evidence and remaining work. Target changes, unclear ownership, unexpected state, unresolved failures, or missing required inputs
15
- also hold affected work under [handoff](handoff.md) and [git-recovery](git-recovery.md). Distinguish new authorization
16
- needs from execution issues within existing scope: ordinary corrections and reverification do not require duplicate
17
- approval after failure. Revalidate affected gates after resolution.
11
+ Material scope/method/risk changes hold affected work with missing decision/evidence/remaining scope reported. Target change, unclear ownership, unexpected state, unresolved failure or missing inputs also hold under [handoff](handoff.md)/[recovery](git-recovery.md). Distinguish new authorization from existing-scope execution issues; routine correction/reverification needs no duplicate approval. Revalidate after resolution.
18
12
 
13
+ <a id="probe-scope"></a>
19
14
  ### Probe scope
20
15
 
21
- A probe-only scope completes by answering the approved question with findings, evidence, limits, and remaining uncertainty; well-supported infeasibility can complete it. Probe-only authorization does not authorize product retention
22
- or subsequent implementation. Record question, method/scope, criteria, and constraints; a sufficiently specific probe
23
- request can supply that approval. Match checks to probe purpose/risk and do not report probe evidence as product proof.
16
+ Probe-only work ends with approved-question findings/evidence/limits/uncertainty, including well-supported infeasibility. It authorizes neither product retention nor subsequent implementation. Record question/method/scope/criteria/constraints; a specific request may approve them. Match checks to purpose/risk, not product-proof claims.
24
17
 
25
- If the user explicitly requests both a probe and implementation and the whole scope is sufficiently specified, classify
26
- the entire scope. When the entire scope meets the Bounded path criteria in Design path and plan depth, the probe is an
27
- internal investigation with no new approval boundary at its report. Unknown implementation is not blanket authorization:
28
- hold affected implementation if findings materially change scope, method, or risk, or leave a new material decision.
29
- Reassess depth and obtain any required design/spec/plan approvals before that implementation. A probe-only request
30
- remains separate.
18
+ If explicitly requested probe+implementation is fully specified, classify the whole scope. Under Bounded conditions, probing is internal with no new report-time approval boundary. Unknown implementation is not blanket authorization. Materially changed scope/method/risk or new decisions hold implementation for reassessment and required design/spec/plan approvals. Probe-only remains separate.
31
19
 
20
+ <a id="formal-drafting-boundary"></a>
32
21
  ## Formal drafting boundary
33
22
 
34
- Initial design proposals and brainstorming may precede execution-target choice. Formal spec or plan drafting includes a complete draft before saving, even when returned only in chat. Before formal drafting and saving, Orchestrator supplies
35
- and records the actual absolute workspace/repository, branch or detached HEAD, HEAD, changes and ownership,
36
- explicit choice and preparation evidence, and absolute document paths inside that target. Planner drafts for that
37
- verified workspace; Orchestrator saves directly in the selected target. Missing or mismatched evidence stops the
38
- affected drafting or save and is reported to Orchestrator. Planned scope and paths do not prove actual preparation.
39
- Initial target preparation does not authorize Implementer; the complete handoff gate still applies.
23
+ Initial design/brainstorming may precede target choice. Formal spec/plan includes complete pre-save drafts returned only in chat. Before that, Orchestrator records actual absolute workspace/repository, branch/detached HEAD/HEAD, changes/ownership, explicit choice/preparation and in-target absolute document paths. Planner drafts for verified target; Orchestrator saves there. Missing/mismatched evidence stops affected drafting/saving. Planned paths prove no actual preparation. Initial preparation never starts Implementer without full handoff.
40
24
 
41
- Orchestrator classifies scope before implementation. The Orchestrator direct path for small tasks is defined only in
42
- [handoff](handoff.md#orchestrator-direct-path-for-small-tasks); follow it there and stop and reclassify if scope or risk changes.
43
- Everything else follows this reference. Brainstorming and writing-plans are instructions for existing roles,
44
- not extra agents; ARC routing and approval gates apply even if a skill names another executor.
45
- Report a missing required skill before its stage; it blocks that stage. Integrate means save, route, and obtain approval; never author.
46
- Significant risk is defined in [verification](verification.md#risk-scaled-execution).
47
-
48
- When the request or brief is in Korean, Planner writes spec and plan titles and prose in Korean unless the user asks
49
- otherwise, preserving identifiers, skill/API names, code, paths, commands, and literal values.
50
- Orchestrator preserves that language when saving.
25
+ Small-task direct edits follow only [handoff](handoff.md#orchestrator-direct-path-for-small-tasks), stopping/reclassifying changed scope/risk. Otherwise follow this reference. `brainstorming`/`writing-plans` instruct existing roles, not extra agents; ARC routing/approval overrides alternate executors. Missing required skills block their stage. Integration means save/route/request approval, never author.
51
26
 
27
+ For Korean requests/briefs, Planner uses Korean titles/prose unless another language is requested, preserving identifiers, skill/API names, code, paths, commands and literals. Orchestrator preserves agreed language when saving.
52
28
 
29
+ <a id="planner-drafting-preparation-and-consolidated-feedback"></a>
53
30
  ## Planner drafting preparation and consolidated feedback
54
31
 
55
- 1. Before formal drafting, Orchestrator performs a preflight of relevant policy, reference, profile, test, parity
56
- and manifest surfaces and conflicts. Apply the Formal drafting boundary above and coordination's instruction
57
- provenance, input-state and local-skill rules, including required reference paths, authorized bounded read
58
- alternatives and return conditions. Missing required inputs or unresolved conflicts hold dependent drafting;
59
- Planner returns them to Orchestrator. Optional read recovery grants no preparation, verification, writing or
60
- approval authority.
61
-
62
- 2. Maintain a compact ledger of original requirements/criteria IDs, approved and open decisions, exclusions and
63
- scope deltas; merge intervening user changes into one next-brief delta. Distinguish user-approved decisions,
64
- verified source facts with exact paths and lines, assumptions and open decisions.
65
-
66
- 3. Send one complete brief for the initial call of each stage, using coordination's shared fields and evidence-link
67
- rules. Include the prepared workspace, branch or detached HEAD, HEAD and ownership; scope, exclusions, depth,
68
- dependencies, shared contracts, acceptance criteria, required QA/focused checks, evidence and holds. Identify
69
- preceding approved versions, document/output paths, current behavior and connected source, generated, runtime,
70
- installer and documentation surfaces, policy conflicts and resolution direction, open decisions and the exact
71
- stage deliverable. For visual work, include approved sources/versions, criteria and unresolved interpretations.
72
-
73
- 4. Planner returns a complete proportional draft and self-review. Orchestrator integrates, saves, reviews and
74
- obtains approval; never authors missing content. Review the complete draft once with this fixed checklist:
75
- scope and evidence; targets, ownership and paths; policy surfaces and conflicts; task boundaries, dependencies
76
- and acceptance criteria; checks, evidence and holds; roles, approval and commit boundaries; draft completeness.
77
- Finish the checklist before sending all substantive omissions in one consolidated follow-up request.
78
- Identify each criterion, defect, evidence and expected correction. Follow coordination's changed-fields-only
79
- and `unchanged` rules. Do not split requests by omission.
80
-
81
- 5. After that correction, additional Planner calls require user-approved material scope/evidence changes or
82
- concrete unmet checklist items, plus meaningful new input or criterion-state progress. Identify changed input,
83
- target criterion, expected artifact and expected progress. Distinguish approved scope changes from ordinary
84
- omissions within existing scope; omissions require no renewed scope approval. If the same criterion remains
85
- unmet without meaningful new input, evidence or progress, hold the stage and report the criterion, observed
86
- evidence and exact unblock input or decision. Do not repeat resolved questions, reword the same request, or
87
- count rewording or agent replacement as meaningful input or progress.
88
-
89
- Initial design, required spec approval, and formal plan drafting/approval remain separate ordered stages;
90
- written-spec approval precedes dependent plan drafting. No fixed call cap applies; never accept an incomplete draft
91
- to reduce calls or add call-count conditions to Planner profiles.
32
+ Planner reports initial/revision progress only to Orchestrator: brief stage/feedback/blocker/next step, never body/excerpts/incremental drafts. Return complete draft/self-review. Raw responses may appear in app/tool surfaces; prompt policy cannot hide them. User updates stay brief/status-based without draft content. At approval present integrated/saved/reviewed Markdown without repeating its body in chat.
33
+
34
+ 1. Preflight relevant policy/references/profiles/tests/parity/manifest/conflicts. Apply formal-target and coordination provenance/input/local-skill gates, including required paths, approved bounded read alternatives and return conditions. Missing inputs/conflicts hold drafting. Read recovery grants no preparation/check/write/approval authority.
35
+ 2. Maintain a compact ledger of original requirements/IDs, approved/open decisions, exclusions and scope deltas. Consolidate intervening user changes into one brief delta. Separate approvals, path/line-verified facts, assumptions and open decisions.
36
+ 3. Send one complete stage-specific initial brief: prepared target/HEAD/ownership, scope/exclusions/depth/dependencies/shared contracts/criteria/checks/evidence/holds; preceding approved versions, paths, current behavior and connected source/generated/runtime/installer/docs, policy conflicts/resolution direction and exact deliverable. Visual work includes approved sources/versions/criteria/open interpretations.
37
+ 4. Planner returns complete proportional draft/self-review; Orchestrator integrates/saves/reviews/requests approval without authoring missing content. Review once with the fixed checklist: scope/evidence; targets/ownership/paths; policy/conflicts; task boundaries/dependencies/criteria; checks/evidence/holds; roles/approval/commit boundaries; completeness. Finish before one consolidated correction covering every substantive omission with criterion/defect/evidence/expected fix. Use deltas/`unchanged`; never split by omission.
38
+ 5. Further calls after correction need approved material scope/evidence changes or concrete unmet checklist items plus meaningful new input/criterion progress. State changed input/target criterion/expected artifact/progress. Existing-scope omissions need no renewed scope approval. Repeated unmet criteria without new input/evidence/progress hold the stage; report criterion/observation/exact unblock decision. Do not repeat resolved questions or count rewording/agent replacement as progress.
92
39
 
40
+ Allow initial draft and one consolidated correction. Reformatting/re-expression/save/patch errors belong to Orchestrator, not Planner calls. Separate substantive work uses normal gates. Design/spec/plan stages remain separately ordered; spec approval precedes dependent planning. Add no fixed call cap/profile count condition or incomplete-draft acceptance.
41
+
42
+ <a id="design-and-planning"></a>
43
+ <a id="design-path-and-plan-depth"></a>
93
44
  ## Design path and plan depth
94
45
 
95
- Record design and plan depth separately from verification risk. Risk determines checks and review, not the design path;
96
- a bounded path or document omission does not imply low risk, and architectural depth adds no QA/Reviewer at every stage.
97
-
98
- 1. Before feature, design, or behavior changes, Orchestrator assigns Planner the local `brainstorming` skill with
99
- the brief and evidence. Planner returns the path (Spike, Bounded, or Architectural), design/options, trade-offs,
100
- acceptance criteria, assumptions, and focused questions. Orchestrator integrates, announces scope, routes
101
- answers/revisions, and obtains approvals; Orchestrator never runs brainstorming or writing-plans itself (SKILL.md
102
- Role gate); the direct path uses only a scope record.
103
- 2. Spike: apply Probe scope above; distinguish probe-only authorization from a sufficiently specified combined scope.
104
- Bounded: approve a short design before Implementer or an Orchestrator direct edit (Planner's design before
105
- Implementer; a direct edit uses only an approved scope record). Architectural: approve the design, then Planner returns a
106
- complete spec draft and self-review; Orchestrator integrates, saves (user's path or
107
- `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`), self-reviews, and obtains written-spec approval before
108
- implementation planning. Planner is read-only and cannot request approval.
109
- 3. After approved design/spec and before Implementer, Orchestrator assesses plan depth separately from file count, LOC,
110
- or bounded scope. Architectural work always uses `writing-plans` and a written plan approval, regardless of locality,
111
- risk, or size. For Bounded work skip the plan only for one local change with no dependent stages, cross-component
112
- shared state, lifecycle or integration-order concerns, and one focused verification path; otherwise require a draft.
113
- A "bounded" or "no plan" label does not bypass this judgment. "Orchestrator's recorded plan-depth judgment" means
114
- this assessment, including any Bounded written spec requirement, recorded in the brief.
115
- 4. Record dependencies and any plan-depth rationale in the brief. Planner returns the complete proportional plan,
116
- assumptions/open decisions, verification requirements, and self-review. Orchestrator integrates, saves to the user's
117
- path or `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`, self-reviews, and obtains plan approval before Implementer.
118
- Planner cannot save, implement, or request approval.
119
- 5. Every Implementer first start and restart requires all applicable approvals and the Common handoff gate (SKILL.md,
120
- handoff). Non-behavior configuration/documentation may skip inapplicable design/planning stages but not the gate.
121
-
122
- When Orchestrator's recorded plan-depth judgment requires a Bounded written spec, record that and its scope,
123
- use the approved short design as its basis, and have Planner return a proportional complete draft and self-review;
124
- Orchestrator integrates, saves, self-reviews, and obtains individual written-spec approval before dependent plan
125
- drafting. This applies that judgment, not a new spec rule. A required plan alone does not require a spec.
126
-
127
- Design, spec, plan, and brainstorming drafts are authored only by Planner.
128
- Orchestrator must not substitute its own spec for Planner's complete draft; return substantive omissions to Planner;
129
- if Planner fails or is unavailable, stop and report, never draft instead. Design approval does not transfer ownership.
46
+ Record depth separately from risk. Risk controls checks/review, not design paths/plan approval. Bounded/omission is not low risk; Architectural adds no QA/Reviewer at every stage. Apply risk rules and specific obligations.
47
+
48
+ 1. Before feature/design/behavior work, assign brief/evidence/local `brainstorming` to Planner. Planner proposes context/path/options/tradeoffs/criteria/assumptions/questions; Orchestrator selects path, integrates, announces scope, routes revisions and obtains approval. Never run drafting skills itself. Direct path uses scope record only.
49
+ 2. Spike distinguishes probe-only from specific combined scope. Bounded approves short design before Implementer; direct edits use approved scope record. Architectural approves design, then complete Planner spec/self-review, Orchestrator save/review and written-spec approval before planning. Planner is read-only and requests no approval.
50
+ 3. Assess plan depth after design/spec approval and before Implementer, separately from files/LOC/Bounded label. Architectural always uses `writing-plans` and written-plan approval regardless of size/locality/risk. Bounded skips only for one local change, no dependent stages/cross-component shared state/lifecycle/integration-order concerns and one verification path. Otherwise require a plan. Labels/no-plan requests do not bypass judgment, which also records Bounded spec necessity.
51
+ 4. Record dependencies/depth reasons. Planner returns complete plan/assumptions/open decisions/checks/self-review. Orchestrator saves/reviews/obtains approval before Implementer at user path or `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`. Default spec path is `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`.
52
+ 5. Every Implementer first start/restart needs applicable approvals/artifacts/brief/findings and full handoff. Non-behavior docs/config omit only inapplicable stages. Direct edits need approved scope record and same first-edit gates.
130
53
 
54
+ If Bounded requires written spec, record necessity/scope using approved short design as basis. Planner returns proportional full spec/self-review; Orchestrator saves/reviews/obtains individual approval before dependent plan/preparation. Short design approval never substitutes. This applies recorded judgment, not new spec necessity. Required plans alone imply no written spec.
55
+
56
+ Only Planner drafts. Never substitute Orchestrator-authored specs/plans. Return substantive omissions; unavailable/failed Planner stops work rather than transferring authorship. Design approval does not transfer ownership.
57
+
58
+ <a id="top-level-plan-tasks"></a>
131
59
  ## Top-level plan tasks
132
60
 
133
- For each top-level task Planner specifies ID and title, goal/scope and target files, preceding tasks,
134
- acceptance criteria, required QA/focused checks and evidence before acceptance, and hold conditions.
135
- Each task must be independently implementable, verifiable, and acceptable; changes that cannot be verified independently
136
- (policy, profile, tests, manifest sharing one contract) belong in one task. Never merge approved tasks into one commit
137
- during execution; if inseparability appears, stop and have Orchestrator revise scope and approvals.
61
+ Apply Planner rules: ID/title, goal/scope/files, predecessors/dependencies, criteria, required pre-acceptance QA/checks/evidence and holds. Tasks must be independently implementable/verifiable/acceptable. Inseparable policy/profile/tests/manifest contracts start in one task. If inseparability appears later, stop for revised scope/planning/approvals; never merge distinct approved tasks during execution.
138
62
 
139
- Substeps and checkboxes are progress, not commit units: one approved top-level task is one focused commit after
140
- Orchestrator acceptance. Never list Reviewer as a per-task check. State final plan QA/integration verification
141
- separately with scope and timing; for significant work it lists the single independent Reviewer of the final full change
142
- after all tasks are accepted. Task boundaries add no QA gates; keep risk requirements, risky-dependency QA,
143
- and approved obligations. No-change, hold, and resume follow [commit](commit.md).
63
+ Substeps/checkboxes/RED-GREEN/commands are not commits. One top-level task becomes one focused commit after acceptance; [commit](commit.md) governs no-change/hold/resume. Reviewer is never a per-task check. Final whole verification has separate scope/timing; significant work lists one Reviewer after all task acceptances/risk checks. Task boundaries alone add no QA. Apply only to required plans; omission paths gain no plan obligation.
144
64
 
65
+ <a id="dependency-and-readiness-record"></a>
145
66
  ## Dependency and readiness record
146
67
 
147
- After plan approval and before the first Implementer assignment, Orchestrator records all top-level task IDs in the
148
- accessible canonical handoff record, linked to the approved plan version. For each task record explicit and implicit
149
- predecessors, required inputs, outputs and shared contracts, owned files, conflicting shared resources, required
150
- checks/QA path, ready/held status and reasons. Record the initial ready batch and capacity/serialization reasons.
151
- Analyze shared APIs, contracts, generated artifacts and resources even when tasks edit different files. Unresolved
152
- shared contracts or insufficient dependency information block the affected tasks; same-file concurrent Implementer edits
153
- are blocked even for different lines. Do not infer independence from file separation or plan listing order.
154
-
155
- A task is ready only when all applicable approvals and execution preparation are complete, required inputs/contracts
156
- are available and settled, predecessors have required evidence and Orchestrator acceptance plus verified focused
157
- commits (or accepted no-change records), ownership/resources do not conflict, its required check/QA path is available,
158
- and a subagent slot exists under both the configured ARC full-tree cap shared by all roles and any lower actual runtime
159
- limit (see [limits](limits.md)). Report runtime limits; ARC's cap is not a claim of runtime capability. Start all ready
160
- independent tasks with fresh Implementers concurrently within capacity; record each hold or serialization reason instead of
161
- silently following list order. Preserve existing risk gates, risk-scaled QA/Reviewer timing and execution-target
162
- restrictions.
163
-
164
- Update the map on completion, check evidence, acceptance, commit, slot return and new conflicts. Completion reports
165
- alone do not release dependents. Reevaluate newly ready tasks immediately without waiting for unrelated batch members;
166
- failed or ambiguous predecessors hold their dependent chain, while unaffected ready tasks may proceed. Dispatch still
167
- passes [handoff](handoff.md) for each task, refreshing assignment evidence there; commits, shared-checkout Git
168
- coordination and shared Git mutations follow [commit](commit.md). This record does not authorize
169
- Orchestrator to rewrite Planner's approved task boundaries or waive approvals.
170
-
171
- For example, with A → B → C and independent D and two slots, start A and D. After A's required checks,
172
- Orchestrator acceptance and verified commit, start B while D continues if capacity and gates allow.
173
- If A fails, hold B and C; D may continue if unaffected.
68
+ After approval and before first assignment, canonically link every task ID to plan version. Record explicit/implicit predecessors, inputs/outputs/shared contracts, files/conflicting resources, check/QA paths, ready/held/reasons, initial ready batch and capacity/serialization reasons. Analyze shared APIs/contracts/generated artifacts/resources even across files. Unsettled contracts/incomplete dependencies block affected tasks; same-file concurrent Implementers are forbidden even on different lines. File separation/list order proves no independence.
174
69
 
175
- ## Document-save evidence gates
70
+ Ready requires approvals/preparation, settled inputs/contracts, predecessor checks/Orchestrator acceptance/verified commits or accepted no-change, nonconflicting ownership/resources, available checks/QA and slots under both full-tree ARC and lower actual runtime limits. Read [limits](limits.md); report runtime constraints without claiming capability. Start ready independent tasks concurrently with fresh Implementers within capacity. Record holds/serialization rather than silently following order. Preserve risk/QA/Reviewer/target gates.
176
71
 
177
- Before the first Architectural spec save, first required Bounded spec save, or first plan save, read this reference and
178
- record accessible evidence in the brief or handoff record. Saving creates a reviewable file and does not require
179
- written-spec approval; it requires valid execution-target choice and actual preparation; it is not approval or a commit, and an uncommitted file is never
180
- described as committed.
72
+ Update on reports/checks/acceptance/commit/slot return/conflicts. Completion alone releases no dependent. Immediately reassess newly ready tasks without waiting for unrelated batches. Failed/uncertain predecessors hold only their chains. Refresh handoff each dispatch; shared Git follows commit rules. This map cannot rewrite approved boundaries or waive approval.
181
73
 
182
- **Spec save:** verify the approved design scope and approval evidence, Planner's complete spec draft and self-review,
183
- Orchestrator's integration/save/review responsibility, and the absolute save path.
184
- For a Bounded spec also verify the depth judgment, approved short design, and necessity rationale.
185
- Saving or approving the short design does not replace the spec's drafting, self-review, or individual approval.
74
+ Example: with A → B → C, independent D and two slots, start A/D. After A's checks/acceptance/verified commit, B may start while D continues. A failure holds B/C, not unaffected D.
186
75
 
187
- **Plan save:** verify the approved design and, when required, the approved spec version, Orchestrator's plan-depth
188
- judgment, plan list and dependencies, Planner's complete draft and self-review, Orchestrator's responsibility,
189
- and the absolute save path.
76
+ <a id="document-save-evidence-gates"></a>
77
+ ## Document-save evidence gates
190
78
 
191
- Missing or mismatched evidence stops the affected save; report to Orchestrator.
79
+ Before first Architectural spec, required Bounded spec or plan save, read this and record accessible brief/canonical evidence. Saving creates reviewable files, not approval/commits.
192
80
 
193
- ## Complete planning-document set
81
+ | Save | Required evidence |
82
+ |---|---|
83
+ | Spec | Approved design scope/evidence, complete Planner draft/self-review, Orchestrator integration/save/review ownership and absolute path. Required Bounded specs also need depth judgment, short design, necessity/scope |
84
+ | Plan | Approved design and required approved spec/version/evidence, depth judgment, plan list/dependencies, complete Planner draft/self-review, ownership and absolute path |
194
85
 
195
- The applicable set means all specs and plans required for the current approved execution scope.
196
- Record scope, depth, absolute paths and coverage, approved versions, dependencies and order, skipped stages with
197
- rationale, and documents awaiting writing or approval. The set is complete only when every required document is written
198
- and individually approved and no unresolved decision needs another document.
86
+ Saving for review does not require prior written-spec approval, but does require valid target choice/actual preparation. Individually approved specs enter the document set before dependent planning. Never call uncommitted files committed. Missing/mismatched evidence stops the affected save.
199
87
 
200
- A required plan does not itself require a written spec. Bounded uses Orchestrator's recorded plan-depth judgment;
201
- spec steps apply only to Architectural and required Bounded specs. Preserve existing document omission rationales.
88
+ <a id="complete-planning-document-set"></a>
89
+ ## Complete planning-document set
202
90
 
203
- Claude v1 uses the current checkout or an approved task branch there; managed worktrees remain unsupported.
91
+ Include all current-scope required specs/plans, excluding future projects. Record scope/depth/absolute paths/coverage/versions/status/dependencies/order/omissions/reasons/pending drafting and approvals. Complete means every required document written/individually approved and no unresolved decision requiring another document. Omit no required artifact.
204
92
 
205
- Normal order: initial design approval → execution-target choice → target preparation and verification →
206
- formal spec drafting (when required), saving and self-review → written-spec approval → formal plan drafting
207
- (when required), saving and self-review → individual plan approvals → complete applicable set → existing-commit
208
- verification and one batch docs commit of remaining approved documents → final Git verification → Implementer handoff.
209
- Written-spec approval precedes dependent plan drafting. On document-omission paths skip only the inapplicable document
210
- steps; preserve target choice, preparation, state/ownership checks and Implementer gates.
93
+ A required plan implies no spec. Bounded follows recorded judgment; spec stages cover Architectural/required Bounded only, plan stages required plans only. Add no spec duty to Spike/plan-skip/non-behavior paths.
211
94
 
212
- While documents are being written, reviewed, or approved, do not stage documents or commit planning documents.
213
- Select and initially prepare the target before formal drafting. Document completion gates staging/commit, not initial preparation. An incomplete set or missing applicable approval blocks document commit and Implementer, but not the initial choice request. No early Implementer work is authorized by approval of only some documents.
95
+ Order: initial design approval → explicit target → actual preparation/verification → required spec drafting/save/self-review/individual approval → required plans drafting/save/review/individual approval → full set → verify existing commits/batch remaining approvals → final Git → Implementer. Omission skips only inapplicable documents with rationale. Complete documents precede staging/commit/handoff, not initial preparation/choice request. Partial approvals authorize no early implementation.
214
96
 
215
- This ARC defers the local brainstorming early spec commit: save and self-review the spec, obtain written-spec
216
- approval without committing, then write and approve all plans; commit the spec only in the final batch.
217
- `writing-plans` commit steps do not permit document commits during planning or start Implementer.
218
- Do not modify external skills.
97
+ Defer local `brainstorming`'s early spec commit: save/self-review/approve uncommitted spec, approve all plans, then final batch. Modify no external skill. `writing-plans` implementation commits grant neither planning-document commits nor early Implementer.
219
98
 
220
- | Path | Approvals and preparation |
99
+ | Path | Approval/preparation |
221
100
  |---|---|
222
- | Spike probe | Approve question, method/scope, criteria, constraints; no spec/plan forced. If Implementer runs the probe, pass the Common handoff gate after approval. Read-only investigation needs no gate. |
223
- | Bounded, plan skipped | Approve the short design and record plan-skip criteria; select target, prepare any documents or record absence, pass the gate. |
224
- | Bounded, plan required | Approve short design and every required plan; a spec only when the depth judgment requires it, approved before dependent plans. One preparation batch, then the gate. |
225
- | Architectural | Approve design, then spec, then every plan; select and prepare the target before formal drafting; complete the set before batch commit, final verification, and the gate. |
226
- | Non-behavior documentation/configuration | Record scope, criteria, and why design/planning is inapplicable; still select the target, verify Git state, prepare documents or record absence, pass the gate. |
227
-
228
- Apply Authorization and scope above to probe-only and combined requests; preserve required design/spec/plan gates.
229
- These gates add no new spec obligation for Spike, Bounded plan-skip, or non-behavior documentation/configuration paths.
230
- Document omission skips only document obligations, never target choice, Git/ownership checks,
231
- or handoff evidence. New scope found in planning requires reassessing the list and additional approvals before dependent drafting or commit; revised approved document bodies need renewed approval except mechanical execution records defined below. New scope found during implementation stops dependent
232
- execution (a running Implementer stops before edits dependent on new plans) until its documents, approvals,
233
- and preparation are complete. Then reflect the approved plan version in its original planning-document commit under the update contract below; never retroactively authorize work before actual approval.
101
+ | Spike | Approve question/method/scope/criteria/constraints; no forced unknown-implementation docs. Implementer probes require handoff; read-only Orchestrator/Planner probes without Implementer do not trigger it |
102
+ | Bounded, plan skipped | Approve short design; record omission conditions. Complete approvals, target choice, actual docs or valid absence, then handoff |
103
+ | Bounded, plan required | Approve design/all required plans; approve necessary specs before dependent planning. Prepare target before drafting, complete set before batch/handoff |
104
+ | Architectural | Design → written spec → all `writing-plans` plans. Target before drafting; full set before batch/final checks/handoff |
105
+ | Non-behavior docs/config | Record scope/criteria/inapplicability. Preserve target/Git/docs-or-absence/handoff |
106
+
107
+ New planning scope requires list/depth/dependency reassessment and approvals before dependent drafting/commit. Approved-body changes need revised approval except mechanical records below. New implementation scope holds execution until docs/approvals/preparation complete. Running Implementer stops before newly dependent edits; inspect actual changes/Git without retrospective preparation claims. Reflect approved versions through original-commit updates below. Unchanged-document restarts follow handoff lifetime.
234
108
 
109
+ <a id="plan-updates-during-execution"></a>
235
110
  ## Plan updates during execution
236
111
 
237
- Mechanical execution records may be recorded without new user approval: checkbox completion, actual results, evidence
238
- links and task completion state that preserve the approved execution contract. Record their classification, reason and actual recording time in the canonical handoff record. Required checks' removal, invented success, unsupported acceptance
239
- or scope changes mixed with a completion mark are not mechanical records.
112
+ Mechanical checkboxes/results/evidence/completion preserving the approved contract need no new approval; record classification/reason/actual time. Removing checks, invented success, unsupported acceptance or mixed scope changes are not mechanical.
240
113
 
241
- Changes to goals, task scope or boundaries, acceptance criteria, method, risk, dependencies or required verification
242
- require revised-version approval before affected work. Hold affected execution, obtain necessary design/spec/plan approvals
243
- in order, and complete target, ownership, checks and handoff preparation before resuming. Other approved body corrections
244
- follow the document-version approval rules; classify typos, paths, commands and explanations by their semantic effect.
114
+ Goal/task boundary/scope/criteria/method/risk/dependency/check changes require revised approval before affected work. Hold, obtain ordered design/spec/plan approvals and prepare target/ownership/checks/handoff. Other body corrections follow version approval; classify typos/paths/commands/explanations by semantic effect.
245
115
 
246
- Both mechanical records and approved contract revisions amend the original planning-document commit at a safe checkpoint.
247
- Make no separate document commit or fixup commit, including for newly approved scope. Preserve implementation task commits.
248
- This history update does not backdate approval: the latest plan in the original commit does not prove its contents were approved from the outset. Never use rewritten history to justify work started before approval.
116
+ Both kinds amend the original planning commit at safe boundaries, never separate docs/fixup commits, including new scope. Preserve implementation commits. Rewriting does not backdate approval; latest content in an old commit proves no earlier authorization.
249
117
 
250
- In the canonical handoff record preserve plan absolute/Git paths; before and after content hashes and versions; prior and
251
- revised approval references and actual times; change reason and classification; affected tasks and hold/preparation/resume
252
- evidence. For mechanical records explain why no new approval is needed and record the time. Preserve recoverable document
253
- contents, not hashes alone, and each old-to-new SHA mapping for the original document commit and descendant task commits.
254
- Do not overwrite earlier approval references or the contents they approved.
118
+ Preserve absolute/Git plan paths, old/new hashes/versions, prior/revised approval refs/actual times, reason/classification, affected tasks and hold/preparation/resume evidence. Mechanical records state why no approval/time. Keep recoverable contents, not hashes only, and old→new mappings for original/descendant commits. Never overwrite old approvals/content.
255
119
 
256
- Orchestrator alone performs the safe rewrite in [handoff-prep](handoff-prep.md#execution-time-plan-amendment) and
257
- [commit](commit.md#execution-time-plan-document-updates). Shared/published or unknown history, merges, unclear ownership,
258
- unexpected HEAD/dirty state and replay conflicts stop affected work. No force push or fallback document commit.
259
- After rewriting, connect evidence to the new state under [verification](verification.md#evidence-after-plan-history-rewrite).
260
- This contract adds no Git automation, runtime enforcement, authority or exemption from required checks/QA/Reviewer gates.
120
+ Orchestrator alone rewrites under [preparation](handoff-prep.md#execution-time-plan-amendment)/[commit](commit.md#execution-time-plan-document-updates). Shared/published/unknown history, merges, unclear ownership, unexpected HEAD/dirty state/replay conflicts stop work. No force push/fallback docs commit. Reconnect evidence under [verification](verification.md#evidence-after-plan-history-rewrite). Add no Git automation/runtime enforcement/authority/check exemptions.
261
121
 
122
+ <a id="evidence-refresh-and-limits"></a>
262
123
  ## Evidence refresh and limits
263
124
 
264
- Missing or mismatched evidence, unfinished approvals, unclear ownership, or unresolved failure blocks the affected save,
265
- target request, Git mutation, or Implementer handoff; Orchestrator resolves it and reverifies.
266
- Reverify when scope, approved versions, paths, target, or Git state changes. Never treat an early save or commit as
267
- satisfying a gate or as approval; record the actual order and gaps. Structural checks prove only the written policy,
268
- not agent runtime compliance; without execution records for role returns, approvals, saves, and Git actions,
269
- leave runtime compliance unverified. Administrative status updates must accurately describe actual progress.
270
- Return scope changes and unresolved decisions to the user through Orchestrator.
125
+ Missing/mismatched evidence, unfinished approvals, unclear ownership or unresolved failures block affected save/choice request/Git mutation/handoff. Resolve/reverify before resume and on changed scope/version/path/target/Git state. Preserve unrelated changes; read-only investigation remains allowed.
271
126
 
272
- ## Local planning references
127
+ Never retroactively call early saves/commits compliant or approved. Record actual order/gaps. Structure proves authored contracts only; absent role/approval/save/Git execution records leave runtime compliance unverified. Add no runtime infrastructure or external-skill changes for checks. Only the narrow cooperative exception below applies.
273
128
 
274
- Orchestrator briefs absolute ARC paths `references/superpowers/brainstorming/SKILL.md` and
275
- `references/superpowers/writing-plans/SKILL.md`. Planner reads them directly; resolve relative references within each
276
- skill. Missing files stop the stage; report paths without global fallback. Keep ARC approval and ownership gates.
129
+ <a id="local-planning-references"></a>
130
+ ## Local planning references
277
131
 
132
+ Brief absolute installed `references/brainstorming.md`/`references/writing-plans.md`. Planner reads directly, resolving relatives from installed `references/`. Missing paths stop the stage without global fallback. Preserve ARC approval/ownership.
278
133
 
279
- ## Instruction and Input Provenance
134
+ <a id="instruction-and-input-provenance"></a>
135
+ ## Instruction and input provenance
280
136
 
281
- Give the Planner the exact paths and access state for required skills and references, distinguish user-provided instructions from discovered files, and identify approved input versions and open questions. Criteria that use visual materials must link the approved source, version, access state, criterion IDs, and comparison method. Missing required inputs and unapproved interpretations hold dependent parts of the draft. Optional read alternatives must meet the pre-authorized conditions in [handoff](handoff.md#instruction-sources-bounded-read-recovery-visual-evidence-and-resumption). The Planner remains draft-only during recovery.
137
+ Supply exact skill/reference paths/access state. Separate user instructions/discovered files, approved versions/open questions. Visual criteria link approved source/version/access/IDs/method. Missing inputs/unapproved interpretation hold dependent drafting. Optional alternatives follow [handoff](handoff.md#instruction-sources-bounded-read-recovery-visual-evidence-and-resumption). Planner stays draft-only in recovery.
282
138
 
283
139
  [ARC role policy: contract begin]
284
140
  Generated from lib/policy/role-policy.json; do not edit this managed section manually.
285
- - [git.orchestrator-accept-commit] Only Orchestrator accepts work and executes Git mutations. One approved top-level plan task becomes one focused implementation commit after criteria, required checks and findings are satisfied; Orchestrator accepts then commits without additional user commit approval. Reports, passing checks and Reviewer opinions do not replace acceptance. Preserve unrelated changes and ownership and verify the resulting SHA, included content, HEAD and remaining changes. Existing small-task direct and plan-omission paths are unchanged.
286
- - [review.significant-no-plan] For significant/high-risk work without a plan: Implementer → QA and required QA rechecks → Reviewer of the final full change → Orchestrator acceptance. MUST NOT omit Reviewer because no plan exists. This creates no new plan obligation.
287
- - [review.significant-plan] For significant/high-risk plan work: each task uses Implementer → fresh QA as required → Orchestrator acceptance and focused commit. Reviewer reviews the final full change once after all tasks are accepted and required QA is complete. Reviewer is NOT a per-task or per-commit required gate. Preserve required checks and necessary finding rechecks.
288
- - [review.final-plan-recheck] For final overall Reviewer findings on plan work, including behavior findings, use Implementer → Reviewer without QA reassignment; repeat until resolved. This exception applies only at the final plan stage. Preserve required QA and QA failure rechecks before initial final review and outside this exception.
289
- - [planning.plan-amend] During approved task execution, mechanical plan progress records need no new user approval; changed goals, scope, criteria, method, risk, dependencies or required verification require revised-version approval and preparation before affected work. In both cases Orchestrator amends the original planning-document commit at a safe boundary, without a separate document or fixup commit. Preserve actual approval chronology, recoverable old/new contents, hashes, versions and SHA mappings; never retroactively authorize earlier work. Rewrite only unpublished, unshared local linear history with clear ownership and no merges; stop on unknown publication, ownership, unexpected state or replay conflicts, without force push or a fallback document commit. Preserve implementation task boundaries and revalidate affected evidence. See planning, handoff-prep, commit and verification for the full contract.
290
- - [planning.planner-brief] Follow planning.md's Planner drafting preparation and consolidated feedback procedure, including preflight, ledger, evidence classification, target preparation, preceding approvals, provenance and reference gates. Send one complete stage-specific initial brief. Planner returns a complete proportional draft and self-review; Orchestrator reviews once with the fixed checklist and sends one consolidated correction using changed fields only. Additional Planner calls require user-approved material scope/evidence changes or concrete unmet checklist items after correction, plus meaningful new input or criterion-state progress; state changed input, target criterion, expected artifact and expected progress. Hold repeated unmet criteria without new input, evidence or progress and report the criterion, observed evidence and exact unblock input or decision. Do not split omissions, repeat resolved items, or count rewording or agent replacement as progress. Preserve separate sequential design/spec/plan approvals; no fixed call cap, Planner-profile call-count conditions or incomplete draft acceptance.
291
- - [platform.claude] Existing per-role tool allowlists reduce available tools; Bash and role contracts are not a filesystem sandbox. A role-scoped Git guard is a separate integration and is not supplied by these policy sections alone.
141
+ - [git.orchestrator-accept-commit] Only Orchestrator accepts work and performs Git mutations. One approved top-level plan task becomes one focused implementation commit after criteria, required checks and findings are satisfied. Orchestrator accepts, then commits without separate user commit approval. Reports, passing checks and Reviewer opinions do not replace acceptance. Preserve unrelated changes and ownership; verify the resulting SHA, content, HEAD and remaining changes. Existing small-task direct and plan-omission paths remain unchanged.
142
+ - [review.significant-no-plan] Significant/high-risk work without a plan follows Implementer → QA and required QA rechecks → Reviewer of the final full change → Orchestrator acceptance. Do not omit Reviewer because no plan exists. This adds no plan obligation.
143
+ - [review.significant-plan] Significant/high-risk plan work follows Implementer → required fresh QA → Orchestrator acceptance and focused commit for each task. After all tasks are accepted and required QA is complete, Reviewer reviews the final full change once. Reviewer is not a per-task or per-commit gate. Preserve required checks and necessary finding rechecks.
144
+ - [review.final-plan-recheck] Final overall Reviewer findings on plan work, including behavior findings, follow Implementer → Reviewer without QA reassignment until resolved. This exception applies only at the final plan stage. Preserve required QA and QA failure rechecks before the initial final review and outside this exception.
145
+ - [planning.plan-amend] Mechanical plan progress records during approved execution need no new user approval. Changes to goals, scope, criteria, method, risk, dependencies or required verification need revised-version approval and preparation before affected work. In both cases Orchestrator amends the original planning-document commit at a safe boundary, with no separate document or fixup commit. Preserve actual approval chronology, recoverable old/new content, hashes, versions and SHA mappings; never authorize past work retroactively. Rewrite only unpublished, unshared local linear history with clear ownership and no merges. Unknown publication/ownership, unexpected state or replay conflicts stop rewriting; no force push or fallback document commit. Preserve implementation task boundaries and revalidate affected evidence. Follow planning, handoff-prep, commit and verification for the full contract.
146
+ - [planning.planner-brief] Follow planning.md's Planner drafting preparation and consolidated feedback procedure, including preflight, ledger, evidence classification, target preparation, preceding approvals, provenance and reference gates. Allow the initial draft and one consolidated correction. Send one complete stage-specific initial brief. Planner returns a complete proportional draft and self-review. Orchestrator reviews once with the fixed checklist and sends one consolidated correction using changed fields only. Further calls require user-approved material scope/evidence changes or concrete unmet checklist items after correction, plus meaningful new input or criterion-state progress. State changed input, target criterion, expected artifact and expected progress. Hold repeated unmet criteria without new input, evidence or progress; report the criterion, observed evidence and exact unblock input/decision. Do not split omissions, repeat resolved items or count rewording/agent replacement as progress. Do not invoke Planner only for reformatting, re-expression, save errors or patch-application errors; Orchestrator handles these. Evaluate separate substantive work under the normal Planner gate. Preserve separate sequential design/spec/plan approvals. Add no fixed call cap or profile call-count conditions, and never accept an incomplete draft. Keep user progress brief and based on Planner status without relaying draft content. At approval, present the integrated, saved and reviewed Markdown without repeating its body in chat.
147
+ - [platform.claude] Existing per-role tool allowlists reduce available tools; Bash and role contracts are not a filesystem sandbox. ARC supplies no native observer hook or Bash Git guard; Git restrictions remain prompt-level role contracts.
292
148
  [ARC role policy: contract end]
293
149
 
150
+ <a id="approved-cooperative-execution-path-within-the-repository"></a>
294
151
  ## Approved cooperative execution path within the repository
295
152
 
296
- The approved installed workflow entry connects document commits to the initial Implementer assignment in plan mode.
297
- Resolve `<target-home>/skills/arc/runtime/cli.mjs` from the actual loaded ARC skill location selected by the installation
298
- resolver, including custom homes. Invoke `node` with that path and command options as separate arguments; for shell
299
- calls use `node "$ARC_RUNTIME_ENTRY" <command> --cwd "$ARC_CHECKOUT" --workflow "$ARC_WORKFLOW_ID" --input -`
300
- with safely assigned, quoted values. See [handoff](handoff.md) for invocation and continuity requirements.
301
- An entry update does not migrate existing state or renew approvals; runtime/target drift still requires current evidence.
302
- Its scope is decisions and records within the repository's cooperative path. It adds no authority to install native hooks/providers/installers or block direct tool calls.
303
- `no-plan`/omission is unsupported by this CLI, and this boundary remains in Phases 2 and 3. This does not imply an omission policy violation or a new obligation to write documents.
304
-
305
- Orchestrator records the SHA-256 values of the user-approved spec and plan, their shared docs-only commit, document version and approval version.
306
- The CLI verifies the exact changed paths in actual Git objects and the current document bytes before persisting an assignment intent.
307
- A new workflow or late document commit cannot prove earlier execution was compliant. Earlier agent history and execution outside this path remain unverified.
308
- Approval attestations and native returns are `operator-attested`; an agent ID is not an authenticated identity.
153
+ Installed workflow connects plan-mode document commits to initial Implementer assignment. Resolve `<target-home>/skills/arc/runtime/cli.mjs` from the actual loaded skill selected by the installer, including custom homes. Pass path/options as separate `node` arguments. Shell uses safely assigned/quoted `node "$ARC_RUNTIME_ENTRY" <command> --cwd "$ARC_CHECKOUT" --workflow "$ARC_WORKFLOW_ID" --input -`. Follow [handoff](handoff.md) invocation/continuity.
154
+
155
+ Entry updates migrate no state/renew no approvals; drift requires current evidence. Scope is repository cooperative decisions/records, not native hook/provider/installer installation or blocking direct tools. `no-plan`/omission stays unsupported through Phases 2/3, implying neither policy violation nor new document duty.
156
+
157
+ Record approved spec/plan SHA-256, shared docs-only commit and document/approval versions. CLI verifies exact Git-object paths/current bytes before assignment intent. New workflows/late commits prove no past compliance. Prior history/outside execution stays unverified. Approval/native results are `operator-attested`; agent IDs are not authenticated identity.