@open-agent-toolkit/cli 0.2.77 → 0.2.79

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.
@@ -1,16 +1,17 @@
1
1
  ---
2
2
  name: recon-worker
3
- version: 1.0.1
3
+ version: 1.0.2
4
4
  description: Executes one bounded recon packet assignment as a non-interactive leaf worker and writes exactly one declared artifact.
5
5
  tools: Read, Bash, Grep, Glob, Write, WebSearch, WebFetch
6
6
  color: cyan
7
+ is_background: true
7
8
  ---
8
9
 
9
10
  ## Role
10
11
 
11
12
  You are a non-interactive recon leaf worker. Execute exactly one assignment in
12
- one declared mode: `map`, `gather`, `compile`, `verify`, `adversary`, `coverage`,
13
- or `reconcile`. No other mode is valid.
13
+ one declared mode: `map`, `gather`, `compile`, `verify`, `adversary`, or
14
+ `coverage`. No other mode is valid.
14
15
 
15
16
  The controller maps approved manifest waves to this closed vocabulary:
16
17
 
@@ -22,7 +23,6 @@ The controller maps approved manifest waves to this closed vocabulary:
22
23
  | `semantic-verification` | `verify` |
23
24
  | `adversarial` | `adversary` |
24
25
  | `coverage` | `coverage` |
25
- | `reconciliation` | `reconcile` |
26
26
  | `redundant-gather` | `gather` |
27
27
  | `redundant-verification` | `verify` |
28
28
  | `contradiction-resolution` | `adversary` |
@@ -75,7 +75,9 @@ canonical claim status.
75
75
 
76
76
  Consume only the designated dossiers. Deduplicate their findings into a
77
77
  provisional claim-ledger candidate and cite direct input artifacts. Do not
78
- reopen excluded sources or invent evidence.
78
+ reopen excluded sources or invent evidence. Every persisted display excerpt
79
+ must be an exact contiguous substring of the cited source, except for the
80
+ declared `redacted-exact` representation.
79
81
 
80
82
  ### `verify`
81
83
 
@@ -99,13 +101,6 @@ Compare the declared scope and questions with the permitted ledger projection.
99
101
  Emit covered items, missing areas, and material gaps. Do not read gatherer
100
102
  reasoning.
101
103
 
102
- ### `reconcile`
103
-
104
- Apply permitted review dispositions and contradiction outcomes to a new ledger
105
- candidate. Preserve the prior revision, legal state transitions, evidence
106
- links, qualifications, and unresolved issues. Never invent evidence or update
107
- the existing ledger in place.
108
-
109
104
  ## Output
110
105
 
111
106
  Write one JSON artifact using only the supplied closed schema's fields. A
@@ -121,6 +116,11 @@ Do not add a second mode field or any other unknown field. The controller
121
116
  validates `waveId` and `mode`, or `reviewerLane` and `reviewKind`, against the
122
117
  approved manifest wave before promoting the artifact.
123
118
 
119
+ Before returning, run the supplied deterministic validator against the sole
120
+ unpromoted `writePath`. Correct an invalid candidate within this same accepted
121
+ task and validate it again. If it remains invalid, return terminal
122
+ `PASS_FAILED`; the controller must not retry or replace the worker.
123
+
124
124
  Return only the artifact path and compact outcome. Do not return source bodies,
125
125
  worker reasoning, or dossier contents to the controller.
126
126
 
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "oatVersion": "0.2.77"
3
+ "oatVersion": "0.2.79"
4
4
  }
@@ -69,19 +69,21 @@ context source, output directory, or strict authority:
69
69
  The default profile is `standard`. Each homogeneous wave has an independently
70
70
  selected and approved exact target. Bounded mapping, extraction, citation
71
71
  reopening, counterexample search, and mechanical dossier compilation start with
72
- economical qualified routes. A wave that genuinely requires interpretation or
73
- reconciliation judgment can use a stronger approved target without raising the
74
- cost of unrelated evidence waves.
72
+ economical qualified routes. Reconciliation is deterministic controller work
73
+ rather than a separately approved worker target.
75
74
 
76
75
  | Profile | Use it for | Required assurance work | Claim ceiling |
77
76
  | ---------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------- |
78
77
  | `quick` | Bounded orientation | Mapping, gathering, compilation, schema validation, and locator validation; no independent semantic pass by design | `supported` |
