@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,262 +1,262 @@
1
- # Mock run — the `/orc-challenge` council
2
-
3
- > One reviewer sees one kind of problem. The council is six more ways of looking, and YOU choose which ones run.
4
-
5
- ---
6
-
7
- ## 1. The problem with one reviewer
8
-
9
- `/orc-challenge` already reads your finished document and tells you what is
10
- wrong with it. But it reads it **one way**: *does this document do what a
11
- document is supposed to do?*
12
-
13
- That misses whole kinds of problem. Six of them, in fact — and each one is
14
- missed for a different reason:
15
-
16
- | The way of looking | The question it asks | What goes wrong without it |
17
- |---|---|---|
18
- | **The Contrarian** | where is the fatal flaw? | everyone assumes the document is fine and stops looking |
19
- | **The First Principles Thinker** | are we even solving the right problem? | nobody questions the thing you asked for |
20
- | **The Expansionist** | what is being undervalued here? | only the bad news gets counted |
21
- | **The Outsider** | what does this assume I already know? | an expert cannot un-know things |
22
- | **The Executor** | what do you actually do on Monday? | the theory is graded, the first step never is |
23
-
24
- Plus **The Cold Reader**, which you already had: *can a stranger answer the
25
- questions this document promised to answer?*
26
-
27
- That is six. The seventh — **The Judge** — always runs, and it is the one that
28
- decides what happens to everything the other six find.
29
-
30
- ---
31
-
32
- ## 2. ORC suggests. You pick.
33
-
34
- This is the part that matters, and it is the one rule the whole design is built
35
- around:
36
-
37
- > **ORC suggests a council. You choose it. ORC never chooses for you.**
38
-
39
- Choosing the council is choosing **which kinds of criticism you are allowed to
40
- hear**. That is a bigger decision than any single thing the review will find, so
41
- ORC will not make it for you. If you do not answer, the command refuses:
42
-
43
- ```
44
- ❌ --council is required and has no default. ORC SUGGESTS a roster (from the kind
45
- and the goal); the user PICKS it.
46
- ```
47
-
48
- When you open a cycle, question 7 looks like this:
49
-
50
- ```
51
- 7 Who is on the council for this review? (judge always runs; advisor runs on a fail)
52
-
53
- ORC suggests, for a TSD aimed at implementers:
54
- [x] cold reader can a stranger answer this document's own questions?
55
- [x] contrarian assume it has a fatal flaw, then go find it
56
- [x] executor can this be started on Monday? where is the first step?
57
- [ ] outsider what does this assume you already know?
58
- [ ] principles is this even the right problem? (never blocks)
59
- [ ] expansionist what upside is being missed? (never blocks)
60
-
61
- Reply with the ones you want (or "all", or "none").
62
- Each one is one extra read-only Opus 5 dispatch per iteration.
63
- ```
64
-
65
- Three things about that block:
66
-
67
- - **The suggestion is worked out from what you told it** — the kind of document
68
- and what it is for. That is a fact, so ORC is allowed to work it out.
69
- - **The cost is in dispatches, never in money.** ORC will not put a dollar figure
70
- on anything it has not priced from a real, dated price table.
71
- - **"none" is a real answer.** It gives you exactly the review you had before,
72
- and nothing is lost by saying it.
73
-
74
- ---
75
-
76
- ## 3. Two of them never block anything
77
-
78
- Four of the six find **problems**. Two of them cannot, and pretending otherwise
79
- would make them lie.
80
-
81
- ### The Expansionist finds upside, not defects
82
-
83
- Its whole job is *"what is this worth that nobody is counting?"* — which, by
84
- definition, is **not** something you asked for. So it cannot report a problem
85
- against your goal, because there is no goal to report it against.
86
-
87
- It writes **opportunities** instead. An opportunity has no severity, never
88
- blocks a pass, and always comes with a first step:
89
-
90
- ```
91
- OPPORTUNITIES — not work, nothing here blocks
92
-
93
- X-001 the retry table would work for every write in the service, not just this one
94
- first step: list the four existing retry rules side by side
95
- route: /orc-brainstorm
96
- ```
97
-
98
- You keep it or you let it go, and either way you say why. An idea that quietly
99
- disappears looks exactly like an idea nobody ever had.
100
-
101
- ### The First Principles Thinker questions your goal
102
-
103
- It is the only one allowed to say **the goal is wrong**. And that is exactly why
104
- it cannot report a problem: a problem is measured *against* the goal, and this
105
- one is arguing about the goal itself. Those cannot be the same thing.
106
-
107
- It writes a **premise challenge**, and when there is one, it is the first thing
108
- you read:
109
-
110
- ```
111
- OPEN PREMISE CHALLENGE — read this before the findings
112
-
113
- Q-001 disputes: goal
114
-
115
- Reframe: the real job here is not "describe self-serve signup"; it is
116
- "decide whether signup is self-serve at all". Three sections answer the
117
- second question as if the first were already settled.
118
-
119
- Cheapest test: ask the growth lead whether the decision has been taken.
120
- One message. No rewrite.
121
-
122
- Neither answer is automatic and ORC never picks:
123
- agree orc challenge goals <slug> --set <path> --reason "…"
124
- disagree orc challenge premise <slug> Q-001 --dismiss --reason "…"
125
- ```
126
-
127
- **Only a person can settle this.** If you agree, you write a new goal and the
128
- review starts measuring against that instead. If you disagree, you say why — and
129
- your reason stays in the report forever.
130
-
131
- The Judge never sees this report. Handing a judge a document arguing that the
132
- goal is wrong would bend every single thing it says afterwards.
133
-
134
- ---
135
-
136
- ## 4. What stops six reviewers from being a waste of money
137
-
138
- The obvious way this goes wrong: six reviewers run, the Judge quietly ignores
139
- four of them, and the review looks exactly the same as before while costing five
140
- times more.
141
-
142
- So the CLI **reads what each reviewer wrote, from disk**, and demands that the
143
- Judge account for every single thing they raised:
144
-
145
- ```
146
- ❌ malformed verdict — council coverage is below 100% — every id the council
147
- raised needs exactly ONE disposition (adopted | merged | rejected |
148
- out-of-goal). Missing: O-003
149
- ```
150
-
151
- The Judge cannot make the list shorter by leaving something out, because the
152
- list was never the Judge's to write.
153
-
154
- Four possible answers, and three of them need a reason:
155
-
156
- | Answer | Means |
157
- |---|---|
158
- | `adopted` | agreed — it becomes a real finding |
159
- | `merged` | the same problem as another finding (and it must say which) |
160
- | `rejected` | read it, disagreed — **and says why** |
161
- | `out-of-goal` | real, but nothing you asked for covers it — **and says why**. Reported, never quietly dropped |
162
-
163
- ---
164
-
165
- ## 5. Whoever found it, keeps the credit
166
-
167
- When the Judge agrees with something the Contrarian found, it stays `C-004`.
168
- Forever — in this review, in the report, and in iteration nine.
169
-
170
- That is not tidiness. It is the only way you ever find out whether a reviewer is
171
- worth what it costs:
172
-
173
- ```
174
- RAN reader raised 3 · adopted 2 · merged 1 · rejected 0
175
- RAN contrarian raised 6 · adopted 4 · merged 1 · rejected 1
176
- RAN outsider raised 3 · adopted 1 · merged 2 · rejected 0
177
- RAN executor raised 2 · adopted 2 · merged 0 · rejected 0
178
- NOT-RUN principles usage limit reached mid-batch
179
- ```
180
-
181
- After two rounds you can see plainly that the Contrarian found four of the six
182
- things that mattered, and that one reviewer has never landed anything. Drop it.
183
-
184
- ---
185
-
186
- ## 6. A reviewer that did not run is never silent
187
-
188
- Look at that last line again. `principles` did not run, and it says so, with the
189
- reason.
190
-
191
- If a reviewer you chose simply vanished from the report, "it found nothing" and
192
- "it never ran" would look identical — and one of those means you should relax
193
- and the other means you should look again. So a reviewer that was selected and
194
- did not run is **rejected as malformed** unless it says why:
195
-
196
- ```
197
- ❌ malformed verdict — executor is on the roster but returned neither a report
198
- nor an explicit { "lens": "executor", "ran": false, "reason": "…" }.
199
- A selected role is never silently absent.
200
- ```
201
-
202
- ---
203
-
204
- ## 7. What you actually do Monday morning
205
-
206
- The Executor writes one thing that nobody else does — the literal first three
207
- things an implementer would do with your document today:
208
-
209
- ```
210
- What you would actually do first
211
-
212
- 1. open docs/tsd-payments.md §4.2 and write the retry window in seconds
213
- 2. ask the payments lead which queue the dead letters go to
214
- 3. — stops here. The document never names the queue.
215
- ```
216
-
217
- **That third line is the useful one.** It does not pretend. If the list cannot be
218
- finished, it says exactly where it stops and why — and that sentence is usually
219
- the clearest thing in the whole review for somebody who does not read code.
220
-
221
- ---
222
-
223
- ## 8. You can change your mind
224
-
225
- The council is frozen per review, like the goal and the template. Changing it is
226
- a recorded decision with a reason:
227
-
228
- ```bash
229
- orc challenge council my-tsd --set contrarian,executor \
230
- --reason "the framing question is settled; what is left is completeness"
231
- ```
232
-
233
- The timeline draws a line at that point, because a round judged by three
234
- reviewers and a round judged by six are not comparable.
235
-
236
- **Anything still open stays open.** The Judge answers every carried finding
237
- whatever found it — it re-reads your document from disk every time, so it never
238
- needed the original reviewer. You can change the council freely and lose
239
- nothing.
240
-
241
- ---
242
-
243
- ## 9. What this never does
244
-
245
- - **It never picks the council for you.**
246
- - **It never lets an opportunity or a premise block a pass.** Neither has a
247
- severity, and neither ever will.
248
- - **It never bumps a severity because two reviewers agreed.** Agreement is a
249
- signal worth showing you. It is not a verdict.
250
- - **It never fixes anything.** Same as before: ORC judges, you fix somewhere
251
- else, ORC judges again.
252
- - **It never quietly leaves a reviewer out.**
253
-
254
- ---
255
-
256
- ## 10. What it costs
257
-
258
- One extra read-only dispatch per reviewer, per round. That is it.
259
-
260
- The suggestion defaults to three, `none` is free and gives you the old review
261
- exactly, and the per-reviewer numbers in section 5 tell you within two rounds
262
- which ones to keep.
1
+ # Mock run — the `/orc-challenge` council
2
+
3
+ > One reviewer sees one kind of problem. The council is six more ways of looking, and YOU choose which ones run.
4
+
5
+ ---
6
+
7
+ ## 1. The problem with one reviewer
8
+
9
+ `/orc-challenge` already reads your finished document and tells you what is
10
+ wrong with it. But it reads it **one way**: *does this document do what a
11
+ document is supposed to do?*
12
+
13
+ That misses whole kinds of problem. Six of them, in fact — and each one is
14
+ missed for a different reason:
15
+
16
+ | The way of looking | The question it asks | What goes wrong without it |
17
+ |---|---|---|
18
+ | **The Contrarian** | where is the fatal flaw? | everyone assumes the document is fine and stops looking |
19
+ | **The First Principles Thinker** | are we even solving the right problem? | nobody questions the thing you asked for |
20
+ | **The Expansionist** | what is being undervalued here? | only the bad news gets counted |
21
+ | **The Outsider** | what does this assume I already know? | an expert cannot un-know things |
22
+ | **The Executor** | what do you actually do on Monday? | the theory is graded, the first step never is |
23
+
24
+ Plus **The Cold Reader**, which you already had: *can a stranger answer the
25
+ questions this document promised to answer?*
26
+
27
+ That is six. The seventh — **The Judge** — always runs, and it is the one that
28
+ decides what happens to everything the other six find.
29
+
30
+ ---
31
+
32
+ ## 2. ORC suggests. You pick.
33
+
34
+ This is the part that matters, and it is the one rule the whole design is built
35
+ around:
36
+
37
+ > **ORC suggests a council. You choose it. ORC never chooses for you.**
38
+
39
+ Choosing the council is choosing **which kinds of criticism you are allowed to
40
+ hear**. That is a bigger decision than any single thing the review will find, so
41
+ ORC will not make it for you. If you do not answer, the command refuses:
42
+
43
+ ```
44
+ ❌ --council is required and has no default. ORC SUGGESTS a roster (from the kind
45
+ and the goal); the user PICKS it.
46
+ ```
47
+
48
+ When you open a cycle, question 7 looks like this:
49
+
50
+ ```
51
+ 7 Who is on the council for this review? (judge always runs; advisor runs on a fail)
52
+
53
+ ORC suggests, for a TSD aimed at implementers:
54
+ [x] cold reader can a stranger answer this document's own questions?
55
+ [x] contrarian assume it has a fatal flaw, then go find it
56
+ [x] executor can this be started on Monday? where is the first step?
57
+ [ ] outsider what does this assume you already know?
58
+ [ ] principles is this even the right problem? (never blocks)
59
+ [ ] expansionist what upside is being missed? (never blocks)
60
+
61
+ Reply with the ones you want (or "all", or "none").
62
+ Each one is one extra read-only Opus 5.5 dispatch per iteration.
63
+ ```
64
+
65
+ Three things about that block:
66
+
67
+ - **The suggestion is worked out from what you told it** — the kind of document
68
+ and what it is for. That is a fact, so ORC is allowed to work it out.
69
+ - **The cost is in dispatches, never in money.** ORC will not put a dollar figure
70
+ on anything it has not priced from a real, dated price table.
71
+ - **"none" is a real answer.** It gives you exactly the review you had before,
72
+ and nothing is lost by saying it.
73
+
74
+ ---
75
+
76
+ ## 3. Two of them never block anything
77
+
78
+ Four of the six find **problems**. Two of them cannot, and pretending otherwise
79
+ would make them lie.
80
+
81
+ ### The Expansionist finds upside, not defects
82
+
83
+ Its whole job is *"what is this worth that nobody is counting?"* — which, by
84
+ definition, is **not** something you asked for. So it cannot report a problem
85
+ against your goal, because there is no goal to report it against.
86
+
87
+ It writes **opportunities** instead. An opportunity has no severity, never
88
+ blocks a pass, and always comes with a first step:
89
+
90
+ ```
91
+ OPPORTUNITIES — not work, nothing here blocks
92
+
93
+ X-001 the retry table would work for every write in the service, not just this one
94
+ first step: list the four existing retry rules side by side
95
+ route: /orc-brainstorm
96
+ ```
97
+
98
+ You keep it or you let it go, and either way you say why. An idea that quietly
99
+ disappears looks exactly like an idea nobody ever had.
100
+
101
+ ### The First Principles Thinker questions your goal
102
+
103
+ It is the only one allowed to say **the goal is wrong**. And that is exactly why
104
+ it cannot report a problem: a problem is measured *against* the goal, and this
105
+ one is arguing about the goal itself. Those cannot be the same thing.
106
+
107
+ It writes a **premise challenge**, and when there is one, it is the first thing
108
+ you read:
109
+
110
+ ```
111
+ OPEN PREMISE CHALLENGE — read this before the findings
112
+
113
+ Q-001 disputes: goal
114
+
115
+ Reframe: the real job here is not "describe self-serve signup"; it is
116
+ "decide whether signup is self-serve at all". Three sections answer the
117
+ second question as if the first were already settled.
118
+
119
+ Cheapest test: ask the growth lead whether the decision has been taken.
120
+ One message. No rewrite.
121
+
122
+ Neither answer is automatic and ORC never picks:
123
+ agree orc challenge goals <slug> --set <path> --reason "…"
124
+ disagree orc challenge premise <slug> Q-001 --dismiss --reason "…"
125
+ ```
126
+
127
+ **Only a person can settle this.** If you agree, you write a new goal and the
128
+ review starts measuring against that instead. If you disagree, you say why — and
129
+ your reason stays in the report forever.
130
+
131
+ The Judge never sees this report. Handing a judge a document arguing that the
132
+ goal is wrong would bend every single thing it says afterwards.
133
+
134
+ ---
135
+
136
+ ## 4. What stops six reviewers from being a waste of money
137
+
138
+ The obvious way this goes wrong: six reviewers run, the Judge quietly ignores
139
+ four of them, and the review looks exactly the same as before while costing five
140
+ times more.
141
+
142
+ So the CLI **reads what each reviewer wrote, from disk**, and demands that the
143
+ Judge account for every single thing they raised:
144
+
145
+ ```
146
+ ❌ malformed verdict — council coverage is below 100% — every id the council
147
+ raised needs exactly ONE disposition (adopted | merged | rejected |
148
+ out-of-goal). Missing: O-003
149
+ ```
150
+
151
+ The Judge cannot make the list shorter by leaving something out, because the
152
+ list was never the Judge's to write.
153
+
154
+ Four possible answers, and three of them need a reason:
155
+
156
+ | Answer | Means |
157
+ |---|---|
158
+ | `adopted` | agreed — it becomes a real finding |
159
+ | `merged` | the same problem as another finding (and it must say which) |
160
+ | `rejected` | read it, disagreed — **and says why** |
161
+ | `out-of-goal` | real, but nothing you asked for covers it — **and says why**. Reported, never quietly dropped |
162
+
163
+ ---
164
+
165
+ ## 5. Whoever found it, keeps the credit
166
+
167
+ When the Judge agrees with something the Contrarian found, it stays `C-004`.
168
+ Forever — in this review, in the report, and in iteration nine.
169
+
170
+ That is not tidiness. It is the only way you ever find out whether a reviewer is
171
+ worth what it costs:
172
+
173
+ ```
174
+ RAN reader raised 3 · adopted 2 · merged 1 · rejected 0
175
+ RAN contrarian raised 6 · adopted 4 · merged 1 · rejected 1
176
+ RAN outsider raised 3 · adopted 1 · merged 2 · rejected 0
177
+ RAN executor raised 2 · adopted 2 · merged 0 · rejected 0
178
+ NOT-RUN principles usage limit reached mid-batch
179
+ ```
180
+
181
+ After two rounds you can see plainly that the Contrarian found four of the six
182
+ things that mattered, and that one reviewer has never landed anything. Drop it.
183
+
184
+ ---
185
+
186
+ ## 6. A reviewer that did not run is never silent
187
+
188
+ Look at that last line again. `principles` did not run, and it says so, with the
189
+ reason.
190
+
191
+ If a reviewer you chose simply vanished from the report, "it found nothing" and
192
+ "it never ran" would look identical — and one of those means you should relax
193
+ and the other means you should look again. So a reviewer that was selected and
194
+ did not run is **rejected as malformed** unless it says why:
195
+
196
+ ```
197
+ ❌ malformed verdict — executor is on the roster but returned neither a report
198
+ nor an explicit { "lens": "executor", "ran": false, "reason": "…" }.
199
+ A selected role is never silently absent.
200
+ ```
201
+
202
+ ---
203
+
204
+ ## 7. What you actually do Monday morning
205
+
206
+ The Executor writes one thing that nobody else does — the literal first three
207
+ things an implementer would do with your document today:
208
+
209
+ ```
210
+ What you would actually do first
211
+
212
+ 1. open docs/tsd-payments.md §4.2 and write the retry window in seconds
213
+ 2. ask the payments lead which queue the dead letters go to
214
+ 3. — stops here. The document never names the queue.
215
+ ```
216
+
217
+ **That third line is the useful one.** It does not pretend. If the list cannot be
218
+ finished, it says exactly where it stops and why — and that sentence is usually
219
+ the clearest thing in the whole review for somebody who does not read code.
220
+
221
+ ---
222
+
223
+ ## 8. You can change your mind
224
+
225
+ The council is frozen per review, like the goal and the template. Changing it is
226
+ a recorded decision with a reason:
227
+
228
+ ```bash
229
+ orc challenge council my-tsd --set contrarian,executor \
230
+ --reason "the framing question is settled; what is left is completeness"
231
+ ```
232
+
233
+ The timeline draws a line at that point, because a round judged by three
234
+ reviewers and a round judged by six are not comparable.
235
+
236
+ **Anything still open stays open.** The Judge answers every carried finding
237
+ whatever found it — it re-reads your document from disk every time, so it never
238
+ needed the original reviewer. You can change the council freely and lose
239
+ nothing.
240
+
241
+ ---
242
+
243
+ ## 9. What this never does
244
+
245
+ - **It never picks the council for you.**
246
+ - **It never lets an opportunity or a premise block a pass.** Neither has a
247
+ severity, and neither ever will.
248
+ - **It never bumps a severity because two reviewers agreed.** Agreement is a
249
+ signal worth showing you. It is not a verdict.
250
+ - **It never fixes anything.** Same as before: ORC judges, you fix somewhere
251
+ else, ORC judges again.
252
+ - **It never quietly leaves a reviewer out.**
253
+
254
+ ---
255
+
256
+ ## 10. What it costs
257
+
258
+ One extra read-only dispatch per reviewer, per round. That is it.
259
+
260
+ The suggestion defaults to three, `none` is free and gives you the old review
261
+ exactly, and the per-reviewer numbers in section 5 tell you within two rounds
262
+ which ones to keep.