@azure-id/orc 0.56.0 → 1.0.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 (153) hide show
  1. package/CHANGELOG.md +228 -0
  2. package/README-id.md +143 -53
  3. package/README.md +124 -103
  4. package/bin/build-agents.js +18 -11
  5. package/bin/cli.js +4139 -315
  6. package/bin/onboarding-content.js +0 -3
  7. package/bin/test-run.js +491 -0
  8. package/bin/verify-contracts.js +4256 -3277
  9. package/bin/verify-package.js +563 -498
  10. package/bin/webui/api.js +1186 -1163
  11. package/bin/webui/app.html +9 -0
  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/fixtures/extra.js +2036 -1934
  17. package/bin/webui/fixtures/flow.js +2 -2
  18. package/bin/webui/fixtures/index.js +503 -486
  19. package/bin/webui/fixtures/lanes.js +218 -0
  20. package/bin/webui/fixtures/settings.js +261 -34
  21. package/bin/webui/fixtures/stats.js +3 -3
  22. package/bin/webui/i18n/TERMS.md +135 -134
  23. package/bin/webui/i18n/en/extra.json +345 -313
  24. package/bin/webui/i18n/en/lanes.json +29 -0
  25. package/bin/webui/i18n/en/nav.json +1 -0
  26. package/bin/webui/i18n/en/overview.json +2 -0
  27. package/bin/webui/i18n/en/settings.json +16 -5
  28. package/bin/webui/i18n/id/extra.json +345 -313
  29. package/bin/webui/i18n/id/lanes.json +29 -0
  30. package/bin/webui/i18n/id/nav.json +1 -0
  31. package/bin/webui/i18n/id/overview.json +2 -0
  32. package/bin/webui/i18n/id/settings.json +15 -4
  33. package/bin/webui/js/01-i18n.js +1 -0
  34. package/bin/webui/js/panels/extra.js +3199 -3011
  35. package/bin/webui/js/panels/lanes.js +259 -0
  36. package/bin/webui/js/panels/overview.js +10 -0
  37. package/bin/webui/js/panels/settings.js +149 -3
  38. package/package.json +3 -3
  39. package/templates/agents/MODEL-MAPPING.md +23 -35
  40. package/templates/agents/orc-executor-opus-4-7-high.md +1 -1
  41. package/templates/agents/orc-executor-opus-4-7-med.md +1 -1
  42. package/templates/agents/orc-executor-opus-4-8-high.md +1 -1
  43. package/templates/agents/orc-executor-opus-5-high.md +1 -1
  44. package/templates/agents/orc-executor-opus-5-low.md +1 -1
  45. package/templates/agents/orc-executor-opus-5-med.md +1 -1
  46. package/templates/agents/orc-retro-opus-5-med.md +73 -73
  47. package/templates/agents/orc-retro-sonnet-5-high.md +72 -72
  48. package/templates/agents/orc-trace-writer-haiku-4-5.md +107 -107
  49. package/templates/commands/orc-route.md +1 -1
  50. package/templates/commands/orc.md +1 -1
  51. package/templates/skills/_shared/README.md +7 -3
  52. package/templates/skills/_shared/config-precedence.md +198 -0
  53. package/templates/skills/_shared/drift-recovery.md +1 -1
  54. package/templates/skills/_shared/extra-dispatch.md +292 -6
  55. package/templates/skills/_shared/interview.md +1 -1
  56. package/templates/skills/_shared/opus5-only.md +9 -7
  57. package/templates/skills/_shared/phases/README.md +82 -0
  58. package/templates/skills/{orc/references → _shared/phases}/analyst-gates.md +15 -3
  59. package/templates/skills/_shared/phases/execution.md +143 -0
  60. package/templates/skills/{orc/references → _shared/phases}/house-rules.md +13 -1
  61. package/templates/skills/{orc/references → _shared/phases}/intake.md +15 -2
  62. package/templates/skills/_shared/phases/mock-example.md +56 -0
  63. package/templates/skills/{orc/references → _shared/phases}/plan-handoff.md +16 -3
  64. package/templates/skills/_shared/phases/planning.md +135 -0
  65. package/templates/skills/_shared/phases/preflight.md +76 -0
  66. package/templates/skills/_shared/phases/review.md +53 -0
  67. package/templates/skills/_shared/phases/scoring.md +65 -0
  68. package/templates/skills/{orc/references → _shared/phases}/security-checklist.md +12 -1
  69. package/templates/skills/_shared/phases/security.md +55 -0
  70. package/templates/skills/_shared/phases/ship.md +88 -0
  71. package/templates/skills/{orc/references/stop-and-resume.md → _shared/phases/stop-resume.md} +169 -160
  72. package/templates/skills/_shared/phases/summary.md +48 -0
  73. package/templates/skills/_shared/phases/testgen.md +51 -0
  74. package/templates/skills/{orc/references/trace-protocol.md → _shared/phases/trace.md} +49 -6
  75. package/templates/skills/_shared/phases/verify.md +70 -0
  76. package/templates/skills/{orc/references → _shared/phases}/wave-grouping.md +14 -2
  77. package/templates/skills/{orc/references → _shared/phases}/wiki-consult.md +13 -1
  78. package/templates/skills/_shared/read-ladder.md +48 -0
  79. package/templates/skills/context-combiner/SKILL.md +214 -187
  80. package/templates/skills/orc/README.md +148 -150
  81. package/templates/skills/orc/SKILL.md +70 -358
  82. package/templates/skills/orc/config.md +137 -389
  83. package/templates/skills/orc/examples/full-run-mock.md +1 -1
  84. package/templates/skills/orc/references/effort-and-mode.md +16 -18
  85. package/templates/skills/orc/references/phases/intake.md +47 -0
  86. package/templates/skills/orc/references/phases/integration.md +19 -0
  87. package/templates/skills/orc/references/preflight-report.md +4 -4
  88. package/templates/skills/orc/references/ultra-mode.md +117 -123
  89. package/templates/skills/orc/schemas/planning-output.md +279 -279
  90. package/templates/skills/orc/subskills/orc-planner/SKILL.md +260 -264
  91. package/templates/skills/orc/subskills/orc-pr/stack-gate.md +4 -1
  92. package/templates/skills/orc-aftermath/SKILL.md +153 -136
  93. package/templates/skills/orc-analyze/SKILL.md +247 -220
  94. package/templates/skills/orc-analyze/references/branching.md +51 -51
  95. package/templates/skills/orc-analyze/references/thin-input.md +1 -1
  96. package/templates/skills/orc-analyze-mini/SKILL.md +128 -112
  97. package/templates/skills/orc-boundary/SKILL.md +244 -208
  98. package/templates/skills/orc-brainstorm/SKILL.md +372 -339
  99. package/templates/skills/orc-budget/SKILL.md +243 -225
  100. package/templates/skills/orc-challenge/README.md +1 -1
  101. package/templates/skills/orc-challenge/SKILL.md +293 -255
  102. package/templates/skills/orc-challenge/examples/council-full-roster.md +1 -1
  103. package/templates/skills/orc-claude/SKILL.md +216 -199
  104. package/templates/skills/orc-diy/README.md +2 -1
  105. package/templates/skills/orc-diy/SKILL.md +129 -70
  106. package/templates/skills/orc-diy/references/blocks/analyze.md +1 -1
  107. package/templates/skills/orc-diy/references/compile.md +21 -7
  108. package/templates/skills/orc-diy/references/flow-schema.md +2 -2
  109. package/templates/skills/orc-doc/SKILL.md +44 -7
  110. package/templates/skills/orc-explain/SKILL.md +19 -0
  111. package/templates/skills/orc-export/SKILL.md +26 -5
  112. package/templates/skills/orc-fast/SKILL.md +215 -187
  113. package/templates/skills/orc-grill/SKILL.md +233 -207
  114. package/templates/skills/orc-handoff/SKILL.md +223 -204
  115. package/templates/skills/orc-learn/SKILL.md +176 -156
  116. package/templates/skills/orc-mini/SKILL.md +41 -23
  117. package/templates/skills/orc-pact/SKILL.md +250 -218
  118. package/templates/skills/orc-pattern/SKILL.md +149 -124
  119. package/templates/skills/orc-poly/SKILL.md +237 -216
  120. package/templates/skills/orc-poly/references/gather.md +1 -1
  121. package/templates/skills/orc-pr-driver/SKILL.md +196 -167
  122. package/templates/skills/orc-pr-driver/references/orc-run-split.md +1 -1
  123. package/templates/skills/orc-pr-setup/SKILL.md +212 -184
  124. package/templates/skills/orc-quick/README.md +2 -2
  125. package/templates/skills/orc-quick/SKILL.md +346 -313
  126. package/templates/skills/orc-quick/references/dispatch-gate.md +12 -4
  127. package/templates/skills/orc-retro/SKILL.md +244 -222
  128. package/templates/skills/orc-retro/examples/retro-mock.md +171 -171
  129. package/templates/skills/orc-route/SKILL.md +183 -165
  130. package/templates/skills/orc-verify/SKILL.md +100 -86
  131. package/templates/skills/orc-wiki/SKILL.md +55 -206
  132. package/templates/skills/orc-wiki/references/phases/phase-0.md +71 -0
  133. package/templates/skills/orc-wiki/references/phases/phase-1.md +35 -0
  134. package/templates/skills/orc-wiki/references/phases/phase-2.md +52 -0
  135. package/templates/skills/orc-wiki/references/phases/phase-3.md +57 -0
  136. package/templates/skills/orc-wiki/references/phases/phase-3c.md +36 -0
  137. package/templates/agents/orc-advisor-fable-5.md +0 -50
  138. package/templates/agents/orc-analyst-fable-5.md +0 -115
  139. package/templates/agents/orc-judge-fable-5.md +0 -79
  140. package/templates/agents/orc-planner-fable-5.md +0 -152
  141. package/templates/agents/orc-reviewer-fable-5.md +0 -57
  142. package/templates/skills/_shared/fable5-override.md +0 -56
  143. package/templates/skills/orc-diy/references/blocks/execution.md +0 -42
  144. package/templates/skills/orc-diy/references/blocks/mock-example.md +0 -22
  145. package/templates/skills/orc-diy/references/blocks/planning.md +0 -34
  146. package/templates/skills/orc-diy/references/blocks/review.md +0 -18
  147. package/templates/skills/orc-diy/references/blocks/scoring.md +0 -16
  148. package/templates/skills/orc-diy/references/blocks/security.md +0 -25
  149. package/templates/skills/orc-diy/references/blocks/ship.md +0 -25
  150. package/templates/skills/orc-diy/references/blocks/summary.md +0 -18
  151. package/templates/skills/orc-diy/references/blocks/testgen.md +0 -17
  152. package/templates/skills/orc-diy/references/blocks/trace.md +0 -28
  153. package/templates/skills/orc-diy/references/blocks/verify.md +0 -25
