@yunhozz/arc 0.1.7 → 0.1.10

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 (92) hide show
  1. package/MANIFEST.sha256 +86 -61
  2. package/README.md +1 -1
  3. package/claude/agents/{arc-coder.md → arc-implementer.md} +7 -7
  4. package/claude/agents/arc-planner.md +4 -4
  5. package/claude/agents/arc-qa.md +4 -4
  6. package/claude/agents/arc-reviewer.md +5 -5
  7. package/claude/agents/arc-scouter.md +3 -3
  8. package/claude/skill/SKILL.md +7 -7
  9. package/claude/skill/models.toml +3 -3
  10. package/claude/skill/references/commit.md +22 -7
  11. package/claude/skill/references/coordination.md +25 -18
  12. package/claude/skill/references/git-recovery.md +1 -1
  13. package/claude/skill/references/handoff-prep.md +25 -2
  14. package/claude/skill/references/handoff.md +106 -24
  15. package/claude/skill/references/planning.md +73 -22
  16. package/claude/skill/references/verification.md +155 -17
  17. package/claude/skill/runtime/acceptance.mjs +68 -0
  18. package/claude/skill/runtime/assignment.mjs +42 -0
  19. package/claude/skill/runtime/bootstrap.mjs +35 -0
  20. package/claude/skill/runtime/cooperative-schema.mjs +55 -0
  21. package/claude/skill/runtime/cooperative.mjs +136 -0
  22. package/claude/skill/runtime/evaluate.mjs +40 -4
  23. package/claude/skill/runtime/external.mjs +51 -0
  24. package/claude/skill/runtime/gate.mjs +7 -7
  25. package/claude/skill/runtime/git-evidence.mjs +46 -0
  26. package/claude/skill/runtime/operations.mjs +2 -2
  27. package/claude/skill/runtime/role-policy.json +64 -19
  28. package/claude/skill/runtime/schema.mjs +1 -0
  29. package/claude/skill/runtime/scope.mjs +36 -0
  30. package/claude/skill/runtime/store.mjs +25 -4
  31. package/claude/skill/runtime/verification.mjs +123 -0
  32. package/claude/skill/scripts/model_config.py +2 -2
  33. package/codex/agents/{arc-coder.toml → arc-implementer.toml} +8 -8
  34. package/codex/agents/arc-planner.toml +6 -6
  35. package/codex/agents/arc-qa.toml +6 -6
  36. package/codex/agents/arc-reviewer.toml +6 -6
  37. package/codex/agents/arc-scouter.toml +5 -5
  38. package/codex/skill/SKILL.md +9 -9
  39. package/codex/skill/models.toml +3 -3
  40. package/codex/skill/references/commit.md +23 -8
  41. package/codex/skill/references/coordination.md +25 -18
  42. package/codex/skill/references/git-recovery.md +2 -2
  43. package/codex/skill/references/handoff-prep.md +25 -2
  44. package/codex/skill/references/handoff-worktree.md +4 -4
  45. package/codex/skill/references/handoff.md +116 -34
  46. package/codex/skill/references/planning.md +76 -23
  47. package/codex/skill/references/verification.md +160 -22
  48. package/codex/skill/runtime/acceptance.mjs +68 -0
  49. package/codex/skill/runtime/assignment.mjs +42 -0
  50. package/codex/skill/runtime/bootstrap.mjs +35 -0
  51. package/codex/skill/runtime/cooperative-schema.mjs +55 -0
  52. package/codex/skill/runtime/cooperative.mjs +136 -0
  53. package/codex/skill/runtime/evaluate.mjs +40 -4
  54. package/codex/skill/runtime/external.mjs +51 -0
  55. package/codex/skill/runtime/gate.mjs +7 -7
  56. package/codex/skill/runtime/git-evidence.mjs +46 -0
  57. package/codex/skill/runtime/operations.mjs +2 -2
  58. package/codex/skill/runtime/role-policy.json +64 -19
  59. package/codex/skill/runtime/schema.mjs +1 -0
  60. package/codex/skill/runtime/scope.mjs +36 -0
  61. package/codex/skill/runtime/store.mjs +25 -4
  62. package/codex/skill/runtime/verification.mjs +123 -0
  63. package/codex/skill/scripts/model_config.py +3 -3
  64. package/lib/cli/root.mjs +1 -0
  65. package/lib/cli/workflow.mjs +21 -0
  66. package/lib/installer/manifest.mjs +1 -1
  67. package/lib/installer/plan.mjs +27 -13
  68. package/lib/installer/targets.mjs +1 -1
  69. package/lib/models/config.mjs +1 -1
  70. package/lib/models/profiles.mjs +1 -1
  71. package/lib/policy/placement.mjs +6 -6
  72. package/lib/policy/render.mjs +3 -3
  73. package/lib/policy/role-policy.json +64 -19
  74. package/lib/release/artifact.mjs +1 -1
  75. package/lib/runtime/acceptance.mjs +68 -0
  76. package/lib/runtime/assignment.mjs +42 -0
  77. package/lib/runtime/bootstrap.mjs +35 -0
  78. package/lib/runtime/cooperative-schema.mjs +55 -0
  79. package/lib/runtime/cooperative.mjs +136 -0
  80. package/lib/runtime/evaluate.mjs +40 -4
  81. package/lib/runtime/external.mjs +51 -0
  82. package/lib/runtime/gate.mjs +7 -7
  83. package/lib/runtime/git-evidence.mjs +46 -0
  84. package/lib/runtime/operations.mjs +2 -2
  85. package/lib/runtime/schema.mjs +1 -0
  86. package/lib/runtime/scope.mjs +36 -0
  87. package/lib/runtime/store.mjs +25 -4
  88. package/lib/runtime/verification.mjs +123 -0
  89. package/package.json +4 -2
  90. package/claude/skill/scripts/__pycache__/model_config.cpython-314.pyc +0 -0
  91. package/codex/skill/scripts/__pycache__/apply-models.cpython-314.pyc +0 -0
  92. package/codex/skill/scripts/__pycache__/model_config.cpython-314.pyc +0 -0
@@ -5,21 +5,21 @@ Orchestrator reads this before the first specialist creation or assignment and r
5
5
  ## Ownership
6
6
 
7
7
  - Orchestrator: sole owner of development, configuration, tests, implementation-dependent documentation, and mixed tasks
8
- requiring implementation, assigning their edits to Coder. Coordinates scope, planning, approvals, integration,
8
+ requiring implementation, assigning their edits to Implementer. Coordinates scope, planning, approvals, integration,
9
9
  acceptance, verification, and completion.
10
10
  - Scouter: read-only material research/analysis and assigned static code/document/data/log exploration. Reports
11
11
  evidence, assumptions, unresolved questions, impact, next actions, and workspace/path issues to Orchestrator.
12
12
  Does not edit files or author standalone document files, or decide design/plans, verification, review, or completion.
13
13
  - Planner: returns design/spec/plan drafts.
14
- - Coder edits assigned, approved implementation/configuration/test-code files and assigned dependent docs.
14
+ - Implementer edits assigned, approved implementation/configuration/test-code files and assigned dependent docs.
15
15
  Orchestrator does not edit
