@yunhozz/arc 0.2.3 → 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 (80) hide show
  1. package/MANIFEST.sha256 +73 -79
  2. package/claude/agents/arc-implementer.md +32 -42
  3. package/claude/agents/arc-planner.md +33 -47
  4. package/claude/agents/arc-qa.md +28 -44
  5. package/claude/agents/arc-reviewer.md +28 -41
  6. package/claude/agents/arc-scouter.md +26 -38
  7. package/claude/skill/SKILL.md +41 -59
  8. package/claude/skill/references/arc-visual-companion.md +19 -24
  9. package/claude/skill/references/commit.md +38 -70
  10. package/claude/skill/references/coordination.md +77 -126
  11. package/claude/skill/references/git-recovery.md +17 -35
  12. package/claude/skill/references/handoff-prep.md +91 -103
  13. package/claude/skill/references/handoff.md +110 -208
  14. package/claude/skill/references/limits.md +19 -31
  15. package/claude/skill/references/planning.md +93 -244
  16. package/claude/skill/references/verification.md +105 -261
  17. package/claude/skill/runtime/adapters/claude.mjs +10 -9
  18. package/claude/skill/runtime/adapters/codex.mjs +7 -8
  19. package/claude/skill/runtime/bootstrap.mjs +3 -2
  20. package/claude/skill/runtime/capabilities.mjs +12 -0
  21. package/claude/skill/runtime/cooperative-schema.mjs +3 -2
  22. package/claude/skill/runtime/cooperative.mjs +52 -4
  23. package/claude/skill/runtime/evaluate.mjs +115 -2
  24. package/claude/skill/runtime/identity.mjs +22 -0
  25. package/claude/skill/runtime/role-policy.json +18 -18
  26. package/claude/skill/runtime/schema.mjs +19 -0
  27. package/claude/skill/scripts/model_config.py +3 -79
  28. package/codex/agents/arc-implementer.toml +34 -30
  29. package/codex/agents/arc-planner.toml +27 -23
  30. package/codex/agents/arc-qa.toml +24 -15
  31. package/codex/agents/arc-reviewer.toml +25 -16
  32. package/codex/agents/arc-scouter.toml +20 -26
  33. package/codex/skill/SKILL.md +42 -57
  34. package/codex/skill/references/arc-visual-companion.md +21 -27
  35. package/codex/skill/references/commit.md +35 -81
  36. package/codex/skill/references/coordination.md +76 -104
  37. package/codex/skill/references/git-recovery.md +29 -51
  38. package/codex/skill/references/handoff-prep.md +76 -134
  39. package/codex/skill/references/handoff-worktree.md +32 -66
  40. package/codex/skill/references/handoff.md +111 -271
  41. package/codex/skill/references/limits.md +21 -34
  42. package/codex/skill/references/planning.md +125 -299
  43. package/codex/skill/references/verification.md +90 -272
  44. package/codex/skill/runtime/adapters/claude.mjs +10 -9
  45. package/codex/skill/runtime/adapters/codex.mjs +7 -8
  46. package/codex/skill/runtime/bootstrap.mjs +3 -2
  47. package/codex/skill/runtime/capabilities.mjs +12 -0
  48. package/codex/skill/runtime/cooperative-schema.mjs +3 -2
  49. package/codex/skill/runtime/cooperative.mjs +52 -4
  50. package/codex/skill/runtime/evaluate.mjs +115 -2
  51. package/codex/skill/runtime/identity.mjs +22 -0
  52. package/codex/skill/runtime/role-policy.json +18 -18
  53. package/codex/skill/runtime/schema.mjs +19 -0
  54. package/lib/installer/global-config.mjs +1 -0
  55. package/lib/installer/manifest.mjs +1 -1
  56. package/lib/installer/plan.mjs +0 -3
  57. package/lib/installer/uninstall.mjs +2 -2
  58. package/lib/management/operations.mjs +4 -2
  59. package/lib/management/update.mjs +3 -3
  60. package/lib/models/profiles.mjs +1 -40
  61. package/lib/policy/render.mjs +1 -5
  62. package/lib/policy/role-policy.json +18 -18
  63. package/lib/runtime/adapters/claude.mjs +10 -9
  64. package/lib/runtime/adapters/codex.mjs +7 -8
  65. package/lib/runtime/bootstrap.mjs +3 -2
  66. package/lib/runtime/capabilities.mjs +12 -0
  67. package/lib/runtime/cooperative-schema.mjs +3 -2
  68. package/lib/runtime/cooperative.mjs +52 -4
  69. package/lib/runtime/evaluate.mjs +115 -2
  70. package/lib/runtime/identity.mjs +22 -0
  71. package/lib/runtime/schema.mjs +19 -0
  72. package/lib/tui/app.mjs +12 -8
  73. package/lib/tui/setup.mjs +5 -8
  74. package/package.json +1 -2
  75. package/claude/skill/hooks/git-policy.json +0 -208
  76. package/claude/skill/hooks/role-git-guard.mjs +0 -18
  77. package/claude/skill/hooks/runtime-gate.mjs +0 -12
  78. package/codex/skill/hooks/runtime-gate.mjs +0 -10
  79. package/lib/policy/claude-hook.mjs +0 -80
  80. package/scripts/probe-runtime-hooks.mjs +0 -55