79
- | `standard` | Load-bearing evidence | Quick work plus blind semantic verification, adversarial review, coverage, and reconcile | `verified` |
78
+ | `standard` | Load-bearing evidence | Quick work plus blind semantic verification, adversarial review, coverage, and deterministic reconciliation | `verified` |
80
79
  | `thorough` | Expensive failure or correlated blind spots | Standard work plus required redundant gathering and redundant verification | `verified` |
81
80
 
82
81
  A thorough run may additionally predeclare an optional, condition-bound
83
82
  `contradiction-resolution` evidence wave. It runs only when its approved
84
83
  predicate triggers and is not required when that branch is not triggered.
84
+ Gather and redundant-gather waves may partition source work across lanes. Each
85
+ typed review wave uses exactly one lane so deterministic reconciliation has one
86
+ result per review kind, at the fixed path bound by the approved manifest.
85
87
 
86
88
  The approval manifest shows each wave's exact target, task class, class floor,
87
89
  selection rationale, adaptive lane count, conditional rule, concurrency,
@@ -93,11 +95,16 @@ change requires renewed approval; there is no silent substitution after
93
95
  approval.
94
96
 
95
97
  Before any worker launches, recon confirms that the live launch surface can run
96
- the approved role, model, effort, and authority level. If it cannot, the run
97
- stays at `awaiting-approval` with a provider/dispatch diagnostic and nothing is
98
- launched. Deadlines are approved execution limits chosen for the task class,
99
- not short watchdogs; an accepted lane is never interrupted by hand because a
100
- displayed deadline elapsed.
98
+ the approved role, model, effort, and authority level. A materialized Cursor
99
+ role file is configuration, not evidence that the current Task catalog exposes
100
+ that role; the live catalog controls eligibility, with the approved generic
101
+ fallback used when needed. If the launch surface cannot run the selected
102
+ target, the run stays at `awaiting-approval` with a provider/dispatch diagnostic
103
+ and nothing is launched. Every Cursor leaf runs in the background so later
104
+ parent-chat messages cannot interrupt multi-minute evidence work. Deadlines are
105
+ approved execution limits chosen for the task class, not short watchdogs; an
106
+ accepted lane is never interrupted by hand because a displayed deadline
107
+ elapsed.
101
108
 
102
109
  ### Preview and Check Routing
103
110
 
@@ -117,29 +124,30 @@ compare the constructed target with that wave's approved exact target:
117
124
  node .agents/skills/recon/scripts/prepare-routing.mjs --manifest manifest.json --wave gather-1 --check-target candidate-target.json
