@azure-id/orc 0.56.1 → 1.1.0

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 (162) hide show
  1. package/CHANGELOG.md +219 -0
  2. package/README-id.md +49 -107
  3. package/README.md +694 -719
  4. package/bin/build-agents.js +18 -11
  5. package/bin/cli.js +33699 -29855
  6. package/bin/onboarding-content.js +0 -3
  7. package/bin/test-run.js +491 -0
  8. package/bin/verify-contracts.js +4330 -3277
  9. package/bin/verify-package.js +76 -6
  10. package/bin/webui/api.js +1201 -1163
  11. package/bin/webui/app.html +210 -198
  12. package/bin/webui/css/06-responsive.css +120 -108
  13. package/bin/webui/css/panels/extra.css +29 -0
  14. package/bin/webui/css/panels/lanes.css +134 -0
  15. package/bin/webui/css/panels/settings.css +79 -3
  16. package/bin/webui/css/panels/wait.css +123 -0
  17. package/bin/webui/fixtures/extra.js +2036 -1934
  18. package/bin/webui/fixtures/flow.js +2 -2
  19. package/bin/webui/fixtures/index.js +510 -486
  20. package/bin/webui/fixtures/lanes.js +218 -0
  21. package/bin/webui/fixtures/settings.js +261 -34
  22. package/bin/webui/fixtures/stats.js +3 -3
  23. package/bin/webui/fixtures/wait.js +97 -0
  24. package/bin/webui/i18n/TERMS.md +135 -134
  25. package/bin/webui/i18n/en/extra.json +345 -313
  26. package/bin/webui/i18n/en/lanes.json +29 -0
  27. package/bin/webui/i18n/en/nav.json +21 -19
  28. package/bin/webui/i18n/en/overview.json +2 -0
  29. package/bin/webui/i18n/en/settings.json +16 -5
  30. package/bin/webui/i18n/en/wait.json +41 -0
  31. package/bin/webui/i18n/id/extra.json +345 -313
  32. package/bin/webui/i18n/id/lanes.json +29 -0
  33. package/bin/webui/i18n/id/nav.json +21 -19
  34. package/bin/webui/i18n/id/overview.json +2 -0
  35. package/bin/webui/i18n/id/settings.json +15 -4
  36. package/bin/webui/i18n/id/wait.json +41 -0
  37. package/bin/webui/js/01-i18n.js +151 -149
  38. package/bin/webui/js/panels/extra.js +3199 -3011
  39. package/bin/webui/js/panels/lanes.js +259 -0
  40. package/bin/webui/js/panels/overview.js +10 -0
  41. package/bin/webui/js/panels/settings.js +149 -3
  42. package/bin/webui/js/panels/wait.js +253 -0
  43. package/package.json +39 -39
  44. package/templates/agents/MODEL-MAPPING.md +23 -35
  45. package/templates/agents/orc-executor-opus-4-7-high.md +1 -1
  46. package/templates/agents/orc-executor-opus-4-7-med.md +1 -1
  47. package/templates/agents/orc-executor-opus-4-8-high.md +1 -1
  48. package/templates/agents/orc-executor-opus-5-high.md +1 -1
  49. package/templates/agents/orc-executor-opus-5-low.md +1 -1
  50. package/templates/agents/orc-executor-opus-5-med.md +1 -1
  51. package/templates/agents/orc-retro-opus-5-med.md +73 -73
  52. package/templates/agents/orc-retro-sonnet-5-high.md +72 -72
  53. package/templates/agents/orc-trace-writer-haiku-4-5.md +107 -107
  54. package/templates/commands/orc-route.md +1 -1
  55. package/templates/commands/orc-wait.md +19 -0
  56. package/templates/commands/orc.md +1 -1
  57. package/templates/hooks/orc-statusline.js +39 -0
  58. package/templates/skills/_shared/README.md +7 -3
  59. package/templates/skills/_shared/config-precedence.md +198 -0
  60. package/templates/skills/_shared/drift-recovery.md +1 -1
  61. package/templates/skills/_shared/extra-dispatch.md +159 -7
  62. package/templates/skills/_shared/interview.md +1 -1
  63. package/templates/skills/_shared/opus5-only.md +9 -7
  64. package/templates/skills/_shared/phases/README.md +82 -0
  65. package/templates/skills/{orc/references → _shared/phases}/analyst-gates.md +15 -3
  66. package/templates/skills/_shared/phases/execution.md +143 -0
  67. package/templates/skills/{orc/references → _shared/phases}/house-rules.md +13 -1
  68. package/templates/skills/{orc/references → _shared/phases}/intake.md +15 -2
  69. package/templates/skills/_shared/phases/mock-example.md +56 -0
  70. package/templates/skills/{orc/references → _shared/phases}/plan-handoff.md +16 -3
  71. package/templates/skills/_shared/phases/planning.md +135 -0
  72. package/templates/skills/_shared/phases/preflight.md +98 -0
  73. package/templates/skills/_shared/phases/review.md +53 -0
  74. package/templates/skills/_shared/phases/scoring.md +65 -0
  75. package/templates/skills/{orc/references → _shared/phases}/security-checklist.md +12 -1
  76. package/templates/skills/_shared/phases/security.md +55 -0
  77. package/templates/skills/_shared/phases/ship.md +88 -0
  78. package/templates/skills/{orc/references/stop-and-resume.md → _shared/phases/stop-resume.md} +169 -160
  79. package/templates/skills/_shared/phases/summary.md +48 -0
  80. package/templates/skills/_shared/phases/testgen.md +51 -0
  81. package/templates/skills/{orc/references/trace-protocol.md → _shared/phases/trace.md} +49 -6
  82. package/templates/skills/_shared/phases/verify.md +70 -0
  83. package/templates/skills/{orc/references → _shared/phases}/wave-grouping.md +14 -2
  84. package/templates/skills/{orc/references → _shared/phases}/wiki-consult.md +13 -1
  85. package/templates/skills/_shared/read-ladder.md +48 -0
  86. package/templates/skills/_shared/wait.md +240 -0
  87. package/templates/skills/context-combiner/SKILL.md +214 -187
  88. package/templates/skills/orc/README.md +148 -150
  89. package/templates/skills/orc/SKILL.md +75 -358
  90. package/templates/skills/orc/config.md +137 -389
  91. package/templates/skills/orc/examples/full-run-mock.md +1 -1
  92. package/templates/skills/orc/references/effort-and-mode.md +16 -18
  93. package/templates/skills/orc/references/phases/intake.md +47 -0
  94. package/templates/skills/orc/references/phases/integration.md +19 -0
  95. package/templates/skills/orc/references/preflight-report.md +4 -4
  96. package/templates/skills/orc/references/ultra-mode.md +117 -123
  97. package/templates/skills/orc/schemas/planning-output.md +279 -279
  98. package/templates/skills/orc/subskills/orc-planner/SKILL.md +260 -264
  99. package/templates/skills/orc/subskills/orc-pr/stack-gate.md +4 -1
  100. package/templates/skills/orc-aftermath/SKILL.md +158 -136
  101. package/templates/skills/orc-analyze/SKILL.md +252 -220
  102. package/templates/skills/orc-analyze/references/branching.md +51 -51
  103. package/templates/skills/orc-analyze/references/thin-input.md +1 -1
  104. package/templates/skills/orc-analyze-mini/SKILL.md +128 -112
  105. package/templates/skills/orc-boundary/SKILL.md +249 -208
  106. package/templates/skills/orc-brainstorm/SKILL.md +377 -339
  107. package/templates/skills/orc-budget/SKILL.md +248 -225
  108. package/templates/skills/orc-challenge/README.md +1 -1
  109. package/templates/skills/orc-challenge/SKILL.md +298 -255
  110. package/templates/skills/orc-challenge/examples/council-full-roster.md +1 -1
  111. package/templates/skills/orc-claude/SKILL.md +221 -199
  112. package/templates/skills/orc-diy/README.md +2 -1
  113. package/templates/skills/orc-diy/SKILL.md +132 -68
  114. package/templates/skills/orc-diy/references/blocks/analyze.md +1 -1
  115. package/templates/skills/orc-diy/references/compile.md +21 -7
  116. package/templates/skills/orc-diy/references/flow-schema.md +2 -2
  117. package/templates/skills/orc-doc/SKILL.md +49 -7
  118. package/templates/skills/orc-explain/SKILL.md +24 -0
  119. package/templates/skills/orc-export/SKILL.md +31 -5
  120. package/templates/skills/orc-fast/SKILL.md +218 -185
  121. package/templates/skills/orc-grill/SKILL.md +238 -207
  122. package/templates/skills/orc-handoff/SKILL.md +223 -204
  123. package/templates/skills/orc-learn/SKILL.md +181 -156
  124. package/templates/skills/orc-mini/SKILL.md +47 -24
  125. package/templates/skills/orc-pact/SKILL.md +255 -218
  126. package/templates/skills/orc-pattern/SKILL.md +154 -124
  127. package/templates/skills/orc-poly/SKILL.md +242 -216
  128. package/templates/skills/orc-poly/references/gather.md +1 -1
  129. package/templates/skills/orc-pr-driver/SKILL.md +196 -167
  130. package/templates/skills/orc-pr-driver/references/orc-run-split.md +1 -1
  131. package/templates/skills/orc-pr-setup/SKILL.md +212 -184
  132. package/templates/skills/orc-quick/README.md +2 -2
  133. package/templates/skills/orc-quick/SKILL.md +51 -13
  134. package/templates/skills/orc-quick/references/dispatch-gate.md +2 -3
  135. package/templates/skills/orc-retro/SKILL.md +249 -222
  136. package/templates/skills/orc-retro/examples/retro-mock.md +171 -171
  137. package/templates/skills/orc-route/SKILL.md +188 -165
  138. package/templates/skills/orc-verify/SKILL.md +103 -84
  139. package/templates/skills/orc-wait/SKILL.md +163 -0
  140. package/templates/skills/orc-wiki/SKILL.md +60 -206
  141. package/templates/skills/orc-wiki/references/phases/phase-0.md +71 -0
  142. package/templates/skills/orc-wiki/references/phases/phase-1.md +35 -0
  143. package/templates/skills/orc-wiki/references/phases/phase-2.md +52 -0
  144. package/templates/skills/orc-wiki/references/phases/phase-3.md +57 -0
  145. package/templates/skills/orc-wiki/references/phases/phase-3c.md +36 -0
  146. package/templates/agents/orc-advisor-fable-5.md +0 -50
  147. package/templates/agents/orc-analyst-fable-5.md +0 -115
  148. package/templates/agents/orc-judge-fable-5.md +0 -79
  149. package/templates/agents/orc-planner-fable-5.md +0 -152
  150. package/templates/agents/orc-reviewer-fable-5.md +0 -57
  151. package/templates/skills/_shared/fable5-override.md +0 -56
  152. package/templates/skills/orc-diy/references/blocks/execution.md +0 -42
  153. package/templates/skills/orc-diy/references/blocks/mock-example.md +0 -22
  154. package/templates/skills/orc-diy/references/blocks/planning.md +0 -34
  155. package/templates/skills/orc-diy/references/blocks/review.md +0 -18
  156. package/templates/skills/orc-diy/references/blocks/scoring.md +0 -16
  157. package/templates/skills/orc-diy/references/blocks/security.md +0 -25
  158. package/templates/skills/orc-diy/references/blocks/ship.md +0 -25
  159. package/templates/skills/orc-diy/references/blocks/summary.md +0 -18
  160. package/templates/skills/orc-diy/references/blocks/testgen.md +0 -17
  161. package/templates/skills/orc-diy/references/blocks/trace.md +0 -28
  162. package/templates/skills/orc-diy/references/blocks/verify.md +0 -25
