@yunhozz/arc 0.1.6 → 0.1.9

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.
package/MANIFEST.sha256 CHANGED
@@ -6,18 +6,18 @@ d853d31ba0d1a04661adf8cae1df11058455cb5d366c52312888c9dd2e9a1fb8 claude/agents/
6
6
  d864e57a1b2b6d69435a17a5c56a0e2c68d26592dd5e510be8d0fa341762cad1 claude/agents/arc-qa.md
7
7
  bd51442a5e76d4b61cbeb7f42d43cbcc7bab890db0d39ef16002ae13f5317c34 claude/agents/arc-reviewer.md
8
8
  c20162438bb8ac6905164268f867a8f1cfdbbfd51ddfd7e795cc211cc7f8c858 claude/agents/arc-scouter.md
9
- 525c92fb52cc45c2f779176629e11c3a21f4e4434648cd5d6e4f6d7657f536f6 claude/skill/SKILL.md
9
+ c5002996b3feb406c52dcbb305631e98d5206176c4617933763c6f2e17da6bb3 claude/skill/SKILL.md
10
10
  0bf77247b82371b3fe12a8dbe8fd2415c98d06e676d2c234b086b1f1e661b9db claude/skill/hooks/git-policy.json
11
11
  b188c24d1339367acfe16b81be5743298e498856915e5e91b45e1a7220dad602 claude/skill/hooks/role-git-guard.mjs
12
12
  5126d44470486cb2581790b7c8d1605c4d0ee2448b725cf536ba1141eb40fa81 claude/skill/hooks/runtime-gate.mjs
13
13
  3926dbf9c7c244ebbb0baee17b1163387979793cb81c28e90977473d1e0a85e9 claude/skill/references/commit.md
14
- 33ccd670b9d365abcc03edbfa26761ad00970df8e46633799beee4e72e6148fe claude/skill/references/coordination.md
14
+ 61dc37bd08a9004e67cc7b76102cf3cbcb170a08d5d3576f27dcc39dec47a692 claude/skill/references/coordination.md
15
15
  90198f8bc6d9e99cbdb32604413c708753ff8503954b6b120aa7c7f00719de96 claude/skill/references/git-recovery.md
16
16
  d4b3100626831b23f0b1cf0106ef9f3bc7e6f3d14864e9dd93ae0f8063b5bdda claude/skill/references/handoff-prep.md
17
17
  42a13f77f2b28d660236237dff88cab166f052a178295cef253a774fd6fc8e40 claude/skill/references/handoff.md
18
18
  4172c1c8ba397ceb561e437cc6ef02d4c2d7e7ed3df1400a4efbf4b46ddca4fa claude/skill/references/limits.md
19
19
  93a7001c6ad4215170fa331261c2d58835fcdad823724f024d5c81a450133340 claude/skill/references/planning.md
20
- 78704f725dd82bf49f7916ef5522e8c52040ccb05e109b568796d8a9f6e52e6e claude/skill/references/verification.md
20
+ d25178b548e5bccd7ee5c9efea1b48e8a2f3a6275b6572ab648566eada309c2b claude/skill/references/verification.md
21
21
  cae43b5105a1300e87526bcc286516519863b2f8c5f70cd6fe1e0950b196a762 claude/skill/references/visual-companion.md
22
22
  30d8cdcb9d7ab6396cab09cd9f5cf6b8003f5490fb5c0ffe9f5acffbb0534978 claude/skill/runtime/adapters/claude.mjs
23
23
  d30d118d3b42b805195ed05a3dea0ed3cf939eac811cf0228ca0b0cafeda7969 claude/skill/runtime/adapters/codex.mjs
@@ -28,7 +28,7 @@ b210df233983ffef326d65ae41a096fdef1b53d1e300ada3b217de3524686701 claude/skill/r
28
28
  494470cf70121ddac8d716586b0c05b1f0977f3eada8c0323ed34dc157b0db8e claude/skill/runtime/git-query.mjs
29
29
  cde1d91eb252e212e1985cee4bac0753964ba1c507202c711adab88f020e474d claude/skill/runtime/identity.mjs
30
30
  23339b1d2ac83c673ded090f993dee7985c785442cababdb6a3a224163451eef claude/skill/runtime/operations.mjs
31
- c93f08cf6cafb5d96007df33d00dadda676c54b074fb998c2e523ecfc5e23d30 claude/skill/runtime/role-policy.json
31
+ 46b4e793c538f858b3a3e46087cd140a5a34154e6ecf5381c22b71250f289904 claude/skill/runtime/role-policy.json
32
32
  71d5696e0523f2f915a2de02cf3ded453b27783b9e09d2b98ec4aef1958a26a4 claude/skill/runtime/schema.mjs
33
33
  aa1361419c0137f74793847805a3abc076a8d782c6f590e2d28b8eee5c35065d claude/skill/runtime/store.mjs
34
34
  e4445f3582c55861907e11dfe97ea9e87c69bcc3ff773d3d583914c198f1d024 claude/skill/scripts/apply-models.py