118
125
  ```
119
126
 
120
- These commands validate structure, approval integrity, and exact identity. They
121
- do not launch a worker, rank model names, attest actual runtime identity, or
122
- measure cost.
127
+ These commands validate structure, approval integrity, and exact identity. Like
128
+ the other recon command-line helpers, they use a shared realpath-aware entry
129
+ check, so direct and symlinked invocations execute identically. They do not
130
+ launch a worker, rank model names, attest actual runtime identity, or measure
131
+ cost.
123
132
 
124
133
  ### Bounded Conditional Evidence
125
134
 
126
- Standard and thorough may predeclare finite conditional
127
- `contradiction-resolution` evidence waves. A completed predecessor can trigger
128
- one such wave to seek discriminating evidence; accepted failure, cancellation,
135
+ Standard and thorough may each predeclare at most one conditional
136
+ `contradiction-resolution` evidence wave. A completed predecessor can trigger
137
+ that wave to seek discriminating evidence; accepted failure, cancellation,
129
138
  timeout, or missing output cannot trigger a replacement. Triggered,
130
139
  not-triggered, and unresolved dispositions remain visible. Both branches feed
131
- the same single mandatory terminal reconciliation.
140
+ the same deterministic controller reconciliation.
132
141
 
133
142
  A triggered condition must cite complete, digest-bound evidence from an approved
134
143
  predecessor in the same run. Evidence copied from another run cannot activate
135
144
  the destination wave and fails packet validation with
136
145
  `CONDITION_EVIDENCE_RUN_MISMATCH`.
137
146
 
138
- If a need for stronger reconciliation judgment is foreseeable, select that one
139
- terminal target before approval. If it appears only after approval, recon
140
- preserves completed evidence and returns an unresolved, out-of-envelope gap for
141
- renewed approval or a new run. It never mutates the target, silently retries,
142
- or launches a second reconciliation.
147
+ If reconciliation exposes a need for new semantic judgment, recon preserves
148
+ completed evidence and returns an unresolved, out-of-envelope gap for renewed
149
+ approval or a new run. It never converts deterministic reconciliation into a
150
+ worker wave or silently retries an accepted worker.
143
151
 
144
152
  ## Destination Precedence
145
153
 
@@ -173,8 +181,8 @@ non-publishable candidate generation withdraws any existing `packet.md`:
173
181
  - `claims.json` is the canonical claim ledger.
174
182
  - `manifest.json` records request, source, approved execution envelope, and
175
183
  gap provenance.
176
- - `reviews/` contains compact semantic, adversarial, coverage, and
177
- reconciliation evidence.
184
+ - `reviews/` contains compact semantic, adversarial, coverage, and the
185
+ controller-produced reconciliation record.
178
186
  - `raw/` contains worker dossiers, candidate artifacts, and safe failure
179
187
  diagnostics. It is not normal consumer input.
180
188
 
@@ -198,6 +206,20 @@ ledger must reference every completed primary and redundant gather dossier by
198
206
  exact path and digest before review briefs are created. Missing provenance fails
199
207
  with `MISSING_THOROUGH_GATHER_LEDGER_INPUT`.
200
208
 
209
+ Compile workers copy each evidence excerpt as one contiguous exact substring of
210
+ the reopened source. A source-required redaction may replace only the sensitive
211
+ span while preserving the surrounding bytes and recording the redaction. Recon
212
+ does not repair stale locators after compilation. Each accepted worker validates
213
+ its own closed artifact schema once, within the same accepted task, before
214
+ returning. An invalid accepted artifact is terminal; the controller neither
215
+ retries the schema nor substitutes another worker.
216
+
217
+ When an accepted lane has already written a schema-valid, lane-matching artifact
218
+ at its approved path, that durable artifact remains the result even if the
219
+ provider stream later closes with an error. Recon records the stream failure as
220
+ a provider diagnostic and does not relaunch the lane. A missing or invalid
221
+ artifact remains a failed pass.
222
+
201
223
  The ledger compiler and packet validator enforce categorical referential
202
224
  integrity on `synthesis.keyClaimIds` and `synthesis.unresolvedQuestionIds`. Any
203
225
  reference to an unknown claim or question ID fails validation with
@@ -228,10 +250,14 @@ the caller assesses sufficiency and conclusions. Stronger profiles can promote
228
250
  claims only when their required independent review artifacts validate and were
229
251
  written by approved lanes.
230
252
 
231
- When an independent semantic review rejects a proposed claim, the reconciler
232
- transitions it to `unsupported` rather than deleting it. This preserves the
233
- claim statement, cited evidence, and transition history in `claims.json`, and
234
- renders the finding under Contradictions and Qualifications.
253
+ When an independent semantic review rejects a proposed claim, deterministic
254
+ controller reconciliation transitions it to `unsupported` rather than deleting
255
+ it. The controller validates the digest-bound input ledger and required review
256
+ set, writes `raw/drafts/claims-v2.json` and
257
+ `reviews/reconciliation.json`, validates both, then atomically promotes the
258
+ candidate ledger to `claims.json`. This preserves the claim statement, cited
259
+ evidence, and transition history and renders the finding under Contradictions
260
+ and Qualifications.
235
261
 
236
262
  An adversarial challenge transitions a claim to `contested`. A run with
237
263
  contested claims may publish as `complete` when all declared questions and
@@ -1,6 +1,6 @@
1
1
  {
2
- "cli": "0.2.77",
3
- "docs-config": "0.2.77",
4
- "docs-theme": "0.2.77",
5
- "docs-transforms": "0.2.77"
2
+ "cli": "0.2.79",
3
+ "docs-config": "0.2.79",
4
+ "docs-theme": "0.2.79",
5
+ "docs-transforms": "0.2.79"
6
6
  }
@@ -6,7 +6,7 @@ disable-model-invocation: true
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Write, Glob, Grep, Bash, AskUserQuestion, Agent, mcp__*
8
8
  metadata:
9
- version: 1.1.3
9
+ version: 1.1.5
10
10
  ---
11
11
 
12
12
  # Recon
@@ -127,8 +127,8 @@ Use the complete mode policy from `references/profiles.md` and
127
127
  `scripts/lib/routing.mjs`. Map manifest wave modes to the worker's closed
128
128
  assignment vocabulary: `redundant-gather` to `gather`;
129
129
  `semantic-verification` and `redundant-verification` to `verify`; `adversarial`
130
- and `contradiction-resolution` to `adversary`; and only `reconciliation` to
131
- `reconcile`. The remaining modes keep their same-named assignment. All lanes
130
+ and `contradiction-resolution` to `adversary`. The remaining worker modes keep
131
+ their same-named assignment; reconciliation is controller-owned. All lanes
132
132
  within one launch are a homogeneous wave. Select each wave independently; a
133
133
  stronger wave never raises unrelated waves' targets or effort.
134
134
 
@@ -164,9 +164,14 @@ task class and class floor. Preserve provider, route, role, model, effort,
164
164
  reasoning mode, and service tier as separate provider-native axes. A null axis
165
165
  means the adapter exposes no independently requested control; never translate
166
166
  effort between harnesses or normalize an opaque selector. Prefer the canonical
167
- `recon-worker` role. If that role is unavailable, plan the generic role with the
168
- complete worker contract as a visible generic role fallback before approval. A
169
- fallback after approval is forbidden.
167
+ `recon-worker` role only when the current live Task catalog exposes it. A
168
+ materialized `.cursor/agents/recon-worker.md` file proves installation, not that
169
+ the current Cursor Task catalog can launch the role. If the role is absent from
170
+ that observed catalog, plan the generic role with the complete worker contract
171
+ as a visible generic role fallback before approval. A fallback after approval
172
+ is forbidden. Every Cursor recon leaf, including that generic fallback, must be
173
+ launched as a background task so a new parent-chat message cannot turn parent
174
+ turn interruption into an apparent worker crash.
170
175
 
171
176
  Prepare a `schemaVersion: 2` draft manifest. Its execution object contains a
172
177
  complete inherited `target`, limits, waves, conditions, and later the approval.
@@ -218,7 +223,8 @@ result. If any approved axis cannot be satisfied, stop with a
218
223
  launch nothing. Never substitute a different axis to make the launch fit.
219
224
 
220
225
  Launch each wave through the dispatch dependency with exactly the approved
221
- axes. Immediately before each launch, check the constructed target through the
226
+ axes. On Cursor, launch both the custom worker role and the pre-approved generic
227
+ fallback in the background. Immediately before each launch, check the constructed target through the
222
228
  same production helper used by preview:
223
229
 
224
230
  ```bash