@@ -1,339 +1,165 @@
1
+ <a id="planning-contract"></a>
1
2
  # Planning contract
2
3
 
3
- Read before design/plan-depth decisions, spec/plan drafting and approval, and the first spec/plan save.
4
+ Read before depth judgments, spec/plan drafting/approval and first saves.
4
5
 
6
+ <a id="authorization-and-scope"></a>
5
7
  ## Authorization and scope
6
8
 
7
- An explicit execution request authorizes only its sufficiently specified scope. Confirm execution intent,
8
- expected outcome, constraints, document depth, and verification risk, with no unresolved material behavior, method,
9
- 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
10
- 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.
9
+ 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.
11
10
 
12
- Silence, ambiguous assent, approval of other work, and unspecified blanket improvement requests are not authorization.
13
- Planner's new material choices are not automatically approved. Ask for the missing material decision; roles route
14
- questions to Orchestrator. Required written specs and plans still require their individual approval in the order below.
11
+ 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.
15
12
 
16
- 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
17
- also hold affected work under [handoff](handoff.md) and [git-recovery](git-recovery.md). Distinguish new authorization
18
- needs from execution issues within existing scope: ordinary corrections and reverification do not require duplicate
19
- approval after failure. Revalidate affected gates after resolution.
13
+ 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.
20
14
 
15
+ <a id="probe-scope"></a>
21
16
  ### Probe scope
22
17
 
23
- 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
24
- or subsequent implementation. Record question, method/scope, criteria, and constraints; a sufficiently specific probe
25
- request can supply that approval. Match checks to probe purpose/risk and do not report probe evidence as product proof.
18
+ 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.
26
19
 
27
- If the user explicitly requests both a probe and implementation and the whole scope is sufficiently specified, classify
28
- the entire scope. When the entire scope meets the Bounded path criteria in Design path and plan depth, the probe is an
29
- internal investigation with no new approval boundary at its report. Unknown implementation is not blanket authorization:
30
- hold affected implementation if findings materially change scope, method, or risk, or leave a new material decision.
31
- Reassess depth and obtain any required design/spec/plan approvals before that implementation. A probe-only request
32
- remains separate.
20
+ 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.
33
21
 
22
+ <a id="formal-drafting-boundary"></a>
34
23
  ## Formal drafting boundary
35
24
 
36
- 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
37
- and records the actual absolute workspace/repository, branch or detached HEAD, HEAD, changes and ownership,
38
- explicit choice and preparation evidence, and absolute document paths inside that target. Planner drafts for that
39
- verified workspace; Orchestrator saves directly in the selected target. Missing or mismatched evidence stops the
40
- affected drafting or save and is reported to Orchestrator. Planned scope and paths do not prove actual preparation.
41
- Initial target preparation does not authorize Implementer; the complete handoff gate still applies.
25
+ 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.
42
26
 
27
+ 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.
43
28
 
29
+ 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.
30
+
31
+ <a id="planner-drafting-preparation-and-consolidated-feedback"></a>
44
32
  ## Planner drafting preparation and consolidated feedback
45
33
 