@@ -1,150 +1,148 @@
1
- # ORC (installed payload)
2
-
3
- A Claude Code skill constellation: intake → planning → scored parallel
4
- execution → review → verify → ship. One orchestrator spine invoking focused
5
- subskills, with eager checkpointing that survives compaction, crashes, and
6
- fresh-session resumes.
7
-
8
- Stack-agnostic — detects and adapts to your project's language/tooling.
9
-
10
- > This README ships inside the installed payload. The full user docs (install,
11
- > commands, config, changelog) live in the `orc` npm package's root README:
12
- > https://github.com/azure-id/orc
13
-
14
- ## Install / update
15
-
16
- Installed by the `orc` npm package — don't copy files by hand:
17
-
18
- ```bash
19
- npm i -g github:azure-id/orc
20
- orc init # install into ./.claude (orc init --global for ~/.claude)
21
- orc update # re-copy the installed package's files (offline)
22
- orc upgrade # fetch the latest package, then apply it
23
- orc config # view/change settings — zero model tokens
24
- ```
25
-
26
- `orc init` installs **skills/**, **commands/** (`/orc` `/orc-mini` `/orc-fast`
27
- `/orc-analyze`
28
- `/orc-plan` `/orc-verify` `/orc-wiki` `/orc-pattern`), **agents/** (single-role,
29
- model-pinned subagents + `MODEL-MAPPING.md`), and **hooks/** (effort hard-block,
30
- statusline tier warning, behavior trace), merging the hook wiring
31
- non-destructively into `.claude/settings.json`.
32
-
33
- After installing:
34
-
35
- 1. **Paste your PR template** into `orc/subskills/orc-pr/pr.md` (replaces the
36
- placeholder).
37
- 2. Add `.claude/orc/run/` to your project `.gitignore` (a local
38
- .gitignore inside run/ is included, but confirm).
39
- 3. Run `/agents` to confirm the model IDs your Claude Code accepts, and **run
40
- your main session on Opus** — a subagent's model can't exceed the main
41
- session's tier.
42
-
43
- ## Use
44
-
45
- ```
46
- use orc to build <feature> # or /orc
47
- ```
48
-
49
- It will: rough-size → ask tiered intake questions (2/4/6) → draft an intent-spec
50
- for your sign-off → plan (Superpowers/OpenSpec/Requirement Planner/self) →
51
- recommend sequential vs parallel dispatch (workers always spawned) → score every
52
- task (rubric → config preset → named executor agent) and show you the table →
53
- execute in conflict-free waves with batch pauses → at every stop: checkpoint,
54
- usage report, and a paste-block to resume in a FRESH session (recommended for
55
- long runs) → review → verify → optional security pass / test authoring →
56
- summary → commit/push/PR.
57
-
58
- ## Layout (this skill)
59
-
60
- ```
61
- orc/
62
- ├── SKILL.md # thin orchestrator spine (progressive disclosure)
63
- ├── config.md # shipped defaults + the single score→model table
64
- ├── schemas/ # orchestrator-owned; workers get slices
65
- │ ├── intent-spec.md
66
- │ ├── planning-output.md
67
- │ └── checkpoint.md # + state-of-play format
68
- ├── references/ # loaded only when their phase fires
69
- │ ├── intake.md
70
- │ ├── effort-and-mode.md # dispatch-style gate + scoring rubric
71
- │ ├── wave-grouping.md
72
- │ ├── log-protocol.md
73
- │ ├── stop-and-resume.md # stop sequence, /usage, resume block
74
- ├── house-rules.md # standing behavioral card, injected into every slice
75
- ├── security-checklist.md # Phase 5.5 OWASP/STRIDE items (opt-in)
76
- └── trace-protocol.md # behavior trace (PERMANENT always on)
77
- ├── subskills/
78
- │ ├── orc-execution/ # SKILL.md + core.md + subagent.md (always spawned)
79
- │ ├── orc-review-verify/ # review / verify / security modes (always spawned)
80
- │ ├── orc-planner/ # Requirement Planner (+ orc-planner-mini fast lane)
81
- ├── orc-testgen/ # opt-in Phase 6.5 test authoring
82
- ├── orc-checkpoint/ # stateless write/read service
83
- └── orc-pr/ # SKILL.md + pr.md (YOUR template goes here)
84
- ├── examples/full-run-mock.md
85
- └── run/ # gitignored — all run artifacts live here
86
- ```
87
-
88
- Sibling skills installed alongside: `orc-mini` (fast path), `orc-fast`
89
- (fastest lane knowledge-gated on a fresh wiki + pattern cache, falls back to
90
- orc-mini), `orc-verify`
91
- (standalone git-diff verify), `orc-analyze` + `orc-analyze-mini` (System
92
- Analyst), `orc-wiki` (project knowledge base), `orc-pattern` (code-pattern
93
- codifier: 9 language playbooks + a11y/perf rule packs), `context-combiner`
94
- (merge related analyses).
95
-
96
- ## Key behaviors to know
97
-
98
- - **The orchestrator NEVER implements it always spawns scored subagents,
99
- even for tiny tasks.** Orchestrator (Opus 4.8 high, or Opus 5 / Fable 5 at
100
- medium+) only coordinates; each task's 0–100 score (computed arithmetically
101
- from the planner's per-task `facets`) maps to a named executor agent via the
102
- single 8-band table in `config.md` (`rubric_bands` = report granularity only),
103
- Haiku 4.5 → Opus 4.8 high [80,90) Opus 5 high [90,100].
104
- - **Every executor slice carries** the intent-spec constraints, the task's
105
- sliced acceptance criteria, the standing
106
- house-rules card, and when a code-pattern is resolved — your project's
107
- conventions + blocking invariants + the playbook's measurable validation
108
- gate. Executors echo `actual_model`/`actual_effort` (claimed-vs-actual tier
109
- check), `pattern_version`/`invariants_checked`, plus verbatim build/test
110
- `evidence` and an `unmet[]` honesty field a `done` without proof (or with
111
- admitted unmet lines) is a malformed return.
112
- - **Plans are grounded, not trusted:** every declared file carries an
113
- `exists|new` attestation the orchestrator spot-checks with Glob before
114
- scoring hallucinated paths bounce the plan back to the planner.
115
- - **P0–P3 severity ladder** on review/verify findings: P0 (objective breakage)
116
- auto-fixed once without asking · P1 (correctness/security risk) gates ship,
117
- you're asked before the fix · P2/P3 advisory, offered as an optional
118
- fix-batch in the summary. Every P0–P2 finding must be anchored (file:line +
119
- verbatim quote spot-checked before any fix); unanchored findings are
120
- auto-P3 and never gate.
121
- - **Opt-in phases** (all default OFF, via `orc config`): security pass
122
- (`security_review`, fires only on runs with a task scored ≥ 70), test
123
- authoring (`generate_tests`, writes tests + a TEST-PLAN.md + curl bundle to a
124
- visible `test-generator/<change-slug>/` folder at the project root, never runs
125
- them), behavior trace (PERMANENT persistent per-run `.txt`).
126
- - **Usage is reported at every pause AND at run completion** limits reminder
127
- plus the full per-task dispatch table (score, model, effort).
128
- - **Disk is truth.** Every pause emits a resume block; paste it into a fresh
129
- session to continue with near-zero context cost. state-of-play.md +
130
- checkpoint carry everything.
131
- - **Strict contracts.** Workers receive slices, return fixed structures;
132
- malformed = failure. `needs_context` (cap 2) is the only way a worker asks
133
- for more.
134
-
135
- ## Verify at first run (environment-dependent)
136
-
137
- - Whether `/usage` can be invoked programmatically (fallback: dispatch-log
138
- report + instruct you to run /usage yourself — already built in).
139
- - That the orchestrator loads subskills by PATH (subskills/...) — it should
140
- never rely on nested-skill auto-discovery.
141
- - The planner hand-off: if Superpowers/OpenSpec output lacks declared files,
142
- the orchestrator extracts them — watch that seam on run one.
143
-
144
- ## Tuning after first runs
145
-
146
- - Waves over-serializing declared_files globs too broad; narrow them.
147
- - Collisions slipping through workers under-declaring; emphasize tests too.
148
- - Rubric scores feel off adjust weights in references/effort-and-mode.md;
149
- audit the override log to see where the orchestrator disagreed with it.
150
- - Cached pattern drifted from the codebase → `/orc-pattern --refresh`.
1
+ # ORC (installed payload)
2
+
3
+ A Claude Code skill constellation: intake → planning → scored parallel
4
+ execution → review → verify → ship. One orchestrator spine invoking focused
5
+ subskills, with eager checkpointing that survives compaction, crashes, and
6
+ fresh-session resumes.
7
+
8
+ Stack-agnostic — detects and adapts to your project's language/tooling.
9
+
10
+ > This README ships inside the installed payload. The full user docs (install,
11
+ > commands, config, changelog) live in the `orc` npm package's root README:
12
+ > https://github.com/azure-id/orc
13
+
14
+ ## Install / update
15
+
16
+ Installed by the `orc` npm package — don't copy files by hand:
17
+
18
+ ```bash
19
+ npm i -g github:azure-id/orc
20
+ orc init # install into ./.claude (orc init --global for ~/.claude)
21
+ orc update # re-copy the installed package's files (offline)
22
+ orc upgrade # fetch the latest package, then apply it
23
+ orc config # view/change settings — zero model tokens
24
+ ```
25
+
26
+ `orc init` installs **skills/**, **commands/** (`/orc` `/orc-mini` `/orc-fast`
27
+ `/orc-analyze`
28
+ `/orc-plan` `/orc-verify` `/orc-wiki` `/orc-pattern`), **agents/** (single-role,
29
+ model-pinned subagents + `MODEL-MAPPING.md`), and **hooks/** (effort hard-block,
30
+ statusline tier warning, behavior trace), merging the hook wiring
31
+ non-destructively into `.claude/settings.json`.
32
+
33
+ After installing:
34
+
35
+ 1. **Paste your PR template** into `orc/subskills/orc-pr/pr.md` (replaces the
36
+ placeholder).
37
+ 2. Add `.claude/orc/run/` to your project `.gitignore` (a local
38
+ .gitignore inside run/ is included, but confirm).
39
+ 3. Run `/agents` to confirm the model IDs your Claude Code accepts, and **run
40
+ your main session on Opus** — a subagent's model can't exceed the main
41
+ session's tier.
42
+
43
+ ## Use
44
+
45
+ ```
46
+ use orc to build <feature> # or /orc
47
+ ```
48
+
49
+ It will: rough-size → ask tiered intake questions (2/4/6) → draft an intent-spec
50
+ for your sign-off → plan (Superpowers/OpenSpec/Requirement Planner/self) →
51
+ recommend sequential vs parallel dispatch (workers always spawned) → score every
52
+ task (rubric → config preset → named executor agent) and show you the table →
53
+ execute in conflict-free waves with batch pauses → at every stop: checkpoint,
54
+ usage report, and a paste-block to resume in a FRESH session (recommended for
55
+ long runs) → review → verify → optional security pass / test authoring →
56
+ summary → commit/push/PR.
57
+
58
+ ## Layout (this skill)
59
+
60
+ ```
61
+ orc/
62
+ ├── SKILL.md # thin orchestrator spine (progressive disclosure)
63
+ ├── config.md # shipped defaults + the single score→model table
64
+ ├── schemas/ # orchestrator-owned; workers get slices
65
+ │ ├── intent-spec.md
66
+ │ ├── planning-output.md
67
+ │ └── checkpoint.md # + state-of-play format
68
+ ├── references/ # loaded only when their phase fires
69
+ │ ├── intake.md
70
+ │ ├── effort-and-mode.md # dispatch-style gate + scoring rubric
71
+ │ ├── wave-grouping.md
72
+ │ ├── log-protocol.md
73
+ │ ├── house-rules.md # standing behavioral card, injected into every slice
74
+ └── security-checklist.md # Phase 5.5 OWASP/STRIDE items (opt-in)
75
+ ├── subskills/
76
+ ├── orc-execution/ # SKILL.md + core.md + subagent.md (always spawned)
77
+ ├── orc-review-verify/ # review / verify / security modes (always spawned)
78
+ │ ├── orc-planner/ # Requirement Planner (+ orc-planner-mini fast lane)
79
+ │ ├── orc-testgen/ # opt-in Phase 6.5 test authoring
80
+ │ ├── orc-checkpoint/ # stateless write/read service
81
+ └── orc-pr/ # SKILL.md + pr.md (YOUR template goes here)
82
+ ├── examples/full-run-mock.md
83
+ └── run/ # gitignored all run artifacts live here
84
+ ```
85
+
86
+ Sibling skills installed alongside: `orc-mini` (fast path), `orc-fast`
87
+ (fastest lane — knowledge-gated on a fresh wiki + pattern cache, falls back to
88
+ orc-mini), `orc-verify`
89
+ (standalone git-diff verify), `orc-analyze` + `orc-analyze-mini` (System
90
+ Analyst), `orc-wiki` (project knowledge base), `orc-pattern` (code-pattern
91
+ codifier: 9 language playbooks + a11y/perf rule packs), `context-combiner`
92
+ (merge related analyses).
93
+
94
+ ## Key behaviors to know
95
+
96
+ - **The orchestrator NEVER implements — it always spawns scored subagents,
97
+ even for tiny tasks.** Orchestrator (Opus 4.8 high, or Opus 5 / Fable 5 at
98
+ medium+) only coordinates; each task's 0–100 score (computed arithmetically
99
+ from the planner's per-task `facets`) maps to a named executor agent via the
100
+ single 6-band table in `config.md` (`rubric_bands` = report granularity only),
101
+ Haiku 4.5 [0,30) Opus 5 low [65,90) Opus 5 medium [90,100].
102
+ - **Every executor slice carries** the intent-spec constraints, the task's
103
+ sliced acceptance criteria, the standing
104
+ house-rules card, and when a code-pattern is resolved — your project's
105
+ conventions + blocking invariants + the playbook's measurable validation
106
+ gate. Executors echo `actual_model`/`actual_effort` (claimed-vs-actual tier
107
+ check), `pattern_version`/`invariants_checked`, plus verbatim build/test
108
+ `evidence` and an `unmet[]` honesty field — a `done` without proof (or with
109
+ admitted unmet lines) is a malformed return.
110
+ - **Plans are grounded, not trusted:** every declared file carries an
111
+ `exists|new` attestation the orchestrator spot-checks with Glob before
112
+ scoring hallucinated paths bounce the plan back to the planner.
113
+ - **P0–P3 severity ladder** on review/verify findings: P0 (objective breakage)
114
+ auto-fixed once without asking · P1 (correctness/security risk) gates ship,
115
+ you're asked before the fix · P2/P3 advisory, offered as an optional
116
+ fix-batch in the summary. Every P0–P2 finding must be anchored (file:line +
117
+ verbatim quote — spot-checked before any fix); unanchored findings are
118
+ auto-P3 and never gate.
119
+ - **Opt-in phases** (all default OFF, via `orc config`): security pass
120
+ (`security_review`, fires only on runs with a task scored ≥ 70), test
121
+ authoring (`generate_tests`, writes tests + a TEST-PLAN.md + curl bundle to a
122
+ visible `test-generator/<change-slug>/` folder at the project root, never runs
123
+ them), behavior trace (PERMANENT persistent per-run `.txt`).
124
+ - **Usage is reported at every pause AND at run completion** — limits reminder
125
+ plus the full per-task dispatch table (score, model, effort).
126
+ - **Disk is truth.** Every pause emits a resume block; paste it into a fresh
127
+ session to continue with near-zero context cost. state-of-play.md +
128
+ checkpoint carry everything.
129
+ - **Strict contracts.** Workers receive slices, return fixed structures;
130
+ malformed = failure. `needs_context` (cap 2) is the only way a worker asks
131
+ for more.
132
+
133
+ ## Verify at first run (environment-dependent)
134
+
135
+ - Whether `/usage` can be invoked programmatically (fallback: dispatch-log
136
+ report + instruct you to run /usage yourself — already built in).
137
+ - That the orchestrator loads subskills by PATH (subskills/...) — it should
138
+ never rely on nested-skill auto-discovery.
139
+ - The planner hand-off: if Superpowers/OpenSpec output lacks declared files,
140
+ the orchestrator extracts them — watch that seam on run one.
141
+
142
+ ## Tuning after first runs
143
+
144
+ - Waves over-serializing declared_files globs too broad; narrow them.
145
+ - Collisions slipping through → workers under-declaring; emphasize tests too.
146
+ - Rubric scores feel off adjust weights in references/effort-and-mode.md;
147
+ audit the override log to see where the orchestrator disagreed with it.
148
+ - Cached pattern drifted from the codebase `/orc-pattern --refresh`.