@@ -235,13 +241,22 @@ approved `waveId` and `laneId`. This structured identity is required for
235
241
  conditional and non-conditional lanes alike; prose is descriptive, not
236
242
  identity.
237
243
 
244
+ Worker completion is decided from the approved-path artifact before interpreting
245
+ a later provider transport error. When the artifact's identity, closed schema,
246
+ bytes, and digest validate, the lane is complete; a subsequent stream-close or
247
+ RPC error is recorded as a non-material diagnostic and never triggers a
248
+ replacement launch. Missing or invalid output remains a terminal `PASS_FAILED`
249
+ outcome with no retry or replacement.
250
+
238
251
  Run the passes in this order:
239
252
 
240
253
  1. `map` and `gather` workers write unique dossiers under `raw/dossiers/`.
241
254
  Thorough runs complete their independent `redundant-gather` wave here too.
242
255
  2. `compile` writes a candidate canonical claim ledger. A thorough candidate
243
256
  directly references a complete dossier from every approved primary and
244
- redundant gather lane before any review brief is created.
257
+ redundant gather lane before any review brief is created. Every display
258
+ excerpt is an exact contiguous substring of its cited source, apart from the
259
+ declared `redacted-exact` representation; paraphrase is invalid evidence.
245
260
  3. Source preflight: run `scripts/validate-artifact.mjs` on the candidate
246
261
  manifest and ledger, then reopen every declared source and evidence locator
247
262
  with the checks in `scripts/validate-packet.mjs`. Resolve source roots to
@@ -251,23 +266,26 @@ Run the passes in this order:
251
266
  manifest and ledger pair validates.
252
267
  4. Profile-required `verify`, `adversary`, and `coverage` workers consume only
253
268
  immutable selectively blind briefs created by
254
- `scripts/create-review-brief.mjs` at unique paths.
269
+ `scripts/create-review-brief.mjs` at unique paths. Each review-producing
270
+ wave has exactly one lane; partition source or question fan-out in the
271
+ applicable gather wave instead.
255
272
  5. Evaluate each predeclared evidence condition only after its completed