@@ -38,17 +38,17 @@ d9c718e4a1cce5fef343afbc623ebb82fd29b85f40270b84a0f1770f57a61a50 codex/agents/a
38
38
  793d132db240208729c2d54068634e872ead72b573c0cd4648a6e2f50e5cc56c codex/agents/arc-qa.toml
39
39
  022f1abd7fd325ab543f6c7c5263a1d0c973be417a39ee8f3bb3295b44749fa3 codex/agents/arc-reviewer.toml
40
40
  0dc1905c3bb16e3b7117d9b38cab0c1e6e93f496afdb82f782ef830f1f3a6417 codex/agents/arc-scouter.toml
41
- 79a113eebcaff301656fdc52f3713f0dad909ce7b55d6a0357504ca20eb48549 codex/skill/SKILL.md
41
+ e80d96e74664741e9c6659b73c0ed5327ab0148e7b0f81a7eb7683ff43b8f094 codex/skill/SKILL.md
42
42
  019f190ee7a2ccfea059a289ca971265574b043353f89bc96e219436c9827e9e codex/skill/hooks/runtime-gate.mjs
43
43
  ce8ab4dd1a69176fc4d76b2e9e3c81b9165586c3a29833fe855f2a085f22195e codex/skill/references/commit.md
44
- 263b4d59d67bc365bcf9e658ebfba1d3896662c5fcdb0f45a87a30fd6b0fd43a codex/skill/references/coordination.md
44
+ 1aa3442643111a79985cb29ea90ca3fc357b989aaf37a1540115864d3e9c3acd codex/skill/references/coordination.md
45
45
  be0a2e4050a0cad20d272775698be82dcc244081c4c1092de56e8a118de718b1 codex/skill/references/git-recovery.md
46
46
  39ce5bb81d1fa303394c8c2c6b0d306d9fc341a866654fdabb02a33e6f5c2dee codex/skill/references/handoff-prep.md
47
47
  272b60b91ac05139985611d1555c417eab3ca1783655a9196511a0eda02caaba codex/skill/references/handoff-worktree.md
48
48
  3338d9080415c3cdd4c7a5337f5c1f1d74e9f6cfb084181fe9cce78d906a1162 codex/skill/references/handoff.md
49
49
  89ae51633112f8c7bd71ab15940085e01e57d6582fb0d977c9efdf9d77ce9fc3 codex/skill/references/limits.md
50
50
  ed40f33754e4b6df683fe567b91974a381cf99ebd5ec772b493a71f17f01d5a7 codex/skill/references/planning.md
51
- 3b89adb5bfbf91ac4937b41cdd3a5ebb2ffb652826fff9d834489bd377245e2c codex/skill/references/verification.md
51
+ 092ecc14f10c45a2048499270340074b52c1cb28c3807c55f50abe63053db4eb codex/skill/references/verification.md
52
52
  23d928dc115b922e5418db9c89057dab2f19acb7c946420a55923d3bb5148417 codex/skill/references/visual-companion.md
53
53
  30d8cdcb9d7ab6396cab09cd9f5cf6b8003f5490fb5c0ffe9f5acffbb0534978 codex/skill/runtime/adapters/claude.mjs
54
54
  d30d118d3b42b805195ed05a3dea0ed3cf939eac811cf0228ca0b0cafeda7969 codex/skill/runtime/adapters/codex.mjs
@@ -59,7 +59,7 @@ b210df233983ffef326d65ae41a096fdef1b53d1e300ada3b217de3524686701 codex/skill/ru
59
59
  494470cf70121ddac8d716586b0c05b1f0977f3eada8c0323ed34dc157b0db8e codex/skill/runtime/git-query.mjs
60
60
  cde1d91eb252e212e1985cee4bac0753964ba1c507202c711adab88f020e474d codex/skill/runtime/identity.mjs
61
61
  23339b1d2ac83c673ded090f993dee7985c785442cababdb6a3a224163451eef codex/skill/runtime/operations.mjs
62
- c93f08cf6cafb5d96007df33d00dadda676c54b074fb998c2e523ecfc5e23d30 codex/skill/runtime/role-policy.json
62
+ 46b4e793c538f858b3a3e46087cd140a5a34154e6ecf5381c22b71250f289904 codex/skill/runtime/role-policy.json
63
63
  71d5696e0523f2f915a2de02cf3ded453b27783b9e09d2b98ec4aef1958a26a4 codex/skill/runtime/schema.mjs
64
64
  aa1361419c0137f74793847805a3abc076a8d782c6f590e2d28b8eee5c35065d codex/skill/runtime/store.mjs
65
65
  57e93213dc97465757294cb9d0ae2f4eb2f1384b955c4ca2a39f2fa38f7a9bd7 codex/skill/scripts/apply-models.py
@@ -103,8 +103,8 @@ ee81dee01b1623d95dda9b1d195ce2008811dfb54af3da8324a9e538238ac84e lib/npm/proces
103
103
  7c36313221f36a9d08964017c79e8c7b3c848655f6a338f71a24ce508ac6e3ed lib/policy/claude-hook.mjs
