@azure-id/orc 1.9.1 → 1.9.2

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 (107) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README-id.md +38 -39
  3. package/README.md +36 -35
  4. package/bin/build-agents.js +109 -109
  5. package/bin/cli.js +35 -33
  6. package/bin/onboarding-content.js +4 -4
  7. package/bin/pricing.json +207 -200
  8. package/bin/verify-contracts.js +2 -2
  9. package/bin/verify-package.js +7 -7
  10. package/bin/webui/css/04-motion.css +162 -152
  11. package/bin/webui/css/panels/knowledge.css +563 -116
  12. package/bin/webui/fixtures/extra.js +2036 -2036
  13. package/bin/webui/fixtures/hookui.js +5 -5
  14. package/bin/webui/fixtures/settings.js +305 -305
  15. package/bin/webui/i18n/en/knowledge.json +117 -2
  16. package/bin/webui/i18n/id/knowledge.json +117 -2
  17. package/bin/webui/js/panels/knowledge.js +552 -7
  18. package/bin/webui/js/panels/overview.js +13 -4
  19. package/mock-run/context-combiner.md +100 -100
  20. package/mock-run/orc-budget.md +534 -534
  21. package/mock-run/orc-challenge-council.md +262 -262
  22. package/mock-run/orc-ultra.md +103 -103
  23. package/package.json +1 -1
  24. package/templates/agents/MODEL-MAPPING.md +43 -43
  25. package/templates/agents/orc-advisor-opus-5-xhigh.md +56 -56
  26. package/templates/agents/orc-analyze-mini-opus-5-med.md +60 -60
  27. package/templates/agents/orc-analyze-mini-sonnet-5-high.md +58 -58
  28. package/templates/agents/orc-challenge-advisor-opus-5-med.md +75 -75
  29. package/templates/agents/orc-challenge-contrarian-opus-5-high.md +110 -110
  30. package/templates/agents/orc-challenge-executor-opus-5-med.md +114 -114
  31. package/templates/agents/orc-challenge-expansionist-opus-5-med.md +112 -112
  32. package/templates/agents/orc-challenge-judge-opus-5-high.md +132 -132
  33. package/templates/agents/orc-challenge-outsider-opus-5-low.md +109 -109
  34. package/templates/agents/orc-challenge-principles-opus-5-high.md +109 -109
  35. package/templates/agents/orc-challenge-reader-opus-5-low.md +90 -90
  36. package/templates/agents/orc-claude-writer-opus-5-med.md +55 -55
  37. package/templates/agents/orc-context-combiner-opus-5-high.md +88 -88
  38. package/templates/agents/orc-doc-checker-opus-5-low.md +108 -108
  39. package/templates/agents/orc-doc-writer-opus-5-med.md +134 -134
  40. package/templates/agents/orc-executor-opus-5-high.md +2 -2
  41. package/templates/agents/orc-executor-opus-5-low.md +2 -2
  42. package/templates/agents/orc-executor-opus-5-med.md +2 -2
  43. package/templates/agents/orc-graph-noter-sonnet-4-6-med.md +1 -1
  44. package/templates/agents/orc-judge-opus-5-xhigh.md +85 -85
  45. package/templates/agents/orc-learn-writer-opus-5-low.md +73 -73
  46. package/templates/agents/orc-pattern-codifier-opus-5-med.md +65 -65
  47. package/templates/agents/orc-planner-mini-opus-5-med.md +4 -4
  48. package/templates/agents/orc-planner-mini-sonnet-5-high.md +1 -1
  49. package/templates/agents/orc-planner-opus-5-med.md +160 -160
  50. package/templates/agents/orc-recon-opus-5-low.md +3 -3
  51. package/templates/agents/orc-retro-opus-5-med.md +3 -3
  52. package/templates/agents/orc-reviewer-opus-5-med.md +60 -60
  53. package/templates/agents/orc-scout-opus-5-low.md +40 -40
  54. package/templates/agents/orc-system-analyst-opus-5-high.md +120 -120
  55. package/templates/agents/orc-test-author-opus-5-med.md +71 -71
  56. package/templates/agents/orc-test-designer-opus-5-high.md +158 -158
  57. package/templates/agents/orc-test-interpreter-opus-5-low.md +130 -130
  58. package/templates/agents/orc-verifier-opus-5-med.md +69 -69
  59. package/templates/agents/orc-wiki-scanner-opus-5-med.md +81 -81
  60. package/templates/commands/orc-ultra.md +17 -17
  61. package/templates/commands/orc-verify.md +11 -11
  62. package/templates/hooks/README.md +2 -2
  63. package/templates/hooks/orc-effort-guard.js +178 -178
  64. package/templates/hooks/orc-statusline.js +6 -6
  65. package/templates/skills/_shared/code-graph.md +1 -1
  66. package/templates/skills/_shared/config-precedence.md +198 -198
  67. package/templates/skills/_shared/extra-dispatch.md +1346 -1346
  68. package/templates/skills/_shared/opus5-only.md +8 -8
  69. package/templates/skills/_shared/phases/analyst-gates.md +136 -136
  70. package/templates/skills/_shared/phases/review.md +1 -1
  71. package/templates/skills/_shared/phases/trace.md +1 -1
  72. package/templates/skills/_shared/return-validation.md +1 -1
  73. package/templates/skills/context-combiner/SKILL.md +1 -1
  74. package/templates/skills/context-combiner/schemas/combined-report.md +78 -78
  75. package/templates/skills/orc/README.md +2 -2
  76. package/templates/skills/orc/SKILL.md +7 -7
  77. package/templates/skills/orc/config.md +9 -9
  78. package/templates/skills/orc/examples/full-run-mock.md +73 -73
  79. package/templates/skills/orc/references/effort-and-mode.md +222 -222
  80. package/templates/skills/orc/references/preflight-report.md +2 -2
  81. package/templates/skills/orc/references/ultra-mode.md +3 -3
  82. package/templates/skills/orc/subskills/orc-planner/SKILL.md +2 -2
  83. package/templates/skills/orc/subskills/orc-planner-mini/SKILL.md +121 -121
  84. package/templates/skills/orc/subskills/orc-review-verify/SKILL.md +76 -76
  85. package/templates/skills/orc/subskills/orc-testgen/SKILL.md +45 -45
  86. package/templates/skills/orc-analyze/SKILL.md +2 -2
  87. package/templates/skills/orc-analyze/examples/analyze-mock.md +42 -42
  88. package/templates/skills/orc-analyze/schemas/report-audit.md +83 -83
  89. package/templates/skills/orc-analyze/schemas/report-prose.md +63 -63
  90. package/templates/skills/orc-analyze/schemas/report-requirement.md +78 -78
  91. package/templates/skills/orc-challenge/README.md +142 -142
  92. package/templates/skills/orc-challenge/examples/council-full-roster.md +273 -273
  93. package/templates/skills/orc-challenge/references/council.md +315 -315
  94. package/templates/skills/orc-challenge/references/intake.md +171 -171
  95. package/templates/skills/orc-claude/SKILL.md +14 -14
  96. package/templates/skills/orc-diy/README.md +143 -143
  97. package/templates/skills/orc-diy/references/flow-schema.md +1 -1
  98. package/templates/skills/orc-doc/README.md +229 -229
  99. package/templates/skills/orc-doc/examples/orc-doc-prd-run.md +325 -325
  100. package/templates/skills/orc-doc/references/chunking.md +527 -527
  101. package/templates/skills/orc-fast/SKILL.md +1 -1
  102. package/templates/skills/orc-learn/SKILL.md +14 -14
  103. package/templates/skills/orc-learn/examples/learn-run-mock.md +61 -61
  104. package/templates/skills/orc-mini/SKILL.md +3 -3
  105. package/templates/skills/orc-verify/SKILL.md +15 -15
  106. package/templates/skills/orc-verify/examples/verify-mock.md +33 -33
  107. package/templates/skills/orc-wiki/references/extra.md +1 -1