256
273
  predecessor artifacts exist. Record exactly one root-authored condition
257
274
  outcome. A triggered `contradiction-resolution` wave runs once as an
258
275
  `adversary` evidence assignment; a not-triggered or unresolved wave supplies
259
276
  no artifact. Accepted failure, cancellation, timeout, or missing output never
260
277
  authorizes replacement work.
261
- 6. Standard and thorough execute exactly one terminal `reconciliation` wave,
262
- mapped to `reconcile`, after required review evidence and any triggered
263
- contradiction investigation. It writes a new candidate ledger without
264
- mutating the prior ledger.
265
-
266
- If `reconciliation-needs-judgment` is foreseeable, select an adequate target
267
- for that one terminal wave before approval. If it appears after approval and
268
- the approved target is inadequate, preserve completed evidence and return an
269
- explicit unresolved, out-of-envelope gap for renewed approval or a new run.
270
- Never mutate the target, launch a second reconciliation, or substitute a
278
+ 6. Standard and thorough run one deterministic controller reconciliation after
279
+ required review evidence and any triggered contradiction investigation. The
280
+ controller invokes `scripts/reconcile-ledger.mjs` once using the manifest's
281
+ `execution.reconciliation` paths and literal producer
282
+ `controller:reconcile-ledger-v1`, validates both candidate outputs, copies
283
+ the exact ledger bytes to a packet-contained temporary file, and atomically
284
+ renames it to `claims.json`. No reconciliation worker is dispatched.
285
+
286
+ If reconciliation requires new semantic judgment, preserve completed evidence
287
+ and return an explicit unresolved caller-owned gap. Never mutate the target or
288
+ substitute a
271
289
  contradiction search for synthesis.
272
290
 
273
291
  Use `references/worker-contract.md` for every assignment. Never allow two
@@ -125,18 +125,21 @@ condition contains `conditionId`, `destinationWaveId`, `afterWaveIds`, one of
125
125
  `insufficient-evidence` or `unresolved-material-challenge`, and
126
126
  `maxActivations: 1`. Each conditional destination is a uniquely identified
127
127
  `contradiction-resolution` evidence wave, has exactly one condition, appears
128
- after every named predecessor and before the one terminal reconciliation, and
128
+ after every named predecessor and before controller reconciliation, and
129
129
  owns unique lane IDs and write roots. Conversely, every wave marked
130
130
  `conditional: true` must be the destination of exactly one activating condition;
131
131
  dead conditional waves are invalid. Quick permits no conditional wave;
132
- standard permits one and thorough two. The profile's 4/10/20 adaptive-lane cap
132
+ standard and thorough each permit one. The profile's 4/10/20 evidence-lane cap
133
133
  counts `gather`, `semantic-verification`, `adversarial`, `coverage`,
134
134
  `redundant-gather`, `redundant-verification`, and
135
135
  `contradiction-resolution` when those modes are permitted by the profile.
136
- Every permitted mode outside that counted set is fixed at exactly one lane:
137
- `map` and `compile` for quick, plus terminal `reconciliation` for standard and
138
- thorough. The resulting total lane maxima are 6/13/23, and concurrency remains
139
- capped at 4/6/8.
136
+ Only `gather` and `redundant-gather` may partition a wave across multiple lanes.
137
+ Every typed review wave and every permitted mode outside the counted set is
138
+ fixed at exactly one lane, including `map` and `compile`. The resulting
139
+ worker-lane maxima are 6/12/22, and concurrency remains capped at 4/6/8.
140
+ Each review lane's approved write root must contain the corresponding fixed
141
+ path in `execution.reconciliation`; a different approved root is invalid before
142
+ launch.
140
143
 
141
144
  Triggered dispositions require exact complete same-run artifacts from every
142
145
  approved predecessor and concrete typed predicate evidence from those same-run
@@ -150,17 +153,14 @@ no achieved pass. Accepted failed, cancelled, timed-out, or missing predecessor
150
153
  work cannot activate replacement work. Required profile passes remain required
151
154
  regardless of conditional annotations.
152
155
 
153
- `reconciliation-needs-judgment` is a controller escalation outcome, never a
154
- condition predicate. Foreseeable judgment changes the one terminal target before
155
- approval. A need discovered later preserves completed work and records an
156
- unresolved out-of-envelope gap until renewed approval or a new run; it never
157
- mutates the approved target or launches a second reconciliation.
156
+ `reconciliation-needs-judgment` is a caller-owned unresolved outcome, never a
157
+ condition predicate or target escalation. The controller preserves completed
158
+ work and records the gap; it never dispatches reconciliation work.
158
159
 