16
16
  them directly except under the Orchestrator direct path for small tasks.
17
17
  - QA: verifies without edits.
18
18
  - Reviewer: independently reviews the final full change.
19
- - All five roles report directly to Orchestrator at depth 2: Scouter, Planner, Coder, QA, and Reviewer.
19
+ - All five roles report directly to Orchestrator at depth 2: Scouter, Planner, Implementer, QA, and Reviewer.
20
20
  Orchestrator is depth 1.
21
21
  Depth-2 roles cannot create agents or delegate tasks to another role. Reviewer remains independent.
22
- - Claude native subagent names: Scouter=`arc-scouter`, Planner=`arc-planner`, Coder=`arc-coder`, QA=`arc-qa`,
22
+ - Claude native subagent names: Scouter=`arc-scouter`, Planner=`arc-planner`, Implementer=`arc-implementer`, QA=`arc-qa`,
23
23
  Reviewer=`arc-reviewer`.
24
24
  - Across the full tree, obey configured limits for simultaneous subagents, including Scouter; there are no reserved slots.
25
25
  Before first creation, read `references/limits.md` and installed `limits.toml`; maintain its cumulative ledger and reservations.
@@ -43,7 +43,7 @@ adds no agents or authority. Map executor requests such as `superpowers:executin
43
43
  `superpowers:subagent-driven-development` to Orchestrator's dependency-aware coordination and risk-scaled verification;
44
44
  this replaces executor mechanics and any separate execution-method choice, including prompts in an existing local reference.
45
45
  Preserve plan approval, workspace, design, spec, and other applicable requirements, including TDD subject to the
46
- explicit ARC exception in [handoff](handoff.md#coder-tdd-and-constraints). Adapt local `brainstorming` role, save, and early spec commit instructions to
46
+ explicit ARC exception in [handoff](handoff.md#implementer-tdd-and-constraints). Adapt local `brainstorming` role, save, and early spec commit instructions to
47
47
  ARC Planner ownership and evidence gates in planning/handoff; preserve upstream reference content. Report conflicts or
48
48
  missing required local references before dependent work.
49
49
 
@@ -51,13 +51,13 @@ Planner, Reviewer, and Scouter return findings, relevant questions, next actions
51
51
  Orchestrator. Planner preserves complete requested drafts. Orchestrator integrates results (save, route,
52
52
  obtain approval; never author), routes decisions and required approvals,
53
53
  and owns development acceptance and completion. Orchestrator coordinates dependent implementation tasks sequentially and
54
- starts a fresh Coder for each top-level task (Role gate); reuse the current Coder only for corrections, rework,
54
+ starts a fresh Implementer for each top-level task (Role gate); reuse the current Implementer only for corrections, rework,
55
55
  or rechecks of the same task while the approved scope, workspace, ownership, and relevant assignment context remain valid;
56
- default to the current Coder for same-task QA corrections. A QA finding within the current task does not itself create
57
- a new task. Before sending corrections or rework to a reused Coder, Orchestrator rechecks workspace, branch/HEAD and change state against the brief.
56
+ default to the current Implementer for same-task QA corrections. A QA finding within the current task does not itself create
57
+ a new task. Before sending corrections or rework to a reused Implementer, Orchestrator rechecks workspace, branch/HEAD and change state against the brief.
58
58
  Replace or restart a role only when its context is invalid or unavailable, or the task boundary changes, subject to the
59
- amendment exception below. A fresh Coder for the next task is a restart under handoff (choice reuse and restart brief rules are in handoff).
60
- After an approved plan or acceptance-criteria amendment, start a fresh Coder for
59
+ amendment exception below. A fresh Implementer for the next task is a restart under handoff (choice reuse and restart brief rules are in handoff).
60
+ After an approved plan or acceptance-criteria amendment, start a fresh Implementer for
61
61
  the remaining work even within the same task; it is also a restart under handoff. Do not add per-task QA or
62
62
  review gates solely because a task boundary exists; apply risk requirements and specific approved obligations. If the
63
63
  next task depends on a still-unverified risky contract, complete applicable QA at that dependency boundary and
@@ -84,15 +84,22 @@ resolve or explicitly disposition findings before dependent implementation. This
84
84
  never use a context-inheriting fork (such as the `fork` subagent type) for an ARC role; do not claim fresh context
85
85
  isolation without evidence. Reuse an existing specialist for related follow-up with only changed facts/objective when
86
86
  its context
87
- remains relevant; start fresh for unrelated or bloated context. Coder and QA freshness follow the Role gate.
88
- - Cite in the brief the absolute path of each required local ARC reference's SKILL.md (`test-driven-development` for Coder,
87
+ remains relevant; start fresh for unrelated or bloated context. Implementer and QA freshness follow the Role gate.
88
+ - Cite in the brief the absolute path of each required local ARC reference's SKILL.md (`test-driven-development` for Implementer,
89
89
  `brainstorming`/`writing-plans` for Planner); the role Reads it before dependent work.
90
90
  - For Reviewer, Orchestrator writes the final base..HEAD diff plus changed-file list to
91
91
  `<git-common-dir>/arc/review/<slug>.diff` (same slug as the handoff record; base is the approved base HEAD recorded at
92
92
  handoff; inline when small or write denied) and cites its absolute path in the brief; Reviewer reads it and states
93
93
  limits. See verification.
94
- - In Coder briefs, cite the plan/spec path with the task section's line range and include only the needed excerpts,
95
- acceptance criteria, and constraints; do not ask Coder to read whole plans or specs.
94
+ - In Implementer briefs, cite the plan/spec path with the task section's line range and include only the needed excerpts,
95
+ acceptance criteria, and constraints; do not ask Implementer to read whole plans or specs.
96
+ - Before formal Planner drafting, complete the stage brief using
97
+ [planning](planning.md#planner-drafting-preparation-and-consolidated-feedback): original requirements/criteria IDs,
98
+ approved and open decisions, actual target/ownership, preceding approved versions and document paths, current behavior
99
+ and connected policy/source/generated/runtime/installer/documentation surfaces, depth, dependencies, checks, holds and
100
+ exact stage deliverable. Preserve the shared brief field order. Review completeness and conflicts together; send one
101
+ consolidated feedback request with changed fields and `unchanged` for the rest. Preserve separate sequential design,
102
+ spec and plan approvals; no fixed call cap, incomplete draft acceptance or extra calls for resolved questions.
96
103
  - Before optional calls, name the unresolved question and expected artifact. Skip calls whose questions are resolved
97
104
  by available evidence or direct inspection.
98
105
  - Run each ARC role as a foreground Agent call and use its returned result, or run it in the background and wait for the
@@ -116,7 +123,7 @@ resolve or explicitly disposition findings before dependent implementation. This
116
123
 
117
124
  Orchestrator briefs absolute paths under the selected installed ARC directory: Planner reads
118
125
  `references/superpowers/brainstorming/SKILL.md` and `references/superpowers/writing-plans/SKILL.md`;
119
- Coder reads `references/superpowers/test-driven-development/SKILL.md`, including required relative references.
126
+ Implementer reads `references/superpowers/test-driven-development/SKILL.md`, including required relative references.
120
127
  Resolve paths within each skill directory. Runtime needs no global discovery, external Skill invocation, or automatic download.
121
128
  Missing/damaged local files stop dependent work: report exact paths to Orchestrator, without global fallback.
122
129
  ARC approval, ownership, TDD exceptions and executor adapters still apply.
@@ -125,7 +132,7 @@ ARC approval, ownership, TDD exceptions and executor adapters still apply.
125
132
  ## Models
126
133
 
127
134
  `models.toml` beside this skill is the source of truth for role model and reasoning-effort settings.
128
- Configuration keys `arc_scouter`, `arc_planner`, `arc_coder`, `arc_qa`, and `arc_reviewer` map to the hyphenated
135
+ Configuration keys `arc_scouter`, `arc_planner`, `arc_implementer`, `arc_qa`, and `arc_reviewer` map to the hyphenated
129
136
  Claude native subagent names above; they are not tool-call names.
130
137
  Orchestrator uses the current conversation model. Use configured role settings without substitution or effort
131
138
  reduction; report unavailable settings.
@@ -144,8 +151,8 @@ Generated from lib/policy/role-policy.json; do not edit this managed section man
144
151
  - [git.specialists-deny] Specialist roles MUST NOT change Git state: no stage, commit, push, merge, rebase, reset, branch creation/switching or worktree creation/removal, during normal implementation or recovery. Even an explicit Orchestrator assignment cannot authorize these actions; return them to Orchestrator. Read-only Git inspection remains allowed within the assigned scope.
145
152
  - [role.scouter-read-only] Research assigned static sources and report findings, evidence and limits. Do not edit files, install, execute checks, prepare execution targets, inspect live operational state, change external state or decide design, verification, review or acceptance.
146
153
  - [role.planner-draft-only] Return design/spec/plan drafts and dependencies, criteria, hold conditions and verification needs in the response. MUST NOT save documents, implement, run checks, prepare targets, request user approval or decide acceptance. Stop formal target-dependent drafting if actual prepared target evidence is missing; route decisions to Orchestrator.
147
- - [role.coder-implementation] Edit only assigned, approved files and run focused checks under the existing TDD contract. Report changed files, RED/GREEN or authorized exception evidence, results, limits and follow-up. Do not plan, independently QA/review your own work, accept the task or declare overall completion. Git changes remain forbidden even when implementation succeeds.
148
- - [role.qa-verification] Run approved checks and report commands, observations, reproduction, evidence and limits. Create only essential temporary data/logs/reports in the brief-authorized location and lifetime. Do not edit product source, tests, fixtures or configuration to pass checks, deploy or accept work. Persistent product-state checks require explicit scope and cleanup ownership. Return failures for Coder correction and required QA recheck.
154
+ - [role.implementer-implementation] Edit only assigned, approved files and run focused checks under the existing TDD contract. Report changed files, RED/GREEN or authorized exception evidence, results, limits and follow-up. Do not plan, independently QA/review your own work, accept the task or declare overall completion. Git changes remain forbidden even when implementation succeeds.
155
+ - [role.qa-verification] Run approved checks and report commands, observations, reproduction, evidence and limits. Create only essential temporary data/logs/reports in the brief-authorized location and lifetime. Do not edit product source, tests, fixtures or configuration to pass checks, deploy or accept work. Persistent product-state checks require explicit scope and cleanup ownership. Return failures for Implementer correction and required QA recheck.
149
156
  - [role.reviewer-independent] Independently inspect the assigned final changes and evidence and report actionable findings and limits. Remain read-only. MUST NOT execute QA tests, edit files, perform Git mutations or decide acceptance.
150
157
  - [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.
151
158
  [ARC role policy: contract end]
@@ -20,7 +20,7 @@ recovery material.
20
20
  ## Branch collision and invalid names
21
21
 
22
22
  For an invalid name, branch creation/switch failure, lookup error, or unexpected current branch, inspect and record the
23
- error and actual Git state, then stop Coder handoff. A branch created without a successful switch is partial completion:
23
+ error and actual Git state, then stop Implementer handoff. A branch created without a successful switch is partial completion:
24
24
  report it, never delete it automatically, and do not treat preparation as complete.
25
25
  Do not fall back to another branch or checkout. A new collision suffix requires fresh user approval of the candidate
26
26
  (handoff-prep). Existing staged/unstaged/untracked changes stay preserved; if they block a switch or ownership is
@@ -40,11 +40,11 @@ After branch creation/switch verify actual absolute path, branch, HEAD and prese
40
40
  After staging verify index paths and diff before commit; unrelated staged files block the mutation. Stop and inspect
41
41
  on failure or partial completion, record actual state and completed steps, and revalidate affected gates after resolution.
42
42
 
43
- Batch-commit all remaining approved planning documents together in one focused docs commit before the first Coder
43
+ Batch-commit all remaining approved planning documents together in one focused docs commit before the first Implementer
44
44
  handoff. Stage only those document paths and verify the staged content and scope.
45
45
  Verify the resulting SHA, subject, paths, branch, HEAD and remaining state. Already committed approved documents need no
46
46
  duplicate commit. Record the actual preparation order and deviations, then complete the handoff gate before the
47
- next Coder start. User authorization persists for the unchanged approved target and scope; do not repeatedly ask for the
47
+ next Implementer start. User authorization persists for the unchanged approved target and scope; do not repeatedly ask for the
48
48
  same choice.
49
49
 
50
50
  ## New task branch naming
@@ -85,11 +85,34 @@ Never amend, reset, or recommit past commits to merge them. Skip the commit only
85
85
  produced, recording the depth rationale; uncommitted documents are not absent. Never include implementation files.
86
86
  After success verify SHA, message, paths, HEAD, branch, and remaining state; the commit is not push approval.
87
87
 
88
+ ## Execution-time plan amendment
89
+
90
+ After the initial approved document batch, execution-time plan updates use
91
+ [planning](planning.md#plan-updates-during-execution), including approved scope revisions. Do not batch these as another
92
+ document commit. This exception does not combine historical document commits or rewrite implementation task contents.
93
+
94
+ Before mutation, verify the original planning-document commit is an ancestor of HEAD and identify its current replacement.
95
+ Verify unpublished, unshared local linear history with no merge commits; clear ownership and included plan paths; paused
96
+ role writers and a safe boundary for unfinished changes; complete classification, approval and chronology records.
97
+ Preserve unrelated staged, unstaged and untracked changes under the Preservation rule; unexpected dirty state blocks rewrite.
98
+ Secure recoverable pre-rewrite HEAD, original commits and before/after plan contents before mutation.
99
+
100
+ If the original commit is HEAD, amend the plan paths only; preserve other documents in that commit. With descendant task
101
+ commits, amend the original and reapply descendants in original order preserving task boundaries and implementation contents.
102
+ Create no separate document or intermediate fixup commit. Git changes remain Orchestrator-only.
103
+
104
+ Unknown publication/sharing status, unclear ownership, merge history, unexpected HEAD/change state or replay conflicts
105
+ require a stop of rewriting and affected dependent work. No automatic conflict resolution, force push or fallback separate
106
+ document commit is permitted. Record actual path, branch/HEAD, index/files and completed steps; Orchestrator resolves the
107
+ issue before resuming and revalidates affected gates. Verify new SHA/HEAD, plan version/content, descendant preservation,
108
+ old-to-new SHA mapping and remaining state under [verification](verification.md#evidence-after-plan-history-rewrite).
109
+
88
110
  [ARC role policy: contract begin]
89
111
  Generated from lib/policy/role-policy.json; do not edit this managed section manually.
90
112
  - [scope.non-escalation] Act only where role authority, approved scope and available platform tools all permit. Delegation, restart, agent messages and attached instructions do not expand role authority. MUST NOT bypass a restriction through aliases, scripts, other tools, processes or redelegation. Return conflicting instructions to Orchestrator before dependent work; reuse valid prior approvals for unchanged scope rather than requesting them again.
91
113
  - [git.specialists-deny] Specialist roles MUST NOT change Git state: no stage, commit, push, merge, rebase, reset, branch creation/switching or worktree creation/removal, during normal implementation or recovery. Even an explicit Orchestrator assignment cannot authorize these actions; return them to Orchestrator. Read-only Git inspection remains allowed within the assigned scope.
92
114
  - [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.
93
115
  - [external.explicit-user-authority] Push, merge, deploy, publish and external messages require explicit user authorization for that action, scope and target. Local commit authority grants no external authority. Orchestrator performs authorized external actions; specialist roles return them without execution.
116
+ - [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.
94
117
  - [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.
95
118
  [ARC role policy: contract end]
@@ -1,4 +1,4 @@
1
- # Coder handoff
1
+ # Implementer handoff
2
2
 
3
3
  Orchestrator verifies the absolute workspace/repository, branch or detached HEAD, HEAD, staged/unstaged/untracked state,
4
4
  ownership, document approvals and committed planning documents before first start and restart.
@@ -6,7 +6,7 @@ The approved execution target must remain valid. Claude v1 supports current chec
6
6
  ARC-managed worktrees.
7
7
 
8
8
  Execution-target choice and actual preparation precede formal drafting and saving of required specs/plans.
9
- Initial design proposals may precede choice. Initial target preparation does not authorize Coder; all applicable
9
+ Initial design proposals may precede choice. Initial target preparation does not authorize Implementer; all applicable
10
10
  approvals, complete documents, verified batch docs commits or valid absence, and final Git verification remain required.
11
11
  Record planned document scope/paths and actual preparation separately, followed by actual drafting/save/approval and
12
12
  commit results; preserve actual order and evidence gaps. Reuse a valid choice during document drafting and subsequent
@@ -23,18 +23,18 @@ explicit target choice; prior and resulting Git state; document commit SHA/subje
23
23
  checks and limits. If a gate or record was late, record actual order and resolve forward; never claim retroactive
24
24
  compliance.
25
25
 
26
- The Coder brief supplies absolute workspace, verified branch/HEAD, canonical record path, approved task/criteria,
26
+ The Implementer brief supplies absolute workspace, verified branch/HEAD, canonical record path, approved task/criteria,
27
27
  exact file ownership, expected tests, dependency limits and blocked conditions. Restart brief: supply only verified
28
- deltas and mark unchanged fields; `unchanged` means unchanged relative to the record file the fresh Coder reads,
29
- and every other brief field is in full. Coder trusts Orchestrator verified prep rather than independently repeating
28
+ deltas and mark unchanged fields; `unchanged` means unchanged relative to the record file the fresh Implementer reads,
29
+ and every other brief field is in full. Implementer trusts Orchestrator verified prep rather than independently repeating
30
30
  approval/Git evidence checks, reads fields marked unchanged, and stops on an actual observed conflict.
31
- Tell Coder that others share the repository and unrelated work MUST be preserved.
31
+ Tell Implementer that others share the repository and unrelated work MUST be preserved.
32
32
 
33
33
  Roles report directly to Orchestrator. Do not delegate at depth 2. Orchestrator sequences dependent work,
34
34
  resolves actual blockers and revalidates affected gates before resume. No automatic retry after unexpected Git or tool
35
35
  failure.
36
36
 
37
- If the record write is denied or unavailable, Orchestrator carries the full record inline in every Coder brief (no
37
+ If the record write is denied or unavailable, Orchestrator carries the full record inline in every Implementer brief (no
38
38
  delta, no record-file `unchanged`) and states why; that satisfies the accessible-record requirement.
39
39
  Do not delete it automatically.
40
40
 
@@ -48,7 +48,7 @@ cannot bypass its approval gate.
48
48
 
49
49
  Before assignment, apply every readiness condition in
50
50
  [planning.md, Dependency and readiness record](planning.md#dependency-and-readiness-record), including predecessor
51
- checks, Orchestrator acceptance and verified focused commit or accepted no-change evidence. A Coder completion report
51
+ checks, Orchestrator acceptance and verified focused commit or accepted no-change evidence. A Implementer completion report
52
52
  alone is insufficient. Verify the linked record is current and capacity and file ownership permit assignment.
53
53
  Readiness supplements the full handoff gate and execution-target restrictions; it never waives them.
54
54
  For authorized HEAD or state changes, refresh this record and affected briefs, verify preservation and ownership,
@@ -76,7 +76,7 @@ its scope, criteria, constraints, and valid document-depth omissions alongside e
76
76
  Reuse valid authorization for the same approved scope and target. A restart or new role assignment does not require
77
77
  repeat approval. Reuse never waives verification of actual workspace/repository, branch or detached HEAD, HEAD,
78
78
  changes, preservation, ownership, applicable documents, and preparation evidence by Orchestrator. Refresh actual state
79
- and affected briefs for authorized changes; they alone do not invalidate approval. Coder trusts the verified brief
79
+ and affected briefs for authorized changes; they alone do not invalidate approval. Implementer trusts the verified brief
80
80
  under its profile. Material scope/method/risk changes and invalid target evidence hold affected work; resolve using
81
81
  planning and the choice-lifetime rules above. Report the missing condition and resume evidence rather than asking
82
82
  for an approval already valid for that scope.
@@ -85,13 +85,13 @@ Before any exception judgment, Orchestrator reads [Risk-scaled execution](verifi
85
85
 
86
86
  ## Common handoff gate
87
87
 
88
- Before every Coder first start/restart, Orchestrator passes the full gate:
88
+ Before every Implementer first start/restart, Orchestrator passes the full gate:
89
89
  applicable approvals/artifacts or valid omissions, explicit execution-target choice
90
90
  or verified reuse, intended accessible repository/workspace, actual Git identity/state, preservation/ownership,
91
91
  verified document commits or valid absence, and no unresolved failure/partial completion.
92
92
  Missing evidence, mismatches, unclear ownership or unresolved preparation block handoff and require Orchestrator
93
93
  resolution and full revalidation. Handoff owns the evidence fields, canonical handoff record, restart brief, choice lifetime
94
- and reuse. Coder trusts the Orchestrator-verified brief and reports actual conflicts under its self-contained profile;
94
+ and reuse. Implementer trusts the Orchestrator-verified brief and reports actual conflicts under its self-contained profile;
95
95
  never replace its local guards with a requirement to load Orchestrator procedures.
96
96
  Depth-2 roles use the supplied workspace and report path/state conflicts; they cannot create/switch workspaces or
97
97
  branches. The same conditions apply before an Orchestrator direct edit.
@@ -100,12 +100,12 @@ approved document preparation under [handoff-prep](handoff-prep.md).
100
100
  ARC-managed worktree execution is unsupported; report an isolated worktree request before dependent work.
101
101
 
102
102
 
103
- ## Coder TDD and constraints
103
+ ## Implementer TDD and constraints
104
104
 
105
- Before feature, bug-fix, or behavior edits, Coder follows local `test-driven-development` unless the explicit
106
- ARC exception applies; the Coder profile holds Coder's full TDD rules. TDD is waived only when every small,
105
+ Before feature, bug-fix, or behavior edits, Implementer follows local `test-driven-development` unless the explicit
106
+ ARC exception applies; the Implementer profile holds Implementer's full TDD rules. TDD is waived only when every small,
107
107
  low-risk criterion (Risk-scaled execution) and every plan-skip criterion (Orchestrator direct path) holds.
108
- Before Coder starts,
108
+ Before Implementer starts,
109
109
  Orchestrator records the scope, why every criterion is met, acceptance criteria, and focused verification in the brief.
110
110
  An explicit user or task-specific TDD request overrides
111
111
  this waiver. For qualifying tasks only, this exception takes precedence over the generic trigger in the local reference;
@@ -122,7 +122,7 @@ generalize it to behavior work.
122
122
  Orchestrator may edit directly only when every small, low-risk criterion (Risk-scaled execution) holds.
123
123
  Every plan-skip criterion must also hold: one local change, no dependent stages, no cross-component shared state,
124
124
  lifecycle, or integration-order concerns, and one focused verification path. Significant, architectural,
125
- ordinary-behavior, unclear-risk work and edits overlapping a running Coder's assigned files are ineligible.
125
+ ordinary-behavior, unclear-risk work and edits overlapping a running Implementer's assigned files are ineligible.
126
126
 
127
127
  Significant risk is defined in Risk-scaled execution and excludes work from the Orchestrator direct path;
128
128
  do not infer eligibility from a small file count.
@@ -132,30 +132,112 @@ why every criterion holds, acceptance criteria, and focused verification. Apply
132
132
  [planning](planning.md#authorization-and-scope): an existing sufficiently specific user request can approve
133
133
  that scope; no duplicate approval is needed. Otherwise present the scope record to the user and obtain explicit
134
134
  approval before editing. Silence, an ambiguous response, or approval of other work is not approval.
135
- Orchestrator then verifies the same handoff gate as a Coder first start: explicit execution-target choice or valid
135
+ Orchestrator then verifies the same handoff gate as a Implementer first start: explicit execution-target choice or valid
136
136
  reuse, accessible intended workspace and repository, branch or detached HEAD, HEAD, staged/unstaged/untracked state,
137
137
  preservation and ownership, and no unresolved failure or partial completion. Read this reference
138
138
  and [handoff preparation](handoff-prep.md) before checking this gate.
139
139
 
140
140
  Orchestrator edits only the approved files, preserves others' edits, and makes surgical changes without unrelated
141
- refactoring or unapproved dependencies. Behavior edits follow the Coder TDD rules and applicable recorded waiver
141
+ refactoring or unapproved dependencies. Behavior edits follow the Implementer TDD rules and applicable recorded waiver
142
142
  criteria; an explicit user or task-specific TDD request still requires test-driven-development.
143
143
  Do not claim TDD under a waiver. After editing, Orchestrator records changed files, runs focused checks,
144
144
  connects each acceptance criterion to evidence, and reports unverified scope. Orchestrator is not an independent
145
145
  reviewer of its own edits; assign QA when evidence is incomplete. If scope expands, risk becomes unclear,
146
- or any criterion fails, stop editing, record completed changes, and return subsequent edits to the normal Planner/Coder
147
- flow. A failed focused check or a QA finding routes the correction to Coder, and it is rechecked; Orchestrator does not
146
+ or any criterion fails, stop editing, record completed changes, and return subsequent edits to the normal Planner/Implementer
147
+ flow. A failed focused check or a QA finding routes the correction to Implementer, and it is rechecked; Orchestrator does not
148
148
  self-correct.
149
149
 
150
150
  Like other plan-skip paths, there is no automatic task commit; commits follow applicable guidance and user requests.
151
151
 
152
152
 
153
+ ## Cooperative CLI verification handoff
154
+
155
+ For the supported spec+plan path, the verification handoff includes the registered task contract, exact check descriptor,
156
+ task/final scope, `status.changeFingerprints`, independent actor attestations, intent ID, result messageRef and verdict.
157
+ An externally authorized role performs each check/review after `prepare`, and records the actual result through `result`.
158
+ CLI records do not authenticate identities or prove actual agent policy compliance.
159
+
160
+ When scope, documents or approvals change, inspect `affectedTaskIds` and the dependency chain, preserve earlier approval and
161
+ result records, and hand off new approvals and contracts for affected tasks. Do not reuse an old passing check for a different fingerprint.
162
+ Link failed findings to the assigned Implementer's resolution evidence and QA rechecks for that change version. Only final overall Reviewer
163
+ findings use Implementer→Reviewer revalidation. Do not add Reviewer as a prerequisite for individual task acceptance or commits.
164
+ Follow [verification.md](verification.md#verification-lifecycle-in-the-cooperative-cli) for detailed fields and hold conditions.
165
+ An unsupported no-plan/omission path does not imply a policy violation or a requirement to write documents.
166
+
153
167
  [ARC role policy: contract begin]
154
168
  Generated from lib/policy/role-policy.json; do not edit this managed section manually.
155
169
  - [git.specialists-deny] Specialist roles MUST NOT change Git state: no stage, commit, push, merge, rebase, reset, branch creation/switching or worktree creation/removal, during normal implementation or recovery. Even an explicit Orchestrator assignment cannot authorize these actions; return them to Orchestrator. Read-only Git inspection remains allowed within the assigned scope.
156
- - [role.coder-implementation] Edit only assigned, approved files and run focused checks under the existing TDD contract. Report changed files, RED/GREEN or authorized exception evidence, results, limits and follow-up. Do not plan, independently QA/review your own work, accept the task or declare overall completion. Git changes remain forbidden even when implementation succeeds.
157
- - [review.significant-no-plan] For significant/high-risk work without a plan: Coder → QA and required QA rechecks → Reviewer of the final full change → Orchestrator acceptance. MUST NOT omit Reviewer merely because no plan exists. This creates no new plan obligation.
158
- - [review.significant-plan] For significant/high-risk plan work: each task uses Coder → fresh QA as required → Orchestrator acceptance and focused commit. 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 required gate. Preserve required checks and necessary finding rechecks.
159
- - [review.final-plan-recheck] For final overall Reviewer findings on plan work, including behavior findings, use Coder → 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.
170
+ - [role.implementer-implementation] Edit only assigned, approved files and run focused checks under the existing TDD contract. Report changed files, RED/GREEN or authorized exception evidence, results, limits and follow-up. Do not plan, independently QA/review your own work, accept the task or declare overall completion. Git changes remain forbidden even when implementation succeeds.
171
+ - [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 merely because no plan exists. This creates no new plan obligation.
172
+ - [review.significant-plan] For significant/high-risk plan work: each task uses Implementer → fresh QA as required → Orchestrator acceptance and focused commit. 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 required gate. Preserve required checks and necessary finding rechecks.
173
+ - [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.
160
174
  - [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.
161
175
  [ARC role policy: contract end]
176
+
177
+ ## Initial Implementer assignment through the cooperative CLI
178
+
179
+ In approved plan mode, Orchestrator performs the following sequence. All mutation commands pass JSON through stdin with
180
+ `arc workflow <command> --cwd <absolute-checkout> --workflow <id> --input -`.
181
+ Query `status` without `--input`.
182
+
183
+ 1. Prepare the docs-only commit of the approved spec and plan, and verify the exact document set, objects and current files.
184
+ Perform `init`, approval `record` and `prepare` only after this commit verification, even when user approval preceded the document commit.
185
+ 2. After document commit verification, pass `mode: "plan"`, `actor: {id: "operator"}` and `selection: {messageRef, contentHash}` to `init` at the final target HEAD.
186
+ 3. Use `record` to persist the user approval attestation already confirmed. The input is
187
+ `{requestId, expectedRevision, actor, evidence: {kind: "approval", messageRef, data: {approvalVersion, documentVersion, documents}}}`.
188
+ `documents` contains exactly the spec and plan, each with `{kind, path, gitPath, contentHash, approvalRef, commit}`.
189
+ `contentHash` is `sha256:<hex>`, and `approvalRef` must match the approval `messageRef`.
190
+ On HEAD drift, record a fresh target observation and renewed approval instead of reconnecting an earlier intent.
191
+ 4. Pass `{requestId, expectedRevision, actor, operation: "assign-agent", taskId, arguments: {role: "implementer", paths, operations: ["edit"], documents, approvalRef, approvalVersion, documentVersion, correlation}}` to `prepare`.
192
+ Absolute `paths` must be inside the checkout. Confirm `allow`, `persisted: true` and the persisted intent.
193
+ 5. Invoke the native assignment with the task, scope and correlation from the persisted intent.
194
+ 6. Pass `{requestId, expectedRevision, actor, intentId, result: {status, messageRef, data: {correlation, taskId, agentId}}}` to `result`.
195
+ `intentId` is the prepare requestId. Distinguish success as `succeeded`, failure as `failed`, uncertain execution as `unknown` and a response mismatch as `mismatch`.
196
+ Success requires the returned agent ID. `unknown`/`mismatch` causes a hold; stop duplicate assignments and investigate the actual result.
197
+
198
+ Approval and assignment results on this path are `operator-attested`. They do not authenticate native identities or verify platform events.
199
+ The CLI cannot block direct calls outside it, and a new workflow cannot legitimize omitted past execution. Existing trusted adapter provenance requirements remain in force.
200
+
201
+
202
+ ## External operations and recovery in the cooperative CLI
203
+
204
+ The three phases support state, documents and assignment; scope, verification, acceptance and focused commits; and external approval, results and audit recovery.
205
+ Use `status.support` to inspect all nine areas and their limits. The supported mode is `plan` with spec+plan; no-plan and omission are unsupported. The CLI does not execute native/provider calls or push, merge, deploy or publish.
206
+ User approvals and execution results confirmed by the operator are `operator-attested`, with `nativeVerified: false` and
207
+ `remoteVerified: false`. Blocking direct calls outside the CLI and independent remote verification are not provided.
208
+
209
+ Orchestrator records an explicit approval it has already confirmed through `record` with
210
+ `evidence: {kind: "external-approval", messageRef, data: {operation, scope, descriptor}}`.
211
+ `scope` is an array of unique absolute paths within the checkout. Local commit approval does not authorize external operations.
212
+ Include the exact action, scope and target in the approval, and record every descriptor field below.
213
+
214
+ | operation | descriptor fields |
215
+ |---|---|
216
+ | push | repository, destination, refspec, sourceOid, expectedRemoteOid |
217
+ | merge | repository, changeRef, targetRef, expectedTargetOid |
218
+ | deploy | service, project, environment, artifactId, destination |
219
+ | publish | service, namespace, name, version, artifactHash, destination |
220
+
221
+ Git OIDs are full 40/64-character lowercase hex values; artifactHash is `sha256:<64-hex>`. Without a remote observation,
222
+ an OID is an expected value asserted by the user, not verified remote state. destination must be an identifier without secrets.
223
+ Do not submit URL userinfo, query or fragment components, or authentication information such as passwords, tokens or credentials.
224
+ The CLI rejects recognized credential inputs before persistence, but cannot determine whether every arbitrary string contains a secret.
225
+
226
+ Pass `{requestId, expectedRevision, actor: {id, role: "orchestrator"}, operation,
227
+ arguments: {approvalRef, scope, descriptor}}` to `prepare`. approvalRef matches the external approval messageRef.
228
+ An intent is persisted only when the exact approval, scope/target versions and runtime version match and no effect is unresolved.
229
+ After confirming `allow` and `persisted: true`, Orchestrator performs the external operation within its separately approved scope.
230
+ This CLI does not expand that execution authority.
231
+
232
+ `result`/`reconcile` accepts `{requestId, expectedRevision, actor, intentId,
233
+ result: {status, messageRef, data: {operation, scope, descriptor}}}`. intentId is the prepare requestId.
234
+ Target mismatches, unknown outcomes and stale results cause a hold while preserving earlier attestations. After an interruption,
235
+ use `status` to inspect the intent, `state.requests`, `state.audit` and `state.results`, and investigate whether the effect occurred.
236
+ Reconcile the investigation result against the same intent rather than preparing again or reusing the same approval to execute again.
237
+ Cancellation additionally requires a `notExecutedEvidence: {messageRef}` attestation that the operation was not executed.
238
+ The approval remains consumed after cancellation. Do not resolve version drift through automatic updates, migration or renewed permission.
239
+ Report the cause of the hold to Orchestrator.
240
+
241
+ Even succeeded results are operator attestations, not independent remote verification. `audit` retains the
242
+ request→decision→intent→result→resolution linkage, but is a locally editable record rather than tamper-proof security evidence.
243
+ Do not retry while the actual external outcome is uncertain.
@@ -42,7 +42,7 @@ and records the actual absolute workspace/repository, branch or detached HEAD, H
42
42
  explicit choice and preparation evidence, and absolute document paths inside that target. Planner drafts for that
43
43
  verified workspace; Orchestrator saves directly in the selected target. Missing or mismatched evidence stops the
44
44
  affected drafting or save and is reported to Orchestrator. Planned scope and paths do not establish actual preparation.
45
- Initial target preparation does not authorize Coder; the complete handoff gate still applies.
45
+ Initial target preparation does not authorize Implementer; the complete handoff gate still applies.
46
46
 
47
47
  Orchestrator classifies scope before implementation. The Orchestrator direct path for small tasks is defined only in
48
48
  [handoff](handoff.md#orchestrator-direct-path-for-small-tasks); follow it there and stop and reclassify if scope or risk changes.
@@ -75,6 +75,15 @@ Initial design, required spec approval, and formal plan drafting/approval remain
75
75
  Allow additional Planner calls for substantive omissions or user-approved scope/evidence changes. There is no fixed
76
76
  call cap; never accept an incomplete draft to minimize calls. Do not add call-count conditions to Planner profiles.
77
77
 
78
+ The complete initial brief identifies original user requirements, criteria IDs, approved decisions and open decisions;
79
+ current behavior and connected source, generated, runtime, installer and documentation surfaces; conflicting rules and
80
+ resolution direction; exact current-stage deliverable and absolute output path. Keep the shared brief's fixed field order
81
+ in [coordination](coordination.md). Link accessible evidence and needed ranges instead of full dialogue or raw logs.
82
+ Consolidated feedback contains changed fields only and marks remaining fields `unchanged` relative to the received brief.
83
+ Do not call Planner again for already resolved questions. Missing target preparation or required decisions holds formal
84
+ drafting; initial design proposals may still precede target selection. Written-spec approval precedes dependent plan drafting.
85
+
86
+
78
87
  ## Design path and plan depth
79
88
 
80
89
  Record design and plan depth separately from verification risk. Risk determines checks and review, not the design path;
@@ -86,12 +95,12 @@ a bounded path or document omission does not imply low risk, and architectural d
86
95
  answers/revisions, and obtains approvals; Orchestrator never runs brainstorming or writing-plans itself (SKILL.md
87
96
  Role gate); the direct path uses only a scope record.
88
97
  2. Spike: apply Probe scope above; distinguish probe-only authorization from a sufficiently specified combined scope.
89
- Bounded: approve a short design before Coder or an Orchestrator direct edit (Planner's design before
90
- Coder; a direct edit uses only an approved scope record). Architectural: approve the design, then Planner returns a
98
+ Bounded: approve a short design before Implementer or an Orchestrator direct edit (Planner's design before
99
+ Implementer; a direct edit uses only an approved scope record). Architectural: approve the design, then Planner returns a
91
100
  complete spec draft and self-review; Orchestrator integrates, saves (user's path or
92
101
  `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`), self-reviews, and obtains written-spec approval before
93
102
  implementation planning. Planner is read-only and cannot request approval.
94
- 3. After approved design/spec and before Coder, Orchestrator assesses plan depth separately from file count, LOC,
103
+ 3. After approved design/spec and before Implementer, Orchestrator assesses plan depth separately from file count, LOC,
95
104
  or bounded scope. Architectural work always uses `writing-plans` and a written plan approval, regardless of locality,
96
105
  risk, or size. For Bounded work skip the plan only for one local change with no dependent stages, cross-component
97
106
  shared state, lifecycle or integration-order concerns, and one focused verification path; otherwise require a draft.
@@ -99,9 +108,9 @@ a bounded path or document omission does not imply low risk, and architectural d
99
108
  this assessment, including any Bounded written spec requirement, recorded in the brief.
100
109
  4. Record dependencies and any plan-depth rationale in the brief. Planner returns the complete proportional plan,
101
110
  assumptions/open decisions, verification requirements, and self-review. Orchestrator integrates, saves to the user's
102
- path or `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`, self-reviews, and obtains plan approval before Coder.
111
+ path or `docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md`, self-reviews, and obtains plan approval before Implementer.
103
112
  Planner cannot save, implement, or request approval.
104
- 5. Every Coder first start and restart requires all applicable approvals and the Common handoff gate (SKILL.md,
113
+ 5. Every Implementer first start and restart requires all applicable approvals and the Common handoff gate (SKILL.md,
105
114
  handoff). Non-behavior configuration/documentation may skip inapplicable design/planning stages but not the gate.
106
115
 
107
116
  When Orchestrator's recorded plan-depth judgment requires a Bounded written spec, record that and its scope,
@@ -129,12 +138,12 @@ and approved obligations. No-change, hold, and resume follow [commit](commit.md)
129
138
 
130
139
  ## Dependency and readiness record
131
140
 
132
- After plan approval and before the first Coder assignment, Orchestrator records all top-level task IDs in the
141
+ After plan approval and before the first Implementer assignment, Orchestrator records all top-level task IDs in the
133
142
  accessible canonical handoff record, linked to the approved plan version. For each task record explicit and implicit
134
143
  predecessors, required inputs, outputs and shared contracts, owned files, conflicting shared resources, required
135
144
  checks/QA path, ready/held status and reasons. Record the initial ready batch and capacity/serialization reasons.
136
145
  Analyze shared APIs, contracts, generated artifacts and resources even when tasks edit different files. Unresolved
137
- shared contracts or insufficient dependency information block the affected tasks; same-file concurrent Coder edits
146
+ shared contracts or insufficient dependency information block the affected tasks; same-file concurrent Implementer edits
138
147
  are blocked even for different lines. Do not infer independence from file separation or plan listing order.
139
148
 
140
149
  A task is ready only when all applicable approvals and execution preparation are complete, required inputs/contracts
@@ -142,7 +151,7 @@ are available and settled, predecessors have required evidence and Orchestrator
142
151
  commits (or accepted no-change records), ownership/resources do not conflict, its required check/QA path is available,
143
152
  and a subagent slot exists under both the configured ARC full-tree cap shared by all roles and any lower actual runtime
144
153
  limit (see [limits](limits.md)). Report runtime limits; ARC's cap is not a claim of runtime capability. Start all ready
145
- independent tasks with fresh Coders concurrently within capacity; record each hold or serialization reason instead of
154
+ independent tasks with fresh Implementers concurrently within capacity; record each hold or serialization reason instead of
146
155
  silently following list order. Preserve existing risk gates, risk-scaled QA/Reviewer timing and execution-target
147
156
  restrictions.
148
157
 
@@ -190,23 +199,23 @@ Claude v1 uses the current checkout or an approved task branch there; managed wo
190
199
  Normal order: initial design approval → execution-target choice → target preparation and verification →
191
200
  formal spec drafting (when required), saving and self-review → written-spec approval → formal plan drafting
192
201
  (when required), saving and self-review → individual plan approvals → complete applicable set → existing-commit
193
- verification and one batch docs commit of remaining approved documents → final Git verification → Coder handoff.
202
+ verification and one batch docs commit of remaining approved documents → final Git verification → Implementer handoff.
194
203
  Written-spec approval precedes dependent plan drafting. On document-omission paths skip only the inapplicable document
195
- steps; preserve target choice, preparation, state/ownership checks and Coder gates.
204
+ steps; preserve target choice, preparation, state/ownership checks and Implementer gates.
196
205
 
197
206
  While documents are being written, reviewed, or approved, do not stage documents or commit planning documents.
198
207
  Selection and initial target preparation happen before formal drafting; document completion is a staging/commit gate,
199
- not an initial preparation gate. An incomplete set or missing applicable approval blocks document commit and Coder,
200
- not the initial choice request. No early Coder work is authorized by approval of only some documents.
208
+ not an initial preparation gate. An incomplete set or missing applicable approval blocks document commit and Implementer,
209
+ not the initial choice request. No early Implementer work is authorized by approval of only some documents.
201
210
 
202
211
  This ARC defers the local brainstorming early spec commit: save and self-review the spec, obtain written-spec
203
212
  approval without committing, then write and approve all plans; commit the spec only in the final batch.
204
- `writing-plans` commit steps do not permit document commits during planning or start Coder.
213
+ `writing-plans` commit steps do not permit document commits during planning or start Implementer.
205
214
  Do not modify external skills.
206
215
 
207
216
  | Path | Approvals and preparation |
208
217
  |---|---|
209
- | Spike probe | Approve question, method/scope, criteria, constraints; no spec/plan forced. If Coder runs the probe, pass the Common handoff gate after approval. Read-only investigation needs no gate. |
218
+ | 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. |
210
219
  | Bounded, plan skipped | Approve the short design and record plan-skip criteria; select target, prepare any documents or record absence, pass the gate. |
211
220
  | 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. |
212
221
  | 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. |
@@ -215,14 +224,43 @@ Do not modify external skills.
215
224
  Apply Authorization and scope above to probe-only and combined requests; preserve required design/spec/plan gates.
216
225
  These gates add no new spec obligation for Spike, Bounded plan-skip, or non-behavior documentation/configuration paths.
217
226
  Document omission skips only document obligations, never target choice, Git/ownership checks,
218
- or handoff evidence. New scope found in planning requires reassessing the list and additional approvals before dependent drafting or commit; revised approved documents need renewed approval. New scope found during implementation stops dependent
219
- execution (a running Coder stops before edits dependent on new plans) until its documents, approvals,
220
- and preparation are complete; do not amend old commits to cover it.
227
+ 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
228
+ execution (a running Implementer stops before edits dependent on new plans) until its documents, approvals,
229
+ 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.
230
+
231
+ ## Plan updates during execution
232
+
233
+ Mechanical execution records may be recorded without new user approval: checkbox completion, actual results, evidence
234
+ links and task completion state that preserve the approved execution contract. Record their classification, reason and
235
+ actual recording time in the canonical handoff record. Required checks' removal, invented success, unsupported acceptance
236
+ or scope changes mixed with a completion mark are not mechanical records.
237
+
238
+ Changes to goals, task scope or boundaries, acceptance criteria, method, risk, dependencies or required verification
239
+ require revised-version approval before affected work. Hold affected execution, obtain necessary design/spec/plan approvals
240
+ in order, and complete target, ownership, checks and handoff preparation before resuming. Other approved body corrections
241
+ follow the document-version approval rules; classify typos, paths, commands and explanations by their semantic effect.
242
+
243
+ Both mechanical records and approved contract revisions amend the original planning-document commit at a safe checkpoint.
244
+ Make no separate document commit or fixup commit, including for newly approved scope. Preserve implementation task commits.
245
+ This history update does not make actual approval time retroactive: the latest plan in the original commit is not evidence
246
+ that its contents were approved from the outset. Never use rewritten history to justify work started before approval.
247
+
248
+ In the canonical handoff record preserve plan absolute/Git paths; before and after content hashes and versions; prior and
249
+ revised approval references and actual times; change reason and classification; affected tasks and hold/preparation/resume
250
+ evidence. For mechanical records explain why no new approval is needed and record the time. Preserve recoverable document
251
+ contents, not hashes alone, and each old-to-new SHA mapping for the original document commit and descendant task commits.
252
+ Do not overwrite earlier approval references or the contents they approved.
253
+
254
+ Orchestrator alone performs the safe rewrite in [handoff-prep](handoff-prep.md#execution-time-plan-amendment) and
255
+ [commit](commit.md#execution-time-plan-document-updates). Shared/published or unknown history, merges, unclear ownership,
256
+ unexpected HEAD/dirty state and replay conflicts stop affected work. No force push or fallback document commit.
257
+ After rewriting, connect evidence to the new state under [verification](verification.md#evidence-after-plan-history-rewrite).
258
+ This contract adds no Git automation, runtime enforcement, authority or exemption from required checks/QA/Reviewer gates.
221
259
 
222
260
  ## Evidence refresh and limits
223
261
 
224
262
  Missing or mismatched evidence, unfinished approvals, unclear ownership, or unresolved failure blocks the affected save,
225
- target request, Git mutation, or Coder handoff; Orchestrator resolves it and reverifies.
263
+ target request, Git mutation, or Implementer handoff; Orchestrator resolves it and reverifies.
226
264
  Reverify when scope, approved versions, paths, target, or Git state changes. Never treat an early save or commit as
227
265
  satisfying a gate or as approval; record the actual order and gaps. Structural checks prove only the written policy,
228
266
  not agent runtime compliance; without execution records for role returns, approvals, saves, and Git actions,
@@ -239,8 +277,21 @@ skill. Missing files stop the stage; report paths without global fallback. Keep
239
277
  [ARC role policy: contract begin]
240
278
  Generated from lib/policy/role-policy.json; do not edit this managed section manually.
241
279
  - [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.
242
- - [review.significant-no-plan] For significant/high-risk work without a plan: Coder → QA and required QA rechecks → Reviewer of the final full change → Orchestrator acceptance. MUST NOT omit Reviewer merely because no plan exists. This creates no new plan obligation.
243
- - [review.significant-plan] For significant/high-risk plan work: each task uses Coder → fresh QA as required → Orchestrator acceptance and focused commit. 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 required gate. Preserve required checks and necessary finding rechecks.
244
- - [review.final-plan-recheck] For final overall Reviewer findings on plan work, including behavior findings, use Coder → 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.
280
+ - [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 merely because no plan exists. This creates no new plan obligation.
281
+ - [review.significant-plan] For significant/high-risk plan work: each task uses Implementer → fresh QA as required → Orchestrator acceptance and focused commit. 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 required gate. Preserve required checks and necessary finding rechecks.
282
+ - [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.
283
+ - [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.
284
+ - [planning.planner-brief] Before formal drafting, Orchestrator supplies one complete stage-specific brief with original requirements and criteria IDs, approved/open decisions, verified target and ownership, document paths and preceding approved versions, current behavior and connected source/generated/runtime/installer/documentation surfaces, policy conflicts, depth, dependencies, checks, holds and exact deliverable. Preserve shared brief field order. Review the complete draft once and consolidate substantive feedback as changed fields with other fields marked unchanged. Preserve sequential design, spec and plan approvals; no fixed call cap or incomplete drafts, and no calls for already resolved questions.
245
285
  - [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.
246
286
  [ARC role policy: contract end]
287
+
288
+ ## Approved cooperative execution path within the repository
289
+
290
+ The explicitly approved `arc workflow` CLI in this repository connects document commits to the initial Implementer assignment in plan mode.
291
+ 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.
292
+ `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.
293
+
294
+ Orchestrator records the SHA-256 values of the user-approved spec and plan, their shared docs-only commit, document version and approval version.
295
+ The CLI verifies the exact changed paths in actual Git objects and the current document bytes before persisting an assignment intent.
296
+ A new workflow or late document commit cannot prove earlier execution was compliant. Earlier agent history and execution outside this path remain unverified.
297
+ Approval attestations and native returns are `operator-attested`; an agent ID is not an authenticated identity.