104
104
  f32fcb03201c6a73d658a6b3107376f13d03f21503c568a7b4e71ff9b71dd426 lib/policy/placement.mjs
105
105
  09b5851cdbcb88b9d4d027e2d96aadb275660354ea64eef0aaa7583ec8090c3e lib/policy/render.mjs
106
- 5fd21f28b7983a89de8d52033ea61003462586ae679dbf87843b8291a2a29237 lib/policy/role-policy.json
107
- 80e270d526e9a9c5cac23fe6ae293c2fd25a0176e4a8060987fd19dafe2a4594 lib/release/artifact.mjs
106
+ 46b4e793c538f858b3a3e46087cd140a5a34154e6ecf5381c22b71250f289904 lib/policy/role-policy.json
107
+ 10a9286fcc74880b25e2d82830bc65017fc64141519b777aef39cc6c20c4ca7a lib/release/artifact.mjs
108
108
  30d8cdcb9d7ab6396cab09cd9f5cf6b8003f5490fb5c0ffe9f5acffbb0534978 lib/runtime/adapters/claude.mjs
109
109
  d30d118d3b42b805195ed05a3dea0ed3cf939eac811cf0228ca0b0cafeda7969 lib/runtime/adapters/codex.mjs
110
110
  c5a56ac147f13e9f946f673ac57a5dadbb4560d1f9deaa7c3b60e703f39b2d83 lib/runtime/capabilities.mjs
@@ -120,7 +120,7 @@ aa1361419c0137f74793847805a3abc076a8d782c6f590e2d28b8eee5c35065d lib/runtime/st
120
120
  4174dfcfcd4d69a5486b91108ec03279cfd50644109c7457aa87f9ac877fb1ac lib/safe-fs/native.mjs
121
121
  ff9c33c8b3c2bd466d54ffbe4c7139ccd87c79c7de34a6c4cde92e9f6e9b42d2 native/binding.c
122
122
  205bedc1dee1a9ffa58124c6e21256a1f0cbe24f06f7c8d7cb0b99524cfab9d0 native/binding.gyp
123
- 837e5eb730cc792d694939fd8cd5a5db41d6308052ac3fdae32bb0a9756ab51c package.json
123
+ e2e6b8cb4e4febc197e45fa9183610dfed4a58aa3a3db8c70d7025b4855de930 package.json
124
124
  208c65cfde244d39ce45c3cf1b0acb128f04d21199b6b3fb5466e62db5b64af9 prebuilds/darwin-arm64/arc_safe_fs.node
125
125
  572887ac794d10a8b921d8168ea2328e31f05b45987611ff02c83114dba901af prebuilds/darwin-x64/arc_safe_fs.node
126
126
  2bb9443021f9d873712b26321de733eddd6794c45f0bc79e2d5dc98669196635 prebuilds/index.json
@@ -13,7 +13,8 @@ If either auto-triggers in Orchestrator context, Orchestrator stops and routes t
13
13
  path in the brief. A user request to skip questions never waives design or approval gates; Planner returns questions to
14
14
  Orchestrator. Each top-level task (a plan task, or the whole request without a plan) gets a FRESH Coder,
15
15
  and each task that needs QA under Risk-scaled execution gets a FRESH QA, never one reused from another task;
16
- same-task rechecks may reuse.
16
+ same-task corrections and rechecks default to the current Coder and QA while the assignment remains valid;
17
+ a QA finding within the current task does not itself create a new task (see coordination and verification for restart exceptions).
17
18
 
18
19
  Follow user instructions and project guidance. Orchestrator uses the current chat model and answers a simple,
19
20
  self-contained question (answerable from context or one quick read, no edits) directly.