159
- The controller maps the ten manifest wave modes onto the worker contract's
160
- seven assignment modes: redundant gathering uses `gather`; semantic and
160
+ The controller maps the nine manifest wave modes onto the worker contract's
161
+ six assignment modes: redundant gathering uses `gather`; semantic and
161
162
  redundant verification use `verify`; adversarial and contradiction-resolution
162
- use `adversary`; and only terminal reconciliation uses `reconcile`. This mapping
163
- does not change the approved manifest mode used for artifact and pass checks.
163
+ use `adversary`. Reconciliation is not a worker mode or approval target.
164
164
 
165
165
  Approval is `{ type: "explicit-user-approval", approvedAt }`. It is valid only
166
166
  for the exact proposal shown in the same uninterrupted controller flow. Resume,
@@ -183,7 +183,6 @@ complete typed artifacts of the same run:
183
183
  | `semantic-verification` | a `recon.review-result` with kind `semantic` |
184
184
  | `adversarial` | a `recon.review-result` with kind `adversarial` |
185
185
  | `coverage` | a `recon.review-result` with kind `coverage` |
186
- | `reconciliation` | a `recon.review-result` with kind `reconciliation` |
187
186
  | `redundant-gather` | a complete `gather` dossier owned by the approved `redundant-gather` wave |
188
187
  | `redundant-verification` | a `recon.review-result` with kind `redundant-verification` |
189
188
  | `contradiction-resolution` | a `recon.review-result` with kind `contradiction-resolution` |
@@ -191,11 +190,11 @@ complete typed artifacts of the same run:
191
190
  `quick` requires `map` and `gather`; the canonical ledger itself is the
192
191
  compile result, so an approved `compile` lane needs no separate artifact, and
193
192
  locator validation is performed by the validator.
194
- `standard` adds `semantic-verification`, `adversarial`, `coverage`, and
195
- `reconciliation`. `thorough` adds `redundant-gather` and
193
+ `standard` adds `semantic-verification`, `adversarial`, and `coverage`, then
194
+ requires the manifest-bound controller reconciliation. `thorough` adds `redundant-gather` and
196
195
  `redundant-verification`. A predeclared conditional
197
196
  `contradiction-resolution` evidence pass may feed the same mandatory terminal
198
- reconciliation when its predicate triggers; it is not a second terminal pass.
197
+ controller reconciliation when its predicate triggers.
199
198
 
200
199
  Thorough routing completes `redundant-gather` before `compile`. The compiled
201
200
  ledger must directly reference by exact path and digest at least one complete
@@ -346,17 +345,21 @@ branch; source ineligibility never bypasses persistence safety.
346
345
  claim/evidence associations, coverage findings, unresolved issues, and
347
346
  completion status. Every new evidence record has at least one exact
348
347
  association, and an association cannot name evidence absent from that result
349
- or a claim without a disposition in that result. Reconciliation results
350
- replace the brief reference with prior-ledger/revision, additions/removals,
351
- exact transitions, and coverage-disposition bindings. Coverage findings are
352
- closed records bound to affected claims and exact manifest gaps. Accepted
353
- material gaps require a legal downgrade for every affected claim; a resolved
354
- finding instead names exact typed evidence. Non-material coverage gaps
355
- downgrade verified claims and transition provisional claims to unresolved,
356
- while existing supported claims remain supported without verified promotion.
357
- Thorough redundant verification and contradiction resolution are
358
- claim-bearing typed review results, not raw dossiers: they bind immutable
359
- briefs, claim dispositions, and explicit affected-contradiction dispositions.
348
+ or a claim without a disposition in that result.
349
+
350
+ Every `unresolvedIssues` member is a string. Review results are closed objects:
351
+ unknown fields and object-valued issue entries are invalid.
352
+ Reconciliation results replace the brief reference with prior-ledger/revision,
353
+ additions/removals, exact transitions, and coverage-disposition bindings.
354
+ Coverage findings are closed records bound to affected claims and exact
355
+ manifest gaps. Accepted
356
+ material gaps require a legal downgrade for every affected claim; a resolved
357
+ finding instead names exact typed evidence. Non-material coverage gaps
358
+ downgrade verified claims and transition provisional claims to unresolved,
359
+ while existing supported claims remain supported without verified promotion.
360
+ Thorough redundant verification and contradiction resolution are
361
+ claim-bearing typed review results, not raw dossiers: they bind immutable
362
+ briefs, claim dispositions, and explicit affected-contradiction dispositions.
360
363
 