46
- 1. Before formal drafting, Orchestrator performs a preflight of relevant policy, reference, profile, test, parity
47
- and manifest surfaces and conflicts. Apply the Formal drafting boundary above and coordination's instruction
48
- provenance, input-state and local-skill rules, including required reference paths, authorized bounded read
49
- alternatives and return conditions. Missing required inputs or unresolved conflicts hold dependent drafting;
50
- Planner returns them to Orchestrator. Optional read recovery grants no preparation, verification, writing or
51
- approval authority.
52
-
53
- 2. Maintain a compact ledger of original requirements/criteria IDs, approved and open decisions, exclusions and
54
- scope deltas; merge intervening user changes into one next-brief delta. Distinguish user-approved decisions,
55
- verified source facts with exact paths and lines, assumptions and open decisions.
56
-
57
- 3. Send one complete brief for the initial call of each stage, using coordination's shared fields and evidence-link
58
- rules. Include the prepared workspace, branch or detached HEAD, HEAD and ownership; scope, exclusions, depth,
59
- dependencies, shared contracts, acceptance criteria, required QA/focused checks, evidence and holds. Identify
60
- preceding approved versions, document/output paths, current behavior and connected source, generated, runtime,
61
- installer and documentation surfaces, policy conflicts and resolution direction, open decisions and the exact
62
- stage deliverable. For visual work, include approved sources/versions, criteria and unresolved interpretations.
63
-
64
- 4. Planner returns a complete proportional draft and self-review. Orchestrator integrates, saves, reviews and
65
- obtains approval; never authors missing content. Review the complete draft once with this fixed checklist:
66
- scope and evidence; targets, ownership and paths; policy surfaces and conflicts; task boundaries, dependencies
67
- and acceptance criteria; checks, evidence and holds; roles, approval and commit boundaries; draft completeness.
68
- Finish the checklist before sending all substantive omissions in one consolidated follow-up request.
69
- Identify each criterion, defect, evidence and expected correction. Follow coordination's changed-fields-only
70
- and `unchanged` rules. Do not split requests by omission.
71
-
72
- 5. After that correction, additional Planner calls require user-approved material scope/evidence changes or
73
- concrete unmet checklist items, plus meaningful new input or criterion-state progress. Identify changed input,
74
- target criterion, expected artifact and expected progress. Distinguish approved scope changes from ordinary
75
- omissions within existing scope; omissions require no renewed scope approval. If the same criterion remains
76
- unmet without meaningful new input, evidence or progress, hold the stage and report the criterion, observed
77
- evidence and exact unblock input or decision. Do not repeat resolved questions, reword the same request, or
78
- count rewording or agent replacement as meaningful input or progress.
79
-
80
- Initial design, required spec approval, and formal plan drafting/approval remain separate ordered stages;
81
- written-spec approval precedes dependent plan drafting. No fixed call cap applies; never accept an incomplete draft
82
- to reduce calls or add call-count conditions to Planner profiles.
83
-
84
- ## Design and planning
85
-
86
- `brainstorming` and `writing-plans` are instructions for existing roles, not extra agents. This ARC controls
87
- routing/approval gates even if a called skill names another executor. Follow local ARC reference instructions and user
88
- constraints; report a missing required skill or local reference before that stage; it blocks that stage. Integrate means save, route, and obtain approval;
89
- never author.
90
-
91
- When the request or task brief is in Korean, Planner writes spec and plan titles and explanatory prose in Korean unless
92
- the user explicitly requests another language. Preserve identifiers, skill/API names, code, paths, commands, and
93
- literal values exactly. Orchestrator preserves the agreed language when saving and integrating Planner output.
94
-
95
- Assess and record design and plan depth separately from verification risk; risk determines the required checks and
96
- review, not the design path or plan approval gates. Bounded or document omission does not imply low risk, and
97
- architectural depth does not add QA/Reviewer at every stage; apply existing risk-scaled QA/Reviewer and specific
98
- approved obligations separately.
99
-
100
- 1. Before software feature, design, or behavior changes, Orchestrator assigns Planner the local `brainstorming`
101
- skill with
102
- the brief/evidence. Planner explores context. Planner proposes, Orchestrator decides the spike/bounded/architectural path; Planner also
103
- proposes design/options,
104
- trade-offs, acceptance criteria, assumptions, and focused questions. Orchestrator integrates, announces scope,
105
- routes user
106
- answers/revisions back, and obtains approvals; Orchestrator never runs brainstorming or writing-plans itself
107
- (SKILL.md Role gate);
108
- the direct path uses only a scope record.
109
- 2. Spike: apply Probe scope above; distinguish probe-only authorization from a sufficiently specified combined scope.
110
- Bounded: approve a short design before Implementer or an Orchestrator direct edit (Planner's design
111
- before Implementer; a direct edit uses only an approved scope record). Architectural: approve
112
- design, then Planner returns complete spec draft and self-review findings; Orchestrator integrates, saves,
113
- self-reviews, and obtains written-spec approval
114
- before implementation planning. Planner is read-only and cannot request approval.
115
- 3. After approved design/spec and before Implementer, Orchestrator assesses plan depth separately from file count, LOC,
116
- or bounded
117
- scope. Architectural work always uses local `writing-plans` and requires written plan approval, regardless of
118
- locality, risk, or size. For bounded work, skip planning only for one local change with no dependent stages,
119
- cross-component shared state, lifecycle, or integration-order concerns and one focused verification path; otherwise
120
- require a draft. A bounded label or “no plan” request does not bypass this judgment.
121
- “Orchestrator's recorded plan-depth judgment” means this assessment, including whether a Bounded written spec is
122
- required, recorded in the brief/handoff record.
123
- 4. Record dependencies and any bounded plan-depth rationale in the brief. Planner follows local `writing-plans`,
124
- returning its complete proportional draft, assumptions/open decisions, verification requirements, and self-review.
125
- Orchestrator integrates, saves to the user's path or `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`,
126
- self-reviews,
127
- then obtains plan approval before Implementer.
128
- 5. Every Implementer first start and restart requires all applicable design/spec/plan approvals and passing
129
- the Common handoff gate in SKILL.md and handoff.md, with approved artifacts, brief, and relevant findings.
130
- Non-behavior
131
- configuration/documentation may skip inapplicable design/planning stages, but still requires the handoff gate.
132
- An Orchestrator direct edit requires its approved scope record and the same gate conditions before the first edit.
133
-
134
- When a Bounded written spec is required by Orchestrator's recorded plan-depth judgment, record that necessity and scope
135
- and use the approved short design as its basis. Planner returns a proportional complete spec draft and self-review;
136
- Orchestrator integrates, saves, self-reviews, and obtains individual written-spec approval before dependent plan
137
- drafting and execution preparation. This applies that judgment without adding a spec-necessity rule.
138
-
139
- Design, spec, plan, and brainstorming drafts are authored only by Planner.
140
- Orchestrator must not substitute an independently authored spec or plan for Planner's complete draft.
141
- Return substantive draft omissions to Planner for completion; if Planner fails or is unavailable, stop and report,
142
- never draft instead. Design approval does not transfer ownership.
34
+ 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.
35
+
36
+ 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.
37
+ 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.
38
+ 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.
39
+ 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.
40
+ 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.
41
+
42
+ 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.
43
+
44
+ <a id="design-and-planning"></a>
45
+ <a id="design-path-and-plan-depth"></a>
46
+ ## Design path and plan depth
47
+
48
+ 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.
143
49
 