@@ -1,142 +1,142 @@
1
- # Build your own `/orc-challenge` cycle
2
-
3
- This is the maintainer's guide to the lane. If you just want to use it, run
4
- `/orc-challenge` and answer the seven intake questions.
5
-
6
- ## The one design decision everything else follows from
7
-
8
- **The judge and the fixer must never share a context.**
9
-
10
- Everything unusual about this lane is downstream of that one sentence:
11
-
12
- - there is no in-session repair loop, because a session that wrote the fix would
13
- grade its own homework
14
- - the judge's dispatch slice is paths and ids only, because a summary of what
15
- changed is written by the party with an interest in passing
16
- - PASS is computed by the CLI, because a judge that CAN pass something can be
17
- talked into passing something
18
- - the stop is the deliverable, not an interruption
19
-
20
- If you are tempted to add a `challenge_same_session` escape hatch: that config
21
- key is how the premise dies. It is deliberately not there.
22
-
23
- ## The shape of one iteration
24
-
25
- ```
26
- C2 lint (free) → C3 the council → C4 judge → C5 record (the CLI decides)
27
- (parallel, <=3) ├── PASS → C7 final report
28
- └── FAIL → C6 advise → C8 STOP
29
- ```
30
-
31
- One iteration is C2 → C8. The user then fixes in a **different session** and
32
- comes back, and the whole thing runs again with the carried findings.
33
-
34
- ## The eight agents, and why each is pinned where it is
35
-
36
- | Agent | Effort | Why that effort |
37
- |---|---|---|
38
- | `orc-challenge-judge-opus-5-high` | high | D2 is the only dimension no computer can reach, and it is the expensive one |
39
- | `orc-challenge-advisor-opus-5-med` | medium | grouping twelve findings into three causes is pattern work, not deep reasoning |
40
- | `orc-challenge-reader-opus-5-low` | **low, on purpose** | a harder-thinking reader reasons AROUND the gaps D4 exists to find. A stronger configuration is a WORSE instrument |
41
- | `orc-challenge-contrarian-opus-5-high` | high | a shallow contrarian returns the three surface complaints the free lint already caught |
42
- | `orc-challenge-outsider-opus-5-low` | **low, on purpose** | a harder-thinking outsider reasons its way AROUND an unexplained acronym and reports the document is fine |
43
- | `orc-challenge-executor-opus-5-med` | medium | pattern work against a concrete artifact — the same class as the advisor |
44
- | `orc-challenge-principles-opus-5-high` | high | rebuilding a problem statement from the ground up is the deepest reasoning in the lane |
45
- | `orc-challenge-expansionist-opus-5-med` | medium | pattern work again, pointed at upside instead of at defect |
46
-
47
- All eight are `claude-opus-5`, so **`opus5_only` is a no-op for this lane** —
48
- zero new agent pairs, no `LEGACY_KEYS` entry, no rename churn. The lane is
49
- unaffected, not exempt.
50
-
51
- **Effort here is a MEASUREMENT choice, not a cost choice.** That is why there is
52
- no model or effort config key: a key that lets `outsider: low` be tuned is a key
53
- that lets the instrument be broken.
54
-
55
- ## The council (v0.49.1)
56
-
57
- Five of those eight are new, and the design is in `references/council.md`. Three
58
- sentences carry it:
59
-
60
- - **A lens raises; only the judge resolves.**
61
- - **ORC proposes the council; the user picks it.** `--council` has no default and
62
- `init` refuses by name — **a lane that picks its own council has broken this
63
- contract.**
64
- - **Two lenses never touch the pass gate.** The expansionist returns
65
- `opportunity`, the first-principles thinker returns `premise`; neither has a
66
- severity, and forcing either to have one would make it lie.
67
-
68
- The gate that makes five extra reviewers safe is `council_coverage_pct`, derived
69
- by `orc challenge record` from `iteration-NN/council/*.json` on disk — **not from
70
- the judge's account of them.** The judge cannot shrink the set by omission.
71
-
72
- They are pinned and dispatched BY NAME for one reason beyond the trace hook: **a
73
- verdict must be attributable.** `/orc-retro` can then mine downgrade behaviour on
74
- judging runs like any other lane.
75
-
76
- ## Adding a lens
77
-
78
- 1. `references/council.md` — the roster row, what it is for, how it fails, and
79
- why its effort is what it is.
80
- 2. `bin/cli.js` — `CHALLENGE_LENSES` and `CHALLENGE_LENS_META`. Pick a prefix
81
- nothing else uses; prefixes are the raiser's signature and `record` gates on
82
- them.
83
- 3. The agent file, named in `bin/verify-package.js`, with a `MODEL-MAPPING.md`
84
- row that states the reason for the effort.
85
- 4. A golden test comparing 1 and 2. The roster is documented drift the token
86
- lint cannot see, because it is a list, not a token.
87
-
88
- Decide its CLASS first. If it cannot honestly carry a `serves`, it is not a
89
- finding lens and it must never enter `findings[]`.
90
-
91
- ## Adding a dimension
92
-
93
- 1. `references/dimensions.md` — the definition, the evidence a finding must
94
- carry, and which agent produces it.
95
- 2. `bin/cli.js` — `CHALLENGE_DIMS` and the `--dimensions` validator.
96
- 3. `references/kinds.md` — whether any kind selects it by default.
97
- 4. A golden test comparing 1 and 2. The enum is documented drift the token lint
98
- cannot see, because it is a list, not a token.
99
-
100
- ## Adding a lint check
101
-
102
- 1. `bin/cli.js` — the check itself, in `challengeLint`. Emit `L-###` with a
103
- dimension and a line number.
104
- 2. `references/plain-english.md` — the row in the table, and the word list if it
105
- has one.
106
- 3. A fixture in `test/`.
107
-
108
- Keep both honesty rules intact: it is a signal, not a verdict, and it is
109
- heuristic. A lint that starts blocking is a lint that starts being argued with.
110
-
111
- ## Adding an artifact kind
112
-
113
- `references/kinds.md` and `CHALLENGE_KINDS` in `bin/cli.js`. A kind is a
114
- PROPOSAL of a dimension set and a template hint — never a silent application of
115
- one.
116
-
117
- ## What this lane must never grow
118
-
119
- - **an in-session fix.** See above.
120
- - **a hard loop cap.** Each turn is a separate human sitting down to work.
121
- `stalled` measures instead, and offers three real options.
122
- - **a model or effort config key.** That is the pinned agents' job, and the
123
- efforts are measurements.
124
- - **a `challenge_council` config key.** A global default roster would silently
125
- answer the one question the council exists to ask.
126
- - **a `block` mode on any council output.** Opportunities and premises never
127
- gate; the finding lenses gate through the EXISTING severity bar and nothing
128
- else.
129
- - **auto-severity from corroboration.** Two lenses agreeing is a signal, and
130
- churn is a signal, not a verdict.
131
- - **a `block` mode on `challenge_gate`.** The `/orc-pact` precedent: the payoff
132
- is knowing, not gating.
133
- - **a second definition of "a plan", "a state", or "fresh".** If a state exists,
134
- the CLI computes it and everything else renders it.
135
-
136
- ## Reading order for a new maintainer
137
-
138
- `../_shared/phases/intake.md` (it defines what every later file grades against) →
139
- `council.md` → `sealed-slice.md` → `rubric.md` → `conservation.md` →
140
- `cycle-state.md` → `fix-brief.md`. Then `examples/tsd-two-iterations.md` for the
141
- whole thing end to end, and `examples/council-full-roster.md` for a run where
142
- the first-principles thinker lands a premise challenge and the goal moves.
1
+ # Build your own `/orc-challenge` cycle
2
+
3
+ This is the maintainer's guide to the lane. If you just want to use it, run
4
+ `/orc-challenge` and answer the seven intake questions.
5
+
6
+ ## The one design decision everything else follows from
7
+
8
+ **The judge and the fixer must never share a context.**
9
+
10
+ Everything unusual about this lane is downstream of that one sentence:
11
+
12
+ - there is no in-session repair loop, because a session that wrote the fix would
13
+ grade its own homework
14
+ - the judge's dispatch slice is paths and ids only, because a summary of what
15
+ changed is written by the party with an interest in passing
16
+ - PASS is computed by the CLI, because a judge that CAN pass something can be
17
+ talked into passing something
18
+ - the stop is the deliverable, not an interruption
19
+
20
+ If you are tempted to add a `challenge_same_session` escape hatch: that config
21
+ key is how the premise dies. It is deliberately not there.
22
+
23
+ ## The shape of one iteration
24
+
25
+ ```
26
+ C2 lint (free) → C3 the council → C4 judge → C5 record (the CLI decides)
27
+ (parallel, <=3) ├── PASS → C7 final report
28
+ └── FAIL → C6 advise → C8 STOP
29
+ ```
30
+
31
+ One iteration is C2 → C8. The user then fixes in a **different session** and
32
+ comes back, and the whole thing runs again with the carried findings.
33
+
34
+ ## The eight agents, and why each is pinned where it is
35
+
36
+ | Agent | Effort | Why that effort |
37
+ |---|---|---|
38
+ | `orc-challenge-judge-opus-5-high` | high | D2 is the only dimension no computer can reach, and it is the expensive one |
39
+ | `orc-challenge-advisor-opus-5-med` | medium | grouping twelve findings into three causes is pattern work, not deep reasoning |
40
+ | `orc-challenge-reader-opus-5-low` | **low, on purpose** | a harder-thinking reader reasons AROUND the gaps D4 exists to find. A stronger configuration is a WORSE instrument |
41
+ | `orc-challenge-contrarian-opus-5-high` | high | a shallow contrarian returns the three surface complaints the free lint already caught |
42
+ | `orc-challenge-outsider-opus-5-low` | **low, on purpose** | a harder-thinking outsider reasons its way AROUND an unexplained acronym and reports the document is fine |
43
+ | `orc-challenge-executor-opus-5-med` | medium | pattern work against a concrete artifact — the same class as the advisor |
44
+ | `orc-challenge-principles-opus-5-high` | high | rebuilding a problem statement from the ground up is the deepest reasoning in the lane |
45
+ | `orc-challenge-expansionist-opus-5-med` | medium | pattern work again, pointed at upside instead of at defect |
46
+
47
+ All eight are `claude-opus-5-5`, so **`opus5_only` is a no-op for this lane** —
48
+ zero new agent pairs, no `LEGACY_KEYS` entry, no rename churn. The lane is
49
+ unaffected, not exempt.
50
+
51
+ **Effort here is a MEASUREMENT choice, not a cost choice.** That is why there is
52
+ no model or effort config key: a key that lets `outsider: low` be tuned is a key
53
+ that lets the instrument be broken.
54
+
55
+ ## The council (v0.49.1)
56
+
57
+ Five of those eight are new, and the design is in `references/council.md`. Three
58
+ sentences carry it:
59
+
60
+ - **A lens raises; only the judge resolves.**
61
+ - **ORC proposes the council; the user picks it.** `--council` has no default and
62
+ `init` refuses by name — **a lane that picks its own council has broken this
63
+ contract.**
64
+ - **Two lenses never touch the pass gate.** The expansionist returns
65
+ `opportunity`, the first-principles thinker returns `premise`; neither has a
66
+ severity, and forcing either to have one would make it lie.
67
+
68
+ The gate that makes five extra reviewers safe is `council_coverage_pct`, derived
69
+ by `orc challenge record` from `iteration-NN/council/*.json` on disk — **not from
70
+ the judge's account of them.** The judge cannot shrink the set by omission.
71
+
72
+ They are pinned and dispatched BY NAME for one reason beyond the trace hook: **a
73
+ verdict must be attributable.** `/orc-retro` can then mine downgrade behaviour on
74
+ judging runs like any other lane.
75
+
76
+ ## Adding a lens
77
+
78
+ 1. `references/council.md` — the roster row, what it is for, how it fails, and
79
+ why its effort is what it is.
80
+ 2. `bin/cli.js` — `CHALLENGE_LENSES` and `CHALLENGE_LENS_META`. Pick a prefix
81
+ nothing else uses; prefixes are the raiser's signature and `record` gates on
82
+ them.
83
+ 3. The agent file, named in `bin/verify-package.js`, with a `MODEL-MAPPING.md`
84
+ row that states the reason for the effort.
85
+ 4. A golden test comparing 1 and 2. The roster is documented drift the token
86
+ lint cannot see, because it is a list, not a token.
87
+
88
+ Decide its CLASS first. If it cannot honestly carry a `serves`, it is not a
89
+ finding lens and it must never enter `findings[]`.
90
+
91
+ ## Adding a dimension
92
+
93
+ 1. `references/dimensions.md` — the definition, the evidence a finding must
94
+ carry, and which agent produces it.
95
+ 2. `bin/cli.js` — `CHALLENGE_DIMS` and the `--dimensions` validator.
96
+ 3. `references/kinds.md` — whether any kind selects it by default.
97
+ 4. A golden test comparing 1 and 2. The enum is documented drift the token lint
98
+ cannot see, because it is a list, not a token.
99
+
100
+ ## Adding a lint check
101
+
102
+ 1. `bin/cli.js` — the check itself, in `challengeLint`. Emit `L-###` with a
103
+ dimension and a line number.
104
+ 2. `references/plain-english.md` — the row in the table, and the word list if it
105
+ has one.
106
+ 3. A fixture in `test/`.
107
+
108
+ Keep both honesty rules intact: it is a signal, not a verdict, and it is
109
+ heuristic. A lint that starts blocking is a lint that starts being argued with.
110
+
111
+ ## Adding an artifact kind
112
+
113
+ `references/kinds.md` and `CHALLENGE_KINDS` in `bin/cli.js`. A kind is a
114
+ PROPOSAL of a dimension set and a template hint — never a silent application of
115
+ one.
116
+
117
+ ## What this lane must never grow
118
+
119
+ - **an in-session fix.** See above.
120
+ - **a hard loop cap.** Each turn is a separate human sitting down to work.
121
+ `stalled` measures instead, and offers three real options.
122
+ - **a model or effort config key.** That is the pinned agents' job, and the
123
+ efforts are measurements.
124
+ - **a `challenge_council` config key.** A global default roster would silently
125
+ answer the one question the council exists to ask.
126
+ - **a `block` mode on any council output.** Opportunities and premises never
127
+ gate; the finding lenses gate through the EXISTING severity bar and nothing
128
+ else.
129
+ - **auto-severity from corroboration.** Two lenses agreeing is a signal, and
130
+ churn is a signal, not a verdict.
131
+ - **a `block` mode on `challenge_gate`.** The `/orc-pact` precedent: the payoff
132
+ is knowing, not gating.
133
+ - **a second definition of "a plan", "a state", or "fresh".** If a state exists,
134
+ the CLI computes it and everything else renders it.
135
+
136
+ ## Reading order for a new maintainer
137
+
138
+ `../_shared/phases/intake.md` (it defines what every later file grades against) →
139
+ `council.md` → `sealed-slice.md` → `rubric.md` → `conservation.md` →
140
+ `cycle-state.md` → `fix-brief.md`. Then `examples/tsd-two-iterations.md` for the
141
+ whole thing end to end, and `examples/council-full-roster.md` for a run where
142
+ the first-principles thinker lands a premise challenge and the goal moves.