@@ -84,6 +85,6 @@ Read [handoff](references/handoff.md#common-handoff-gate) before every Coder fir
84
85
  Generated from lib/policy/role-policy.json; do not edit this managed section manually.
85
86
  - [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.
86
87
  - [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.
87
- - [role.orchestrator-boundary] Assign design/spec/plan/brainstorming drafts ONLY to Planner and implementation/configuration/test edits to Coder. Orchestrator saves complete drafts and owns approval requests, preparation, scheduling, evidence, acceptance and completion. Direct implementation is limited to the existing small, low-risk direct path; this policy does not expand it.
88
+ - [role.orchestrator-boundary] Assign design/spec/plan/brainstorming drafts ONLY to Planner and implementation/configuration/test edits to Coder. Orchestrator saves complete drafts and owns approval requests, preparation, scheduling, evidence, acceptance and completion. Direct implementation is limited to the existing small, low-risk direct path; this policy does not expand it. Use a fresh Coder per top-level task and a fresh QA per top-level task that needs QA; QA findings alone do not create a new task. While approved scope, workspace, ownership and relevant assignment context remain valid, default same-task QA findings to the current Coder and post-fix rechecks to the current QA. Replace or restart a role only when its context is invalid or unavailable, or the task boundary changes; an approved plan or acceptance-criteria amendment requires a fresh Coder even within the task. Before reusing Coder, refresh actual workspace, branch/HEAD and change state; QA reruns the reproduction path and invalidated related checks and reports actual actor, target state, outcomes and limitations. Preserve task-boundary acceptance and the final plan Reviewer correction exception.
88
89
  - [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.
89
90
  [ARC role policy: contract end]
@@ -51,11 +51,14 @@ 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; reuse the current Coder only for corrections, rework, or rechecks of the same
55
- task while the approved scope, workspace, ownership, and relevant context remain valid, after Orchestrator rechecks workspace,
56
- branch/HEAD and change state against the brief. A fresh Coder for the next task is a restart under handoff (choice reuse
57
- and restart brief rules are in handoff). After an approved plan or acceptance-criteria amendment, start a fresh Coder for
58
- the remaining work even within the same task. Do not add per-task QA or
54
+ starts a fresh Coder for each top-level task (Role gate); reuse the current Coder only for corrections, rework,
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.
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
61
+ the remaining work even within the same task; it is also a restart under handoff. Do not add per-task QA or
59
62
  review gates solely because a task boundary exists; apply risk requirements and specific approved obligations. If the
60
63
  next task depends on a still-unverified risky contract, complete applicable QA at that dependency boundary and
61
64
  resolve or explicitly disposition findings before dependent implementation. This does not create a gate for every task.
@@ -22,13 +22,19 @@ repairs.
22
22
  ## Reviewer timing and task acceptance
23
23
 
24
24
  Task acceptance and its focused commit need only the task's risk-scaled evidence: a FRESH QA instance per task that
25
- needs QA (same-task rechecks may reuse), or Orchestrator focused checks for small, low-risk tasks; Reviewer is never a
25
+ needs QA (default to the current QA for post-fix rechecks of the same task while the approved scope, workspace,
26
+ ownership, and relevant assignment context remain valid), or Orchestrator focused checks for small, low-risk tasks; Reviewer is never a
26
27
  plan-task acceptance prerequisite. Do not delay an independently acceptable task for final-only checks,
27
28
  and do not defer currently required task checks to final verification. For significant work with a plan,
28
29
  Reviewer reviews once on the final full change after all plan tasks are accepted with their risk-scaled checks and any
29
30
  QA recheck at the final relevant state; without a plan, Reviewer follows QA before acceptance.
30
31
  A task commit does not mark unperformed final verification complete.
31
32
 
33
+ Fresh-per-task rules apply to Coder and QA, not Reviewer. Orchestrator may reuse a Reviewer only while independent
34
+ of implementation and self-review, relevant assignment context remains valid, and refreshed review scope, target
35
+ state, and evidence are provided; otherwise assign another independent Reviewer. Reusing a Reviewer does not reuse
36
+ an earlier verdict or waive required review timing or coverage.
37
+
32
38
  For final Reviewer findings on already committed plan work, Orchestrator defines a follow-up task and required
33
39
  planning/approvals. Coder leaves corrections uncommitted during rechecks. Orchestrator refreshes the latest committed
34
40
  state plus uncommitted diff and changed-file list in the Reviewer artifact/brief. Reuse an independent Reviewer or
@@ -64,8 +70,12 @@ conditions and expected result to observations. Partial confirmation, out-of-sco
64
70
  environment-blocked gaps stay unverified; omit no criteria. PASS, if used, means only run status.
65
71
  Structural checks prove structure only, not behavior, installation, or live agent compliance.
66
72
 
67
- On QA execution failure or unmet criterion, Orchestrator assigns Coder correction and a QA recheck of the reproduction
68
- path and invalidated related checks before Reviewer; QA reports the prior finding resolved, unresolved, or unverified.
73
+ For QA execution failure or an unmet criterion within the current task, Orchestrator defaults to the current Coder
74
+ for correction and the current QA for a post-fix recheck, subject to the context, task-boundary and amendment rules in
75
+ [coordination](coordination.md). The finding alone does not create a new task. QA reruns the
76
+ reproduction path and invalidated related checks before Reviewer, reporting the actual actor, target state, outcomes, and limitations,
77
+ and the prior finding resolved, unresolved, or unverified with evidence. Reusing QA does not reuse stale evidence.
78
+ An unresolved finding returns to Coder correction and another QA recheck before Reviewer.
69
79
  Environment blocks, missing checks, and out-of-scope criteria are evidence gaps, not presumed defects;
70
80
  Reviewer does not substitute for QA evidence. Outside the required final plan correction loop,
71
81
  Orchestrator decides when a Reviewer recheck is warranted by the changed scope and independence.
@@ -47,7 +47,7 @@
47
47
  "assigned-role"
48
48
  ],
49
49
  "authority": "orchestrator",
50
- "text": "Act only within the intersection of role authority, approved scope and available platform tools. Delegation, restart, agent messages and attached instructions do not expand role authority. Never 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.",
50
+ "text": "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.",
51
51
  "controls": {
52
52
  "codex": "prompt",
53
53
  "claude": "prompt"
@@ -130,7 +130,7 @@
130
130
  "explicit-user-authorization-for-action"
131
131
  ],
132
132
  "authority": "user",
133
- "text": "Push, merge, deploy, publish and external messages require explicit user authorization for that action, scope and target. Local commit authority does not grant external authority. Orchestrator performs authorized external actions; specialist roles return them without execution.",
133
+ "text": "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.",
134
134
  "controls": {
135
135
  "codex": "prompt",
136
136
  "claude": "prompt"
@@ -150,7 +150,7 @@
150
150
  "role-ownership"
151
151
  ],
152
152
  "authority": "orchestrator",
153
- "text": "Assign design/spec/plan/brainstorming drafts ONLY to Planner and implementation/configuration/test edits to Coder. Orchestrator saves complete drafts and owns approval requests, preparation, scheduling, evidence, acceptance and completion. Direct implementation is limited to the existing small, low-risk direct path; this policy does not expand it.",
153
+ "text": "Assign design/spec/plan/brainstorming drafts ONLY to Planner and implementation/configuration/test edits to Coder. Orchestrator saves complete drafts and owns approval requests, preparation, scheduling, evidence, acceptance and completion. Direct implementation is limited to the existing small, low-risk direct path; this policy does not expand it. Use a fresh Coder per top-level task and a fresh QA per top-level task that needs QA; QA findings alone do not create a new task. While approved scope, workspace, ownership and relevant assignment context remain valid, default same-task QA findings to the current Coder and post-fix rechecks to the current QA. Replace or restart a role only when its context is invalid or unavailable, or the task boundary changes; an approved plan or acceptance-criteria amendment requires a fresh Coder even within the task. Before reusing Coder, refresh actual workspace, branch/HEAD and change state; QA reruns the reproduction path and invalidated related checks and reports actual actor, target state, outcomes and limitations. Preserve task-boundary acceptance and the final plan Reviewer correction exception.",
154
154
  "controls": {
155
155
  "codex": "prompt",
156
156
  "claude": "prompt"
@@ -190,7 +190,7 @@
190
190
  "approved-spec-before-dependent-plan"
191
191
  ],
192
192
  "authority": "orchestrator",
193
- "text": "Return design/spec/plan drafts and dependencies, criteria, hold conditions and verification needs in the response. Do 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.",
193
+ "text": "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.",
194
194
  "controls": {
195
195
  "codex": "prompt",
196
196
  "claude": "prompt"
@@ -211,7 +211,7 @@
211
211
  "tdd-or-recorded-exception"
212
212
  ],
213
213
  "authority": "orchestrator",
214
- "text": "Implement only assigned approved files and 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.",
214
+ "text": "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.",
215
215
  "controls": {
216
216
  "codex": "prompt",
217
217
  "claude": "prompt"
@@ -253,7 +253,7 @@
253
253
  "relevant-qa-evidence"
254
254
  ],
255
255
  "authority": "orchestrator",
256
- "text": "Independently inspect the assigned final changes and evidence and report actionable findings and limits. Remain read-only; do not execute QA tests, edit files, perform Git mutations or decide acceptance.",
256
+ "text": "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.",
257
257
  "controls": {
258
258
  "codex": "prompt",
259
259
  "claude": "prompt"
@@ -278,7 +278,7 @@
278
278
  "qa-rechecks"
279
279
  ],
280
280
  "authority": "orchestrator",
281
- "text": "For significant/high-risk work without a plan: Coder \u2192 QA and required QA rechecks \u2192 Reviewer of the final full change \u2192 Orchestrator acceptance. Do not omit Reviewer merely because no plan exists. This creates no new plan obligation.",
281
+ "text": "For significant/high-risk work without a plan: Coder \u2192 QA and required QA rechecks \u2192 Reviewer of the final full change \u2192 Orchestrator acceptance. MUST NOT omit Reviewer merely because no plan exists. This creates no new plan obligation.",
282
282
  "controls": {
283
283
  "codex": "prompt",
284
284
  "claude": "prompt"
@@ -327,7 +327,7 @@
327
327
  "reviewer-findings"
328
328
  ],
329
329
  "authority": "orchestrator",
330
- "text": "For final overall Reviewer findings on plan work, including behavior findings, use Coder \u2192 Reviewer without QA reassignment; repeat until resolved. This exception applies only to that final plan stage. Preserve required QA and QA failure rechecks before initial final review and outside this exception.",
330
+ "text": "For final overall Reviewer findings on plan work, including behavior findings, use Coder \u2192 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.",
331
331
  "controls": {
332
332
  "codex": "prompt",
333
333
  "claude": "prompt"
@@ -13,7 +13,8 @@ If either auto-triggers in Orchestrator context, Orchestrator stops and routes t
13
13
  path in the brief. A user request to skip questions never waives design or approval gates; Planner returns questions to
14
14
  Orchestrator. Each top-level task (a plan task, or the whole request without a plan) gets a FRESH Coder,
15
15
  and each task that needs QA under Risk-scaled execution gets a FRESH QA, never one reused from another task;
16
- same-task rechecks may reuse.
16
+ same-task corrections and rechecks default to the current Coder and QA while the assignment remains valid;
17
+ a QA finding within the current task does not itself create a new task (see coordination and verification for restart exceptions).
17
18
 
18
19
  Follow user instructions and project guidance. Orchestrator uses the current chat model and answers simple,
19
20
  self-contained questions directly. For substantive multistep work, Orchestrator coordinates implementation, configuration, tests,
@@ -85,6 +86,6 @@ Read [handoff](references/handoff.md#common-handoff-gate) before every Coder fir
85
86
  Generated from lib/policy/role-policy.json; do not edit this managed section manually.
86
87
  - [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.
87
88
  - [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.
88
- - [role.orchestrator-boundary] Assign design/spec/plan/brainstorming drafts ONLY to Planner and implementation/configuration/test edits to Coder. Orchestrator saves complete drafts and owns approval requests, preparation, scheduling, evidence, acceptance and completion. Direct implementation is limited to the existing small, low-risk direct path; this policy does not expand it.
89
+ - [role.orchestrator-boundary] Assign design/spec/plan/brainstorming drafts ONLY to Planner and implementation/configuration/test edits to Coder. Orchestrator saves complete drafts and owns approval requests, preparation, scheduling, evidence, acceptance and completion. Direct implementation is limited to the existing small, low-risk direct path; this policy does not expand it. Use a fresh Coder per top-level task and a fresh QA per top-level task that needs QA; QA findings alone do not create a new task. While approved scope, workspace, ownership and relevant assignment context remain valid, default same-task QA findings to the current Coder and post-fix rechecks to the current QA. Replace or restart a role only when its context is invalid or unavailable, or the task boundary changes; an approved plan or acceptance-criteria amendment requires a fresh Coder even within the task. Before reusing Coder, refresh actual workspace, branch/HEAD and change state; QA reruns the reproduction path and invalidated related checks and reports actual actor, target state, outcomes and limitations. Preserve task-boundary acceptance and the final plan Reviewer correction exception.
89
90
  - [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; Coder and QA need shell for approved checks.
90
91
  [ARC role policy: contract end]
@@ -58,9 +58,11 @@ ARC approval, ownership, TDD exceptions and executor adapters still apply.
58
58
  Orchestrator integrates role results, routes decisions and required approvals, and owns development acceptance
59
59
  and completion. Orchestrator coordinates dependent implementation tasks sequentially and
60
60
  starts a fresh Coder for each top-level task (Role gate); reuse the current Coder only for corrections, rework,
61
- or rechecks of the same task while the approved scope, workspace, ownership, and relevant context remain valid; before
62
- sending corrections or rework to a reused Coder, Orchestrator rechecks workspace, branch/HEAD and change state against the brief.
63
- A fresh Coder for the next task is a restart under handoff (choice reuse and restart brief rules are in handoff).
61
+ or rechecks of the same task while the approved scope, workspace, ownership, and relevant assignment context remain valid;
62
+ default to the current Coder for same-task QA corrections. A QA finding within the current task does not itself create
63
+ a new task. Before sending corrections or rework to a reused Coder, Orchestrator rechecks workspace, branch/HEAD and change state against the brief.
64
+ Replace or restart a role only when its context is invalid or unavailable, or the task boundary changes, subject to the
65
+ amendment exception below. A fresh Coder for the next task is a restart under handoff (choice reuse and restart brief rules are in handoff).
64
66
  After an approved plan or acceptance-criteria amendment, start a fresh Coder for
65
67
  the remaining work even within the same task; it is also a restart under handoff. Task-boundary gates
66
68
  follow [Risk-scaled execution](verification.md#risk-scaled-execution).
@@ -40,6 +40,11 @@ explicitly dispositioned.
40
40
 
41
41
  Criterion verdicts follow the Evidence verdict.
42
42
 
43
+ Fresh-per-task rules apply to Coder and QA, not Reviewer. Orchestrator may reuse a Reviewer only while independent
44
+ of implementation and self-review, relevant assignment context remains valid, and refreshed review scope, target
45
+ state, and evidence are provided; otherwise assign another independent Reviewer. Reusing a Reviewer does not reuse
46
+ an earlier verdict or waive required review timing or coverage.
47
+
43
48
  ### Final plan Reviewer correction loop
44
49
 
45
50
  For a plan's final overall Reviewer findings, including behavior findings, Orchestrator assigns
@@ -95,7 +100,8 @@ acceptance criteria to actual evidence, currently required checks and findings b
95
100
  completion, a Coder report or passing commands alone do not establish acceptance.
96
101
 
97
102
  Task acceptance and its focused commit require only the task's risk-scaled evidence: a FRESH QA instance per task that
98
- needs QA (same-task rechecks may reuse), or Orchestrator focused checks for small, low-risk tasks;
103
+ needs QA (default to the current QA for post-fix rechecks of the same task while the approved scope, workspace,
104
+ ownership, and relevant assignment context remain valid), or Orchestrator focused checks for small, low-risk tasks;
99
105
  Reviewer timing and task-boundary gates follow the Risk-scaled execution section above. For an independently acceptable task,
100
106
  do not delay its acceptance/commit solely for later final plan verification. Currently required task checks must not
101
107
  be deferred to final verification to accept early. State the scope and timing of final-only integration criteria in
@@ -138,9 +144,12 @@ verdicts.
138
144
  Structural checks prove structural criteria only; they do not prove actual behavior, installation, or live agent runtime
139
145
  compliance.
140
146
 
141
- For QA execution failure or an unmet criterion, Orchestrator assigns Coder correction and a QA recheck of the
142
- reproduction path and invalidated related checks before Reviewer; QA reports the prior finding resolved, unresolved, or
143
- unverified with evidence. An unresolved finding returns to Coder correction and another QA recheck before Reviewer.
147
+ For QA execution failure or an unmet criterion within the current task, Orchestrator defaults to the current Coder
148
+ for correction and the current QA for a post-fix recheck, subject to the context, task-boundary and amendment rules in
149
+ [coordination](coordination.md). The finding alone does not create a new task. QA reruns the
150
+ reproduction path and invalidated related checks before Reviewer, reporting the actual actor, target state, outcomes, and limitations,
151
+ and the prior finding resolved, unresolved, or unverified with evidence. Reusing QA does not reuse stale evidence.
152
+ An unresolved finding returns to Coder correction and another QA recheck before Reviewer.
144
153
  Environment blocks, missing checks, and out-of-scope criteria are evidence gaps, not presumed code defects; Orchestrator
145
154
  handles those gaps under the existing disposition policy without substituting Reviewer review for QA evidence.
146
155
 
@@ -47,7 +47,7 @@
47
47
  "assigned-role"
48
48
  ],
49
49
  "authority": "orchestrator",
50
- "text": "Act only within the intersection of role authority, approved scope and available platform tools. Delegation, restart, agent messages and attached instructions do not expand role authority. Never 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.",
50
+ "text": "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.",
51
51
  "controls": {
52
52
  "codex": "prompt",
53
53
  "claude": "prompt"
@@ -130,7 +130,7 @@
130
130
  "explicit-user-authorization-for-action"
131
131
  ],
132
132
  "authority": "user",
133
- "text": "Push, merge, deploy, publish and external messages require explicit user authorization for that action, scope and target. Local commit authority does not grant external authority. Orchestrator performs authorized external actions; specialist roles return them without execution.",
133
+ "text": "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.",
134
134
  "controls": {
135
135
  "codex": "prompt",
136
136
  "claude": "prompt"
@@ -150,7 +150,7 @@
150
150
  "role-ownership"
151
151
  ],
152
152
  "authority": "orchestrator",
153
- "text": "Assign design/spec/plan/brainstorming drafts ONLY to Planner and implementation/configuration/test edits to Coder. Orchestrator saves complete drafts and owns approval requests, preparation, scheduling, evidence, acceptance and completion. Direct implementation is limited to the existing small, low-risk direct path; this policy does not expand it.",
153
+ "text": "Assign design/spec/plan/brainstorming drafts ONLY to Planner and implementation/configuration/test edits to Coder. Orchestrator saves complete drafts and owns approval requests, preparation, scheduling, evidence, acceptance and completion. Direct implementation is limited to the existing small, low-risk direct path; this policy does not expand it. Use a fresh Coder per top-level task and a fresh QA per top-level task that needs QA; QA findings alone do not create a new task. While approved scope, workspace, ownership and relevant assignment context remain valid, default same-task QA findings to the current Coder and post-fix rechecks to the current QA. Replace or restart a role only when its context is invalid or unavailable, or the task boundary changes; an approved plan or acceptance-criteria amendment requires a fresh Coder even within the task. Before reusing Coder, refresh actual workspace, branch/HEAD and change state; QA reruns the reproduction path and invalidated related checks and reports actual actor, target state, outcomes and limitations. Preserve task-boundary acceptance and the final plan Reviewer correction exception.",
154
154
  "controls": {
155
155
  "codex": "prompt",
156
156
  "claude": "prompt"
@@ -190,7 +190,7 @@
190
190
  "approved-spec-before-dependent-plan"
191
191
  ],
192
192
  "authority": "orchestrator",
193
- "text": "Return design/spec/plan drafts and dependencies, criteria, hold conditions and verification needs in the response. Do 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.",
193
+ "text": "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.",
194
194
  "controls": {
195
195
  "codex": "prompt",
196
196
  "claude": "prompt"
@@ -211,7 +211,7 @@
211
211
  "tdd-or-recorded-exception"
212
212
  ],
213
213
  "authority": "orchestrator",
214
- "text": "Implement only assigned approved files and 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.",
214
+ "text": "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.",
215
215
  "controls": {
216
216
  "codex": "prompt",
217
217
  "claude": "prompt"
@@ -253,7 +253,7 @@
253
253
  "relevant-qa-evidence"
254
254
  ],
255
255
  "authority": "orchestrator",
256
- "text": "Independently inspect the assigned final changes and evidence and report actionable findings and limits. Remain read-only; do not execute QA tests, edit files, perform Git mutations or decide acceptance.",
256
+ "text": "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.",
257
257
  "controls": {
258
258
  "codex": "prompt",
259
259
  "claude": "prompt"
@@ -278,7 +278,7 @@
278
278
  "qa-rechecks"
279
279
  ],
280
280
  "authority": "orchestrator",
281
- "text": "For significant/high-risk work without a plan: Coder \u2192 QA and required QA rechecks \u2192 Reviewer of the final full change \u2192 Orchestrator acceptance. Do not omit Reviewer merely because no plan exists. This creates no new plan obligation.",
281
+ "text": "For significant/high-risk work without a plan: Coder \u2192 QA and required QA rechecks \u2192 Reviewer of the final full change \u2192 Orchestrator acceptance. MUST NOT omit Reviewer merely because no plan exists. This creates no new plan obligation.",
282
282
  "controls": {
283
283
  "codex": "prompt",
284
284
  "claude": "prompt"
@@ -327,7 +327,7 @@
327
327
  "reviewer-findings"
328
328
  ],
329
329
  "authority": "orchestrator",
330
- "text": "For final overall Reviewer findings on plan work, including behavior findings, use Coder \u2192 Reviewer without QA reassignment; repeat until resolved. This exception applies only to that final plan stage. Preserve required QA and QA failure rechecks before initial final review and outside this exception.",
330
+ "text": "For final overall Reviewer findings on plan work, including behavior findings, use Coder \u2192 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.",
331
331
  "controls": {
332
332
  "codex": "prompt",
333
333
  "claude": "prompt"
@@ -150,7 +150,7 @@
150
150
  "role-ownership"
151
151
  ],
152
152
  "authority": "orchestrator",
153
- "text": "Assign design/spec/plan/brainstorming drafts ONLY to Planner and implementation/configuration/test edits to Coder. Orchestrator saves complete drafts and owns approval requests, preparation, scheduling, evidence, acceptance and completion. Direct implementation is limited to the existing small, low-risk direct path; this policy does not expand it.",
153
+ "text": "Assign design/spec/plan/brainstorming drafts ONLY to Planner and implementation/configuration/test edits to Coder. Orchestrator saves complete drafts and owns approval requests, preparation, scheduling, evidence, acceptance and completion. Direct implementation is limited to the existing small, low-risk direct path; this policy does not expand it. Use a fresh Coder per top-level task and a fresh QA per top-level task that needs QA; QA findings alone do not create a new task. While approved scope, workspace, ownership and relevant assignment context remain valid, default same-task QA findings to the current Coder and post-fix rechecks to the current QA. Replace or restart a role only when its context is invalid or unavailable, or the task boundary changes; an approved plan or acceptance-criteria amendment requires a fresh Coder even within the task. Before reusing Coder, refresh actual workspace, branch/HEAD and change state; QA reruns the reproduction path and invalidated related checks and reports actual actor, target state, outcomes and limitations. Preserve task-boundary acceptance and the final plan Reviewer correction exception.",
154
154
  "controls": {
155
155
  "codex": "prompt",
156
156
  "claude": "prompt"
@@ -30,7 +30,7 @@ function metadata(pkg,lock,{artifact=false}={}){
30
30
  if(artifact?root.hasInstallScript!==true:Object.hasOwn(root,'hasInstallScript'))throw new Error('Package lock install script metadata mismatch');
31
31
  }
32
32
  }
33
- function inputNames(pkg){const names=new Set(['README.md','package.json','package-lock.json','MANIFEST.sha256']);for(const entry of pkg.files??[]){const name=entry.replace(/\/$/,'');if(!name||name.startsWith('/')||name.includes('\\')||name.split('/').some(part=>!part||part==='.'||part==='..')||/[*?\[\]]/.test(name))throw new Error('Unsupported package files entry');names.add(name);}return [...names].sort();}
33
+ function inputNames(pkg){const names=new Set(['README.md','package.json','package-lock.json','MANIFEST.sha256']);for(const entry of pkg.files??[]){if(entry==='!**/__pycache__/**'||entry==='!**/*.pyc')continue;const name=entry.replace(/\/$/,'');if(!name||name.startsWith('/')||name.startsWith('!')||name.includes('\\')||name.split('/').some(part=>!part||part==='.'||part==='..')||/[*?\[\]]/.test(name))throw new Error('Unsupported package files entry');names.add(name);}return [...names].sort();}
34
34
  function sourceMetadata(root){
35
35
  const directory=openRoot(root);
36
36
  try{const result={};for(const name of ['package.json','package-lock.json']){const stat=directory.lstat(name);if(typeOf(stat)!==0o100000)throw new Error('Expected regular source metadata: '+name);result[name]=readCheckedFile(directory,name,stat).bytes;}return result;}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yunhozz/arc",
3
- "version": "0.1.6",
3
+ "version": "0.1.9",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"
@@ -37,7 +37,9 @@
37
37
  "claude/skill/",
38
38
  "claude/agents/",
39
39
  "MANIFEST.sha256",
40
- "install.command"
40
+ "install.command",
41
+ "!**/__pycache__/**",
42
+ "!**/*.pyc"
41
43
  ],
42
44
  "repository": {
43
45
  "type": "git",