@@ -1,112 +1,128 @@
1
- ---
2
- name: orc-analyze-mini
3
- description: >
4
- Fast-lane System Analyst for ORC-MINI (Sonnet 5, high effort). Turns a
5
- requirement — a document (PDF by path or pasted) OR a plain-language request —
6
- into a scope-bounded, code-grounded requirement report + derived spec: bounds
7
- the deliverable to exactly the asked scope (other scopes never become tasks),
8
- maps each requirement to real files with quote-anchored file:line evidence —
9
- or marks it an ASSUMPTION and turns it into a question — and challenges the
10
- user with recommended options. Use for "/orc-analyze-mini", "quickly analyze
11
- this doc", "fast doc analysis", "quick requirement check", "fast requirement
12
- analysis", or when orc-mini meets a document or an ambiguous requirement.
13
- Distinct from /orc-analyze: ALWAYS single-pass — NO deep mode, NO scouts —
14
- trading depth for speed and tokens; switch to /orc-analyze (deep) when you
15
- need a wider code sweep, verify-every-claim, or alternatives with trade-offs.
16
- The orchestrator dispatches this to a subagent — it never analyzes itself.
17
- ---
18
-
19
- # ORC-ANALYZE-MINI
20
-
21
- The fast variant of the System Analyst, dispatched by orc-mini as a Sonnet 5
22
- high subagent. Produces the SAME artifacts and follows the SAME output contract
23
- as the full analyst (`../orc-analyze/`) — read its schemas
24
- (report-audit.md, report-prose.md, report-requirement.md, requirement-spec.md)
25
- for the formats; this skill does not duplicate them.
26
-
27
- **Worked example** (orient only — never execute from it): `examples/quick-analysis-mock.md`.
28
-
29
- ## What's trimmed vs the full analyst
30
-
31
- - **Shallower code grounding — but the FLOOR is the same.** The mini analyst
32
- MUST still verify (a) every row that emits a `files[]` entry and (b) every
33
- `status: exists|conflict` claim; it may skip exhaustively tracing peripheral
34
- references. Trimmed depth never means a lower floor.
35
- - **Fewer challenge rounds via triage, not omission.** Blocking issues (scope
36
- changes, code-vs-doc conflicts, anything changing `files[]` or a status) are
37
- asked one at a time; everything else is DEMOTED to the single batched
38
- advisory round — recorded in the report with its recommended default, never
39
- silently dropped.
40
- - **No deep mode, no scouts.** Always single-pass.
41
- - **Concrete escalation thresholds** (recommend the full `/orc-analyze`, Opus
42
- 4.8 high, and let the user choose — the boundary is not self-assessed vibes):
43
- source doc > ~10 pages, OR > 12 in-scope requirements, OR > 3 conflict rows,
44
- OR audit mode with > 5 stale-premise rows.
45
- - **Model:** Sonnet 5, high effort.
46
-
47
- ## What's identical
48
-
49
- - **Doc-optional intake:** auto-detect + confirm mode — prose / audit
50
- (documents) or **requirement** (NO doc; the user's request is the source of
51
- truth, reconciled against code).
52
- - **Evidence-or-mark, quote-anchored:** every code claim / interpretation is
53
- grounded with `file:line — "verbatim snippet"` (a ref with no quote
54
- auto-downgrades to `UNVERIFIED`), OR tagged `ASSUMPTION`/`UNVERIFIED` and
55
- turned into a question — never a silent guess. **Absence claims**
56
- (missing/buildable) carry `searched:` — the concrete globs/greps run.
57
- - **The read ladder:** locate → outline → range → full, escalating only as far as
58
- the question needs (`../_shared/read-ladder.md`). Trimmed depth is not a lower
59
- evidence floor — it is fewer wasted full reads reaching the same anchors.
60
- - **Recommended-option challenges:** each challenge is a 2–3 option set with one
61
- flagged recommended option + reason (blocking one at a time, advisory batched).
62
- - Two perimeters: the deliverable stays scope X (Y/Z never become tasks), but
63
- anchored, non-actionable adjacent context is gathered when an in-scope item
64
- depends on it — touchpoint-bounded, self-read (no scouts), each item anchored to
65
- the requirement it serves + labeled "do not build". Same **Additional context
66
- (do not build)** section in report + spec. Unanchored context is dropped.
67
- - Two artifacts, spec derived from the confirmed report, same folder
68
- `orc/analyzer/{analysis-name}/` (internal; copied out only on report-only),
69
- including the Evidence column and Assumptions & Open Questions section. The
70
- spec is stamped with `git_head` + `dirty` for plan-time staleness detection.
71
- - Same branch: report-only, or take into build (hand both files to orc-mini,
72
- which continues with the mini planner) — orc-mini runs the same evidence
73
- spot-check + derivation lint gates as the full lane before building.
74
-
75
- ## Behavior trace (PERMANENT — every ORC entry point traces; always on)
76
-
77
- Same rule as the full analyst: standalone `/orc-analyze-mini` resolves
78
- `log_dir` at start and follows
79
- `../orc/references/trace-protocol.md` write `log_dir/.current` =
80
- `run-analyze-<slug>-<DDMMYY>-<HHMMSS>.txt` and `touch the trace file` of that
81
- name in the SAME step, before the first dispatch; collect
82
- `PHASE`/`DISPATCH`/`VERIFY`/`GATE`/`FINISH` events with their REAL timestamps
83
- plus `decisions` (the WHY) and dispatch the trace writer ONCE at run end (the
84
- single-dispatch-lane packet), then delete `.current` (the hook bootstraps
85
- `.current` + the skeleton on the first dispatch regardless). Inside an orc-mini
86
- run, the mini orchestrator's trace already covers this — never open a second one.
87
-
88
- ## Workflow checkpoint (gate before deriving the spec)
89
-
90
- Confirm the report with the user — scope bounded, blocking challenges resolved —
91
- BEFORE deriving requirement-spec.md. The spec is derived from the CONFIRMED report,
92
- never from an unconfirmed draft.
93
-
94
- ## Return contract (inlined do not reconstruct from the full analyst)
95
-
96
- Write `report.md` (mode template) + derived `requirement-spec.md` into
97
- `orc/analyzer/{name}/`, including the Evidence column, the Assumptions & Open
98
- Questions section, and the **Additional context (do not build)** section when any
99
- survived. Return exactly:
100
-
101
- - `report_path`, `spec_path`the two artifacts.
102
- - `mode` prose | audit | requirement.
103
- - `scope` the confirmed scope-X one-liner.
104
- - `handoff_ready` a CHECKLIST, not a feeling: true only when all blocking
105
- challenges are resolved, zero open `UNVERIFIED` on in-scope items, every
106
- requirement has status + evidence-or-resolution, the spec was derived after
107
- the user confirmed the report, and `scope_closed: true` is written.
108
- - `actual_model` — quoted verbatim from your system prompt's "The exact model ID
109
- is …" line (`unknown` if absent, never guessed).
110
- - `actual_effort` — `$CLAUDE_EFFORT`.
111
-
112
- Never build or spawn.
1
+ ---
2
+ name: orc-analyze-mini
3
+ description: >
4
+ Fast-lane System Analyst for ORC-MINI (Sonnet 5, high effort). Turns a
5
+ requirement — a document (PDF by path or pasted) OR a plain-language request —
6
+ into a scope-bounded, code-grounded requirement report + derived spec: bounds
7
+ the deliverable to exactly the asked scope (other scopes never become tasks),
8
+ maps each requirement to real files with quote-anchored file:line evidence —
9
+ or marks it an ASSUMPTION and turns it into a question — and challenges the
10
+ user with recommended options. Use for "/orc-analyze-mini", "quickly analyze
11
+ this doc", "fast doc analysis", "quick requirement check", "fast requirement
12
+ analysis", or when orc-mini meets a document or an ambiguous requirement.
13
+ Distinct from /orc-analyze: ALWAYS single-pass — NO deep mode, NO scouts —
14
+ trading depth for speed and tokens; switch to /orc-analyze (deep) when you
15
+ need a wider code sweep, verify-every-claim, or alternatives with trade-offs.
16
+ The orchestrator dispatches this to a subagent — it never analyzes itself.
17
+ ---
18
+
19
+ # ORC-ANALYZE-MINI
20
+
21
+ The fast variant of the System Analyst, dispatched by orc-mini as a Sonnet 5
22
+ high subagent. Produces the SAME artifacts and follows the SAME output contract
23
+ as the full analyst (`../orc-analyze/`) — read its schemas
24
+ (report-audit.md, report-prose.md, report-requirement.md, requirement-spec.md)
25
+ for the formats; this skill does not duplicate them.
26
+
27
+ **Worked example** (orient only — never execute from it): `examples/quick-analysis-mock.md`.
28
+
29
+ ## What's trimmed vs the full analyst
30
+
31
+ - **Shallower code grounding — but the FLOOR is the same.** The mini analyst
32
+ MUST still verify (a) every row that emits a `files[]` entry and (b) every
33
+ `status: exists|conflict` claim; it may skip exhaustively tracing peripheral
34
+ references. Trimmed depth never means a lower floor.
35
+ - **Fewer challenge rounds via triage, not omission.** Blocking issues (scope
36
+ changes, code-vs-doc conflicts, anything changing `files[]` or a status) are
37
+ asked one at a time; everything else is DEMOTED to the single batched
38
+ advisory round — recorded in the report with its recommended default, never
39
+ silently dropped.
40
+ - **No deep mode, no scouts.** Always single-pass.
41
+ - **Concrete escalation thresholds** (recommend the full `/orc-analyze`, Opus
42
+ 4.8 high, and let the user choose — the boundary is not self-assessed vibes):
43
+ source doc > ~10 pages, OR > 12 in-scope requirements, OR > 3 conflict rows,
44
+ OR audit mode with > 5 stale-premise rows.
45
+ - **Model:** Sonnet 5, high effort.
46
+
47
+ ## What's identical
48
+
49
+ - **Doc-optional intake:** auto-detect + confirm mode — prose / audit
50
+ (documents) or **requirement** (NO doc; the user's request is the source of
51
+ truth, reconciled against code).
52
+ - **Evidence-or-mark, quote-anchored:** every code claim / interpretation is
53
+ grounded with `file:line — "verbatim snippet"` (a ref with no quote
54
+ auto-downgrades to `UNVERIFIED`), OR tagged `ASSUMPTION`/`UNVERIFIED` and
55
+ turned into a question — never a silent guess. **Absence claims**
56
+ (missing/buildable) carry `searched:` — the concrete globs/greps run.
57
+ - **The read ladder:** locate → outline → range → full, escalating only as far as
58
+ the question needs (`../_shared/read-ladder.md`). Trimmed depth is not a lower
59
+ evidence floor — it is fewer wasted full reads reaching the same anchors.
60
+ - **Recommended-option challenges:** each challenge is a 2–3 option set with one
61
+ flagged recommended option + reason (blocking one at a time, advisory batched).
62
+ - Two perimeters: the deliverable stays scope X (Y/Z never become tasks), but
63
+ anchored, non-actionable adjacent context is gathered when an in-scope item
64
+ depends on it — touchpoint-bounded, self-read (no scouts), each item anchored to
65
+ the requirement it serves + labeled "do not build". Same **Additional context
66
+ (do not build)** section in report + spec. Unanchored context is dropped.
67
+ - Two artifacts, spec derived from the confirmed report, same folder
68
+ `orc/analyzer/{analysis-name}/` (internal; copied out only on report-only),
69
+ including the Evidence column and Assumptions & Open Questions section. The
70
+ spec is stamped with `git_head` + `dirty` for plan-time staleness detection.
71
+ - Same branch: report-only, or take into build (hand both files to orc-mini,
72
+ which continues with the mini planner) — orc-mini runs the same evidence
73
+ spot-check + derivation lint gates as the full lane before building.
74
+
75
+ ## Behavior trace (always on)
76
+
77
+ `../_shared/phases/trace.md` (`core`, at run start; `orc lane phases` names
78
+ the file and the layers). Lane token `analyze`, tier **Single-dispatch**
79
+ exactly ONE end-of-run packet, dispatched solo before `.current` is deleted.
80
+ At run start write `log_dir/.current` = `run-analyze-<slug>-<DDMMYY>-<HHMMSS>.txt` AND
81
+ `touch the trace file` of that name in the SAME step.
82
+ Nothing else about the protocol is restated here; a phase that ends with
83
+ `zero new trace lines is a protocol violation`.
84
+
85
+ ## Workflow checkpoint (gate before deriving the spec)
86
+
87
+ Confirm the report with the user — scope bounded, blocking challenges resolved —
88
+ BEFORE deriving requirement-spec.md. The spec is derived from the CONFIRMED report,
89
+ never from an unconfirmed draft.
90
+
91
+ ## Return contract (inlined do not reconstruct from the full analyst)
92
+
93
+ Write `report.md` (mode template) + derived `requirement-spec.md` into
94
+ `orc/analyzer/{name}/`, including the Evidence column, the Assumptions & Open
95
+ Questions section, and the **Additional context (do not build)** section when any
96
+ survived. Return exactly:
97
+
98
+ - `report_path`, `spec_path` the two artifacts.
99
+ - `mode` — prose | audit | requirement.
100
+ - `scope` — the confirmed scope-X one-liner.
101
+ - `handoff_ready` — a CHECKLIST, not a feeling: true only when all blocking
102
+ challenges are resolved, zero open `UNVERIFIED` on in-scope items, every
103
+ requirement has status + evidence-or-resolution, the spec was derived after
104
+ the user confirmed the report, and `scope_closed: true` is written.
105
+ - `actual_model` quoted verbatim from your system prompt's "The exact model ID
106
+ is …" line (`unknown` if absent, never guessed).
107
+ - `actual_effort` `$CLAUDE_EFFORT`.
108
+
109
+ Never build or spawn.
110
+
111
+ ## Config
112
+
113
+ Resolve with `orc lane config orc-analyze-mini --json` and obey `effective`. Never merge
114
+ `.claude/orc.config.yaml` yourself, and never re-derive a precedence. Exit ≠ 0 →
115
+ say so and use `../_shared/config-precedence.md`'s documented defaults, out
116
+ loud. Nothing this lane reads is contested, gated or a stop, so it owes no
117
+ preflight line and has no gate to honour.
118
+
119
+ ## Calls
120
+
121
+ **ONE catalogue, and it is not you:** `orc lane calls orc-analyze-mini --json` names every
122
+ CLI call this lane makes, each with its exit-code contract, its cost, when to run
123
+ it, and what an EMPTY answer means. Never invent a spelling, never re-word an
124
+ exit code, and never re-derive a state word — the CLI's state words are the only
125
+ state words, and **an exit code is an ANSWER wherever that contract says so, not
126
+ a failure**. A call the answer does not name is a call this lane does not make.
127
+ Exit ≠ 0 from the catalogue itself → say the CLI is unavailable and name the
128
+ command you are about to run, out loud, before running it.