50
+ 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.
51
+ 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.
52
+ 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.
53
+ 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`.
54
+ 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.
55
+
56
+ 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.
57
+
58
+ 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.
59
+
60
+ <a id="top-level-plan-tasks"></a>
144
61
  ## Top-level plan tasks
145
62
 
146
- The Planner profile holds the full top-level task rules. Orchestrator checks each plan draft for: per task ID and title,
147
- implementation goal/scope and target files, preceding tasks and dependencies, acceptance criteria, required QA/focused
148
- checks and evidence before acceptance, and hold conditions; each task independently implementable, verifiable and
149
- acceptable, with changes that cannot be independently verified (including policy/profile/tests/manifest sharing one
150
- contract) in one task from the outset; and final overall plan verification stated separately from task acceptance
151
- prerequisites, with scope and timing. Never list Reviewer as a per-task required check (Reviewer timing: [Risk-scaled execution](verification.md#risk-scaled-execution)). RED/GREEN and individual
152
- commands do not create commit units; one task is one focused commit under commit.md, which also covers no-change, hold
153
- and resume. Do not combine different approved tasks into one commit during execution; if inseparability appears later,
154
- stop affected work and have Orchestrator handle revised scope, planning and applicable approvals.
155
- These requirements apply to required plans; existing plan-omission paths gain no new plan obligation.
156
-
157
- ### Dependency and readiness record
158
-
159
- After plan approval and before the first Implementer assignment, Orchestrator records all top-level task IDs in the
160
- accessible canonical handoff record, linked to the approved plan version. For each task record explicit and implicit
161
- predecessors, required inputs, outputs and shared contracts, owned files, conflicting shared resources, required
162
- checks/QA path, ready/held status and reasons. Record the initial ready batch and capacity/serialization reasons.
163
- Analyze shared APIs, contracts, generated artifacts and resources even when tasks edit different files. Unresolved
164
- shared contracts or insufficient dependency information block the affected tasks; same-file concurrent Implementer edits
165
- are blocked even for different lines. Do not infer independence from file separation or plan listing order.
166
-
167
- A task is ready only when all applicable approvals and execution preparation are complete, required inputs/contracts
168
- are available and settled, predecessors have required evidence and Orchestrator acceptance plus verified focused
169
- commits (or accepted no-change records), ownership/resources do not conflict, its required check/QA path is available,
170
- and a subagent slot exists under both the configured ARC full-tree cap shared by all roles and any lower actual runtime
171
- limit (see [limits](limits.md)). Report runtime limits; ARC's cap is not a claim of runtime capability. Start all ready
172
- independent tasks with fresh Implementers concurrently within capacity; record each hold or serialization reason instead of
173
- silently following list order. Preserve existing risk gates, risk-scaled QA/Reviewer timing and execution-target
174
- restrictions.
175
-
176
- Update the map on completion, check evidence, acceptance, commit, slot return and new conflicts. Completion reports
177
- alone do not release dependents. Reevaluate newly ready tasks immediately without waiting for unrelated batch members;
178
- failed or ambiguous predecessors hold their dependent chain, while unaffected ready tasks may proceed. Dispatch still
179
- passes [handoff](handoff.md) for each task, refreshing assignment evidence there; commits, shared-checkout Git
180
- coordination and shared Git mutations follow [commit](commit.md). This record does not authorize
181
- Orchestrator to rewrite Planner's approved task boundaries or waive approvals.
182
-
183
- For example, with A → B → C and independent D and two slots, start A and D. After A's required checks,
184
- Orchestrator acceptance and verified commit, start B while D continues if capacity and gates allow.
185
- If A fails, hold B and C; D may continue if unaffected.
186
-
187
- ### Document-save evidence gates
188
-
189
- Before the first architectural spec save, first required Bounded written spec save, or first plan save, read this
190
- reference and record accessible evidence in the shared brief/canonical handoff record.
191
- Saving creates a reviewable file; it grants no approval and creates no Git commit.
192
-
193
- **Spec save:** Verify the approved design scope and approval evidence, accessible Planner's complete spec draft and
194
- self-review findings, Orchestrator's integration/save/review responsibility, and intended absolute save path.
195
- For a required Bounded written spec, also verify Orchestrator's recorded plan-depth judgment, approved short design,
196
- spec-necessity rationale and scope, and Planner's proportional complete draft and self-review. Saving or approving
197
- the short design does not replace the required spec's drafting, self-review, or individual approval.
198
- Architectural and required Bounded specs enter as approved versions in the applicable document set; complete
199
- individual written-spec approval before dependent plan drafting. This gate
200
- permits saving for review and does not require written-spec approval; it requires valid execution-target choice and actual preparation. Do not describe an
201
- uncommitted file as committed.
202
-
203
- **Plan save:** Verify the approved design and, when required, approved written-spec version and approval evidence,
204
- Orchestrator's plan-depth judgment, applicable plan list and dependencies, accessible Planner's complete plan draft and
205
- self-review findings, Orchestrator's integration/save/review responsibility, and intended absolute save path.
206
- If evidence is missing or mismatched in either gate, stop the affected save and report to Orchestrator for resolution.
207
-
208
- ### Complete planning-document set
209
-
210
- The applicable document set covers all specs and plans required for the current approved execution scope, excluding future project work. Orchestrator records scope, design/plan depth, absolute document paths and coverage, approved
211
- versions/status, plan dependencies and execution order, skipped stages with rationale, and documents still awaiting writing or approval
212
- in the shared brief. The set is complete only when every required document is written and individually approved, with no unresolved scope or dependency decision requiring another document. Do not omit required documents from the list.
213
-
214
- A required plan does not itself require a written spec. Bounded uses Orchestrator's recorded plan-depth judgment to
215
- determine whether a written spec is required; do not infer one from plan necessity. Spec steps apply only to Architectural and
216
- required Bounded specs, and plan steps only to required plans. These gates add no new spec obligation to Spike,
217
- Bounded plan-skip, or non-behavior documentation/configuration paths; preserve existing omission rationales.
218
-
219
- Normal order: initial design approval → execution-target choice → target preparation and verification →
220
- formal spec drafting (when required), saving and self-review → written-spec approval → formal plan drafting
221
- (when required), saving and self-review → individual plan approvals → complete applicable set → existing-commit
222
- verification and one batch docs commit of remaining approved documents → final Git verification → Implementer handoff.
223
- Written-spec approval precedes dependent plan drafting. On document-omission paths skip only the inapplicable document
224
- steps; preserve target choice, preparation, state/ownership checks and Implementer gates.
225
-
226
- While documents are being written, reviewed, or approved, do not stage documents or commit planning documents.
227
- 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.
228
-
229
- This ARC explicitly defers the local `brainstorming` instruction to commit the spec before written-spec review:
230
- save and self-review the spec, obtain written-spec approval without committing it, then write and obtain approval for
231
- all applicable plans. Commit the spec only in the final batch preparation. Do not modify external skills.
232
- `writing-plans` implementation-step commit instructions
233
- are not permission for document commits during planning or for starting Implementer.
234
-
235
- | Path | Applicable approvals and preparation |
236
- |------|--------------------------------------|
237
- | Spike probe | Approve the feasibility question, probe method/scope, acceptance criteria, and constraints. Do not force specs/plans for still-unknown implementation; no new spec obligation is added by this gate. If Implementer executes the probe, pass the Common handoff gate after probe approval. Read-only Orchestrator/Planner investigation without Implementer does not trigger that gate. |
238
- | Bounded, plan skipped | Approve the short design and record the existing plan-skip criteria/rationale; this gate adds no new spec obligation. Complete applicable approvals, select the target, prepare any actual approved documents, or record valid document absence, then pass the Common handoff gate. |
239
- | Bounded, plan required | Approve the short design and every required plan; write a spec only when Orchestrator's recorded plan-depth judgment requires it, then obtain its individual written-spec approval before dependent plan drafting. Select and prepare the target before formal drafting; complete all applicable artifacts before one docs batch and the Common handoff gate. |
240
- | Architectural | Approve design, then written spec, then every required plan using `writing-plans`; select and prepare the target before formal drafting; complete the document set before batch preparation, final verification, and the Common handoff gate. |
241
- | Non-behavior documentation/configuration | Record scope, acceptance criteria, and why design/planning stages are inapplicable; this gate adds no new spec obligation. Still select the target, verify Git state, prepare actual approved documents or record absence, and pass the Common handoff gate. |
242
-
243
- Apply Authorization and scope above to probe-only and combined requests; preserve required design/spec/plan gates.
244
- These gates add no new spec obligation for Spike, Bounded plan-skip, or non-behavior documentation/configuration paths.
245
- Document omission skips only document obligations, never explicit
246
- execution-target choice, Git state/ownership checks, or handoff evidence.
247
-
248
- If planning reveals new scope, reassess the list, depth, and dependencies and obtain additional required approvals
249
- before dependent drafting or commit. Changed approved document bodies require approval of the revised version, except
250
- mechanical execution records defined below. If implementation reveals new scope, stop affected execution until that
251
- scope's documents, approvals, and preparation are complete. Then reflect the approved plan version in its original
252
- planning-document commit under the update contract below; never retroactively authorize work before actual approval.
253
- An already-running Implementer must stop before edits dependent on new plans; inspect
254
- current changes/Git state and do not retroactively claim preparation. A restart without document changes follows Choice
255
- lifetime and restart record in [handoff.md](handoff.md).
63
+ 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.
64
+
65
+ 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.
66
+
67
+ <a id="dependency-and-readiness-record"></a>
68
+ ## Dependency and readiness record
69
+
70
+ 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.
71
+
72
+ 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.
73
+
74
+ 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.
75
+
76
+ 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.
77
+
78
+ <a id="document-save-evidence-gates"></a>
79
+ ## Document-save evidence gates
80
+
81
+ 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.
82
+
83
+ | Save | Required evidence |
84
+ |---|---|
85
+ | 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 |
86
+ | Plan | Approved design and required approved spec/version/evidence, depth judgment, plan list/dependencies, complete Planner draft/self-review, ownership and absolute path |
87
+
88
+ 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.
256
89
 
90
+ <a id="complete-planning-document-set"></a>
91
+ ## Complete planning-document set
92
+
93
+ 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.
94
+
95
+ 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.
96
+
97
+ 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.
98
+
99
+ 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.
100
+
101
+ | Path | Approval/preparation |
102
+ |---|---|
103
+ | 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 |
104
+ | Bounded, plan skipped | Approve short design; record omission conditions. Complete approvals, target choice, actual docs or valid absence, then handoff |
105
+ | Bounded, plan required | Approve design/all required plans; approve necessary specs before dependent planning. Prepare target before drafting, complete set before batch/handoff |
106
+ | Architectural | Design → written spec → all `writing-plans` plans. Target before drafting; full set before batch/final checks/handoff |
107
+ | Non-behavior docs/config | Record scope/criteria/inapplicability. Preserve target/Git/docs-or-absence/handoff |
108
+
109
+ 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.
110
+
111
+ <a id="plan-updates-during-execution"></a>
257
112
  ## Plan updates during execution
258
113
 
259
- Mechanical execution records may be recorded without new user approval: checkbox completion, actual results, evidence
260
- 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
261
- or scope changes mixed with a completion mark are not mechanical records.
262
-
263
- Changes to goals, task scope or boundaries, acceptance criteria, method, risk, dependencies or required verification
264
- require revised-version approval before affected work. Hold affected execution, obtain necessary design/spec/plan approvals
265
- in order, and complete target, ownership, checks and handoff preparation before resuming. Other approved body corrections
266
- follow the document-version approval rules; classify typos, paths, commands and explanations by their semantic effect.
267
-
268
- Both mechanical records and approved contract revisions amend the original planning-document commit at a safe checkpoint.
269
- Make no separate document commit or fixup commit, including for newly approved scope. Preserve implementation task commits.
270
- 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.
271
-
272
- In the canonical handoff record preserve plan absolute/Git paths; before and after content hashes and versions; prior and
273
- revised approval references and actual times; change reason and classification; affected tasks and hold/preparation/resume
274
- evidence. For mechanical records explain why no new approval is needed and record the time. Preserve recoverable document
275
- contents, not hashes alone, and each old-to-new SHA mapping for the original document commit and descendant task commits.
276
- Do not overwrite earlier approval references or the contents they approved.
277
-
278
- Orchestrator alone performs the safe rewrite in [handoff-prep](handoff-prep.md#execution-time-plan-amendment) and
279
- [commit](commit.md#execution-time-plan-document-updates). Shared/published or unknown history, merges, unclear ownership,
280
- unexpected HEAD/dirty state and replay conflicts stop affected work. No force push or fallback document commit.
281
- After rewriting, connect evidence to the new state under [verification](verification.md#evidence-after-plan-history-rewrite).
282
- This contract adds no Git automation, runtime enforcement, authority or exemption from required checks/QA/Reviewer gates.
283
-
284
- ### Evidence refresh and limits
285
-
286
- Missing or mismatched evidence, unfinished approvals, unclear ownership, or unresolved failure blocks the affected
287
- save, execution-target request, Git mutation, or Implementer handoff: stop and report to Orchestrator.
288
- Orchestrator resolves the issue and reverifies affected evidence before resumption. Reverify evidence when scope,
289
- approved versions, paths, target, or relevant Git state changes. Preserve unrelated changes under handoff rules;
290
- read-only investigation remains allowed.
291
-
292
- Do not retroactively treat an early save or commit as satisfying these gates or as user approval. Record the actual
293
- order and any evidence gap. Structural checks prove only the repository's written policy contract, not consuming-agent
294
- runtime compliance. Without execution records for role returns, approvals, saves, and Git actions, leave runtime
295
- compliance unverified. Do not add runtime infrastructure or modify external skills for these checks.
296
- The narrow exception below applies only to the explicitly approved cooperative CLI path within this repository.
114
+ 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.
297
115
 
298
- ### Managed worktree preparation
116
+ 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.
117
+
118
+ 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.
299
119
 
300
- See [handoff-worktree.md](handoff-worktree.md) for the managed worktree contract.
120
+ 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.
301
121
 
122
+ 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.
123
+
124
+ <a id="evidence-refresh-and-limits"></a>
125
+ ## Evidence refresh and limits
126
+
127
+ 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.
128
+
129
+ 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.
130
+
131
+ <a id="local-planning-references"></a>
302
132
  ## Local planning references
303
133
 
304
- Orchestrator briefs absolute ARC paths `references/brainstorming.md` and
305
- `references/writing-plans.md`. Planner reads them directly; resolve relative references from the installed
306
- `references/` directory. Missing files stop the stage; report paths without global fallback. Keep ARC approval and ownership gates.
134
+ 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.
307
135
 
136
+ <a id="instruction-and-input-provenance"></a>
137
+ ## Instruction and input provenance
308
138
 
139
+ 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.
309
140
 
310
- ## Instruction and Input Provenance
311
141
 
312
- 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.
142
+ <a id="managed-worktree-preparation"></a>
143
+ ### Managed worktree preparation
144
+
145
+ Follow [handoff-worktree](handoff-worktree.md).
313
146
 
314
147
  [ARC role policy: contract begin]
315
148
  Generated from lib/policy/role-policy.json; do not edit this managed section manually.
316
- - [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.
317
- - [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.
318
- - [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.
319
- - [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.
320
- - [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.
321
- - [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.
322
- - [platform.codex] Role restrictions are prompt-level contracts, not a filesystem sandbox. No documented role-specific Git hook or generic per-agent tool allowlist is assumed. Existing shell capabilities are retained because static read access after shell reduction has not been verified; Implementer and QA need shell for approved checks.
149
+ - [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.
150
+ - [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.
151
+ - [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.
152
+ - [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.
153
+ - [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.
154
+ - [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.
155
+ - [platform.codex] Role restrictions are prompt-level contracts, not a filesystem sandbox. ARC supplies no native observer hook or role-specific Git guard. Existing shell capabilities are retained because static read access after shell reduction has not been verified; Implementer and QA need shell for approved checks.
323
156
  [ARC role policy: contract end]
324
157
 
158
+ <a id="approved-cooperative-execution-path-within-the-repository"></a>
325
159
  ## Approved cooperative execution path within the repository
326
160
 
327
- The approved installed workflow entry connects document commits to the initial Implementer assignment in plan mode.
328
- Resolve `<target-home>/skills/arc/runtime/cli.mjs` from the actual loaded ARC skill location selected by the installation
329
- resolver, including custom homes. Invoke `node` with that path and command options as separate arguments; for shell
330
- calls use `node "$ARC_RUNTIME_ENTRY" <command> --cwd "$ARC_CHECKOUT" --workflow "$ARC_WORKFLOW_ID" --input -`
331
- with safely assigned, quoted values. See [handoff](handoff.md) for invocation and continuity requirements.
332
- An entry update does not migrate existing state or renew approvals; runtime/target drift still requires current evidence.
333
- 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.
334
- `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.
335
-
336
- Orchestrator records the SHA-256 values of the user-approved spec and plan, their shared docs-only commit, document version and approval version.
337
- The CLI verifies the exact changed paths in actual Git objects and the current document bytes before persisting an assignment intent.
338
- A new workflow or late document commit cannot prove earlier execution was compliant. Earlier agent history and execution outside this path remain unverified.
339
- Approval attestations and native returns are `operator-attested`; an agent ID is not an authenticated identity.
161
+ 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.
162
+
163
+ 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.
164
+
165
+ 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.