361
364
  Create immutable mode-specific review projections with
362
365
  `scripts/create-review-brief.mjs`. Verification briefs expose only claim
@@ -28,19 +28,20 @@ claims are sufficient.
28
28
  Use for load-bearing evidence that needs independent semantic challenge.
29
29
 
30
30
  - Required: quick topology plus selectively blind semantic verification,
31
- adversarial review, coverage review, and reconciliation.
32
- - Adaptive evidence lanes: `gather`, `semantic-verification`, `adversarial`,
31
+ adversarial review, coverage review, and deterministic controller reconciliation.
32
+ - Counted evidence lanes: `gather`, `semantic-verification`, `adversarial`,
33
33
  `coverage`, and any predeclared `contradiction-resolution`; hard cap 10
34
- across those counted modes. Required `map`, `compile`, and terminal
35
- `reconciliation` waves are fixed at exactly one lane each, so the total
36
- maximum is 13 lanes.
34
+ across those modes. `gather` may partition work across lanes. Every typed
35
+ review wave, plus required `map` and `compile`, is fixed at exactly one lane,
36
+ so the total maximum is 12 worker lanes.
37
+ One deterministic controller reconciliation follows.
37
38
  - Maximum concurrency: 6.
38
39
  - Assurance ceiling: `verified` only after exact locator validation, affirmative
39
40
  independent semantic review, no unresolved material challenge, and adequate
40
41
  coverage.
41
42
  - Conditional work: at most one predeclared `contradiction-resolution`
42
43
  evidence wave for a material challenge, followed when triggered or not by
43
- the same one mandatory terminal reconciliation.
44
+ the same one mandatory controller reconciliation.
44
45
 
45
46
  ## thorough
46
47
 
@@ -51,17 +52,19 @@ reopening and verification.
51
52
  redundant verification for load-bearing claims. Redundant gathering finishes
52
53
  before compilation, and every completed primary or redundant gather lane is
53
54
  represented in the compiled ledger inputs before review briefs are created.
54
- - Adaptive evidence lanes: the standard counted modes plus `redundant-gather`
55
+ - Counted evidence lanes: the standard counted modes plus `redundant-gather`
55
56
  and `redundant-verification`; hard cap 20 across those counted modes.
56
- Required `map`, `compile`, and terminal `reconciliation` waves are fixed at
57
- exactly one lane each, so the total maximum is 23 lanes.
57
+ `gather` and `redundant-gather` may partition work across lanes. Every typed
58
+ review wave, plus required `map` and `compile`, is fixed at exactly one lane,
59
+ so the total maximum is 22 worker lanes.
60
+ One deterministic controller reconciliation follows.
58
61
  - Maximum concurrency: 8.
59
62
  - Assurance ceiling: `verified` only for claims affirmed by the required
60
63
  independent passes and left without unresolved material challenge.
61
- - Conditional work: optionally predeclare up to two condition-bound
62
- `contradiction-resolution` evidence waves within the manifest's hard cap.
63
- Each runs only when its approved predicate triggers; both branches feed
64
- exactly one mandatory terminal reconciliation.
64
+ - Conditional work: optionally predeclare one condition-bound
65
+ `contradiction-resolution` evidence wave within the manifest's hard cap. It
66
+ runs only when its approved predicate triggers; both branches feed exactly
67
+ one mandatory controller reconciliation.
65
68
 
66
69
  ## Planning Rules
67
70
 
@@ -69,8 +72,8 @@ reopening and verification.
69
72
  2. Classify required and conditional waves before target preparation.
70
73
  3. Classify the actual bounded assignment. Citation reopening, explicit
71
74
  inventory comparison, counterexample search, and mechanical dossier
72
- compilation can remain economical; judgment-bearing interpretation or
73
- reconciliation may require a stronger independently approved wave.
75
+ compilation can remain economical. Reconciliation is deterministic
76
+ controller work; new semantic judgment is a caller-owned unresolved gap.
74
77
  4. Resolve and explain each wave's exact provider-native target and unsupported
75
78
  controls without cross-harness normalization.
76
79
  5. Reduce lanes when scope is small; never invent work to fill a profile cap.