@open-agent-toolkit/cli 0.2.71 → 0.2.73
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.
- package/assets/agents/oat-reviewer.md +4 -3
- package/assets/agents/recon-worker.md +42 -8
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/workflows/skills/recon.md +114 -23
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-project-review-receive/SKILL.md +14 -1
- package/assets/skills/recon/SKILL.md +103 -40
- package/assets/skills/recon/references/packet-contract.md +150 -67
- package/assets/skills/recon/references/profiles.md +38 -16
- package/assets/skills/recon/references/worker-contract.md +39 -8
- package/assets/skills/recon/scripts/lib/contracts.mjs +703 -55
- package/assets/skills/recon/scripts/lib/routing.mjs +588 -0
- package/assets/skills/recon/scripts/lib/validated-run.mjs +2 -0
- package/assets/skills/recon/scripts/prepare-routing.mjs +88 -0
- package/assets/skills/recon/scripts/render-packet.mjs +69 -1
- package/assets/skills/recon/scripts/validate-packet.mjs +473 -56
- package/assets/skills/subagent-orchestration/SKILL.md +18 -9
- package/assets/skills/subagent-orchestration/references/model-selection-principles.md +17 -8
- package/dist/commands/sync/apply.d.ts.map +1 -1
- package/dist/commands/sync/apply.js +45 -0
- package/package.json +2 -2
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
# Recon Packet Contract
|
|
1
|
+
# Recon Packet Contract
|
|
2
2
|
|
|
3
3
|
Every JSON artifact carries a `kind` discriminator and integer
|
|
4
|
-
`schemaVersion`.
|
|
5
|
-
|
|
4
|
+
`schemaVersion`. Versions are dispatched by artifact kind: packet manifests
|
|
5
|
+
accept version 2, while claim ledgers, raw dossiers, review briefs, and review
|
|
6
|
+
results remain version 1. Unknown kind/version combinations fail closed; extend
|
|
7
|
+
a kind through a new version rather than accepting untyped fields.
|
|
6
8
|
|
|
7
9
|
## Directory
|
|
8
10
|
|
|
@@ -28,29 +30,30 @@ a new version rather than accepting untyped fields.
|
|
|
28
30
|
consumer view. Each worker owns one unique path; candidates are immutable and
|
|
29
31
|
never promoted over the last valid canonical artifact in place.
|
|
30
32
|
|
|
31
|
-
## Artifact References
|
|
33
|
+
## Artifact References
|
|
32
34
|
|
|
33
35
|
An artifact reference is `{ "path": "packet-relative/path", "digest":
|
|
34
36
|
"sha256:<64 lowercase hex>" }`. Paths must remain inside the packet directory.
|
|
35
37
|
Digests cover the exact bytes on disk.
|
|
36
38
|
|
|
37
|
-
Fingerprints use canonical JSON: UTF-8, object keys sorted lexicographically,
|
|
38
|
-
array order preserved, no insignificant whitespace, and SHA-256 with the
|
|
39
|
-
`sha256:` prefix.
|
|
40
|
-
|
|
41
39
|
## One Validation Boundary
|
|
42
40
|
|
|
43
|
-
|
|
41
|
+
Validation compiles persisted packet inputs exactly once into one non-persisted,
|
|
44
42
|
deeply immutable `ValidatedRun`. This value is an internal normalized graph,
|
|
45
43
|
not an artifact kind, schema version, file, cache, or caller-selectable profile.
|
|
46
44
|
Assurance derivation and rendering accept only `ValidatedRun`; they never
|
|
47
45
|
reopen or independently reinterpret raw manifest, ledger, review, or
|
|
48
46
|
reconciliation artifacts.
|
|
49
47
|
|
|
48
|
+
The validator checks the original wire shape before it creates the normalized
|
|
49
|
+
routing view. A wave inherits the complete execution target unless it supplies
|
|
50
|
+
a complete replacement target. The
|
|
51
|
+
`ValidatedRun` retains both the original manifest and its exact byte digest plus
|
|
52
|
+
the immutable effective routing view. Consumers do not reparse raw routing data.
|
|
53
|
+
|
|
50
54
|
Construction is all-or-nothing. A valid graph contains:
|
|
51
55
|
|
|
52
|
-
- one
|
|
53
|
-
recorded explicit user approval;
|
|
56
|
+
- one execution envelope with recorded explicit user approval;
|
|
54
57
|
- complete typed same-run artifacts, each written by an approved wave and lane,
|
|
55
58
|
from which the achieved profile is derived;
|
|
56
59
|
- exactly one terminal reconciliation for standard or thorough runs and one
|
|
@@ -68,7 +71,7 @@ Construction is all-or-nothing. A valid graph contains:
|
|
|
68
71
|
- derived claim assurance, achieved profile, material gaps, and publication
|
|
69
72
|
status.
|
|
70
73
|
|
|
71
|
-
Reject
|
|
74
|
+
Reject unsupported manifest versions, unknown execution fields, artifacts from
|
|
72
75
|
unapproved lanes, duplicate or shadow reconciliation results, symlink root
|
|
73
76
|
aliases, retargeted roots, raw secret-bearing stale excerpts, and
|
|
74
77
|
caller-downgraded gap materiality. Equivalent-looking inputs do not excuse a
|
|
@@ -76,7 +79,7 @@ failed invariant.
|
|
|
76
79
|
|
|
77
80
|
## Manifest
|
|
78
81
|
|
|
79
|
-
`recon.packet-manifest` version
|
|
82
|
+
`recon.packet-manifest` version 2 contains:
|
|
80
83
|
|
|
81
84
|
- `run`: stable ID, topic, status, requested and achieved profile, timestamps;
|
|
82
85
|
- `request`: objective, questions, included/excluded scope, stable context
|
|
@@ -88,32 +91,84 @@ failed invariant.
|
|
|
88
91
|
explicit boolean `material` classification and affected source, claim, and
|
|
89
92
|
coverage-finding IDs when applicable.
|
|
90
93
|
|
|
94
|
+
The manifest also carries root-recorded `conditionOutcomes`. They are
|
|
95
|
+
control dispositions, not launcher receipts. Every declared condition has one
|
|
96
|
+
closed `triggered`, `not-triggered`, or `unresolved` outcome with a non-empty
|
|
97
|
+
reason and exact digest-bound predecessor artifact references.
|
|
98
|
+
|
|
99
|
+
The manifest records approved routing intent. Effective targets, selection
|
|
100
|
+
rationales, and condition outcomes do not attest which native process ran, its
|
|
101
|
+
runtime identity, token usage, cost, or the correctness of its conclusions.
|
|
102
|
+
Those claims require evidence from an actual producer outside this contract.
|
|
103
|
+
|
|
91
104
|
### Execution Envelope
|
|
92
105
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
- `
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
106
|
+
Execution uses a required closed `target` object:
|
|
107
|
+
`provider`, `route`, `role`, and `model` are non-empty strings; `effort`,
|
|
108
|
+
`reasoningMode`, and `serviceTier` are each explicitly a non-empty string or
|
|
109
|
+
`null`. A null axis means the adapter exposes no independently requested control;
|
|
110
|
+
it is not an unknown-value fallback.
|
|
111
|
+
|
|
112
|
+
The other execution fields include `authority` as `provider-enforced` or
|
|
113
|
+
`contract-enforced`; integer `maxConcurrency` and `deadlineSeconds` values of
|
|
114
|
+
at least 1; and an integer `retryLimit` of at least 0. Each closed wave adds:
|
|
115
|
+
|
|
116
|
+
- `classFloor`, from the same durable task-class order and not above
|
|
117
|
+
`taskClass`;
|
|
118
|
+
- a non-empty `selectionReason`; and
|
|
119
|
+
- optional `target`, which must be a complete exact-target replacement. If it
|
|
120
|
+
is absent, the complete execution target is inherited without partial-axis
|
|
121
|
+
merging.
|
|
122
|
+
|
|
123
|
+
The execution object also requires a closed `conditions` array. Each structural
|
|
124
|
+
condition contains `conditionId`, `destinationWaveId`, `afterWaveIds`, one of
|
|
125
|
+
`insufficient-evidence` or `unresolved-material-challenge`, and
|
|
126
|
+
`maxActivations: 1`. Each conditional destination is a uniquely identified
|
|
127
|
+
`contradiction-resolution` evidence wave, has exactly one condition, appears
|
|
128
|
+
after every named predecessor and before the one terminal reconciliation, and
|
|
129
|
+
owns unique lane IDs and write roots. Conversely, every wave marked
|
|
130
|
+
`conditional: true` must be the destination of exactly one activating condition;
|
|
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
|
|
133
|
+
counts `gather`, `semantic-verification`, `adversarial`, `coverage`,
|
|
134
|
+
`redundant-gather`, `redundant-verification`, and
|
|
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.
|
|
140
|
+
|
|
141
|
+
Triggered dispositions require exact complete same-run artifacts from every
|
|
142
|
+
approved predecessor and concrete typed predicate evidence from those same-run
|
|
143
|
+
artifacts. Evidence from another run fails with
|
|
144
|
+
`CONDITION_EVIDENCE_RUN_MISMATCH`. A triggered destination must produce its
|
|
145
|
+
approved output or a material `PASS_FAILED`/`PASS_OMITTED` gap with exact
|
|
146
|
+
`waveId` and `laneId` fields. The gap message is explanatory prose and is never
|
|
147
|
+
parsed for identity.
|
|
148
|
+
Not-triggered and unresolved destinations publish no artifacts and contribute
|
|
149
|
+
no achieved pass. Accepted failed, cancelled, timed-out, or missing predecessor
|
|
150
|
+
work cannot activate replacement work. Required profile passes remain required
|
|
151
|
+
regardless of conditional annotations.
|
|
152
|
+
|
|
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.
|
|
158
|
+
|
|
159
|
+
The controller maps the ten manifest wave modes onto the worker contract's
|
|
160
|
+
seven assignment modes: redundant gathering uses `gather`; semantic and
|
|
161
|
+
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.
|
|
164
|
+
|
|
165
|
+
Approval is `{ type: "explicit-user-approval", approvedAt }`. It is valid only
|
|
166
|
+
for the exact proposal shown in the same uninterrupted controller flow. Resume,
|
|
167
|
+
reload, or any pre-launch proposal change returns the run to
|
|
168
|
+
`awaiting-approval`, removes the recorded approval, and requires a fresh preview
|
|
169
|
+
and explicit approval. The exact-target check immediately before launch still
|
|
170
|
+
refuses a candidate whose provider-native axes differ from the current wave.
|
|
171
|
+
The manifest may reference version 1 evidence artifacts.
|
|
117
172
|
|
|
118
173
|
### Passes and Achieved Profile
|
|
119
174
|
|
|
@@ -121,24 +176,33 @@ Run status is `preparing`, `awaiting-approval`, `running`, `complete`, `partial`
|
|
|
121
176
|
or `failed`. The validator, not a worker, derives the achieved profile from
|
|
122
177
|
complete typed artifacts of the same run:
|
|
123
178
|
|
|
124
|
-
| Pass | Complete artifact
|
|
125
|
-
| -------------------------- |
|
|
126
|
-
| `map` | a `recon.raw-dossier` with mode `map`
|
|
127
|
-
| `gather` | a `
|
|
128
|
-
| `semantic-verification` | a `recon.review-result` with kind `semantic`
|
|
129
|
-
| `adversarial` | a `recon.review-result` with kind `adversarial`
|
|
130
|
-
| `coverage` | a `recon.review-result` with kind `coverage`
|
|
131
|
-
| `reconciliation` | a `recon.review-result` with kind `reconciliation`
|
|
132
|
-
| `redundant-gather` | complete `gather`
|
|
133
|
-
| `redundant-verification` | a `recon.review-result` with kind `redundant-verification`
|
|
134
|
-
| `contradiction-resolution` | a `recon.review-result` with kind `contradiction-resolution`
|
|
179
|
+
| Pass | Complete artifact |
|
|
180
|
+
| -------------------------- | ------------------------------------------------------------------------- |
|
|
181
|
+
| `map` | a `recon.raw-dossier` with mode `map` |
|
|
182
|
+
| `gather` | a complete `gather` dossier owned by the approved primary `gather` wave |
|
|
183
|
+
| `semantic-verification` | a `recon.review-result` with kind `semantic` |
|
|
184
|
+
| `adversarial` | a `recon.review-result` with kind `adversarial` |
|
|
185
|
+
| `coverage` | a `recon.review-result` with kind `coverage` |
|
|
186
|
+
| `reconciliation` | a `recon.review-result` with kind `reconciliation` |
|
|
187
|
+
| `redundant-gather` | a complete `gather` dossier owned by the approved `redundant-gather` wave |
|
|
188
|
+
| `redundant-verification` | a `recon.review-result` with kind `redundant-verification` |
|
|
189
|
+
| `contradiction-resolution` | a `recon.review-result` with kind `contradiction-resolution` |
|
|
135
190
|
|
|
136
191
|
`quick` requires `map` and `gather`; the canonical ledger itself is the
|
|
137
192
|
compile result, so an approved `compile` lane needs no separate artifact, and
|
|
138
193
|
locator validation is performed by the validator.
|
|
139
194
|
`standard` adds `semantic-verification`, `adversarial`, `coverage`, and
|
|
140
|
-
`reconciliation`. `thorough` adds `redundant-gather
|
|
141
|
-
`redundant-verification
|
|
195
|
+
`reconciliation`. `thorough` adds `redundant-gather` and
|
|
196
|
+
`redundant-verification`. A predeclared conditional
|
|
197
|
+
`contradiction-resolution` evidence pass may feed the same mandatory terminal
|
|
198
|
+
reconciliation when its predicate triggers; it is not a second terminal pass.
|
|
199
|
+
|
|
200
|
+
Thorough routing completes `redundant-gather` before `compile`. The compiled
|
|
201
|
+
ledger must directly reference by exact path and digest at least one complete
|
|
202
|
+
dossier from every approved primary and redundant gather lane. This makes both
|
|
203
|
+
independent gathering outputs part of the immutable ledger consumed to create
|
|
204
|
+
review briefs. Omitting one fails with
|
|
205
|
+
`MISSING_THOROUGH_GATHER_LEDGER_INPUT`.
|
|
142
206
|
|
|
143
207
|
Every dossier records the approved `waveId` and `laneId` that wrote it; every
|
|
144
208
|
review result records its approved `reviewerLane`. The lane must belong to a
|
|
@@ -147,12 +211,22 @@ wave whose mode matches the artifact (a semantic result to a
|
|
|
147
211
|
`redundant-gather` wave, and so on); otherwise the artifact is
|
|
148
212
|
`UNAPPROVED_LANE`. The artifact path must equal or sit under the lane's
|
|
149
213
|
approved `writeRoot`; otherwise it is `LANE_WRITE_PATH_VIOLATION`. Every
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
`
|
|
214
|
+
primary and redundant gathering pass is derived from this exact approved wave
|
|
215
|
+
ownership, not from aggregate dossier mode or lane cardinality. Multiple
|
|
216
|
+
complete lanes from one gathering wave cannot satisfy the other wave's pass.
|
|
217
|
+
Every non-conditional approved lane must either have written an artifact or be
|
|
218
|
+
covered by a material `PASS_FAILED` or `PASS_OMITTED` gap carrying its exact
|
|
219
|
+
`waveId` and `laneId`; otherwise the packet fails with
|
|
220
|
+
`MISSING_LANE_OUTCOME`. A legacy mode-only gap is accepted only when that mode
|
|
221
|
+
unambiguously identifies one wave containing exactly one lane. A complete
|
|
222
|
+
artifact contradicts material failed or omitted outcome evidence only when both
|
|
223
|
+
identify the same exact wave and lane, or when an accepted legacy mode-only gap
|
|
224
|
+
unambiguously identifies that singleton lane; validation then fails with
|
|
225
|
+
`CONTRADICTORY_PASS_OUTCOME`. Complete evidence from one lane and exact material
|
|
226
|
+
failure evidence from another lane preserve the achieved pass while making the
|
|
227
|
+
run an honest partial. Each required pass of the requested profile that has no
|
|
228
|
+
complete artifact must likewise be named by such a gap, or the packet fails
|
|
229
|
+
with `MISSING_PASS_OUTCOME_EVIDENCE`.
|
|
156
230
|
|
|
157
231
|
## Source Descriptors and Locators
|
|
158
232
|
|
|
@@ -301,7 +375,7 @@ record under `raw/quarantine/`. Never promote invalid output.
|
|
|
301
375
|
Run `scripts/validate-packet.mjs <packet-dir>` before rendering or publication.
|
|
302
376
|
It delegates to the single validation boundary, which validates schemas, IDs,
|
|
303
377
|
references, containment, hashes, source reopening, locators, the approval
|
|
304
|
-
|
|
378
|
+
presence, approved lanes, pass outcomes, the one terminal reconciliation,
|
|
305
379
|
legal transitions, secret-safe persistence, derived gaps, assurance, and
|
|
306
380
|
requested vs achieved profile. Candidate validation is non-destructive for
|
|
307
381
|
canonical diagnostic artifacts, but a non-publishable candidate withdraws any
|
|
@@ -315,12 +389,20 @@ declared, including honest same-profile partials.
|
|
|
315
389
|
|
|
316
390
|
Use `scripts/render-packet.mjs <packet-dir>` to generate the deterministic
|
|
317
391
|
consumer view. Its public path entry point first obtains `ValidatedRun`; the
|
|
318
|
-
render core accepts only that graph.
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
392
|
+
render core accepts only that graph. The document
|
|
393
|
+
includes a compact Intended Routing summary from the normalized view: approved
|
|
394
|
+
authority and limits, each wave's effective exact target/class/floor/rationale,
|
|
395
|
+
and every root-recorded conditional disposition. It labels those values as
|
|
396
|
+
approved intent rather than launch receipts or observations of runtime identity,
|
|
397
|
+
usage, cost, or correctness. Evidence, claims, contradictions, and gaps remain
|
|
398
|
+
the primary consumer context.
|
|
399
|
+
|
|
400
|
+
The renderer writes an exclusive unpredictable temporary sibling, retains that
|
|
401
|
+
file's identity through hashing and atomic promotion, and verifies the promoted
|
|
402
|
+
digest. Immediately before and after promotion it also verifies that the
|
|
403
|
+
canonical manifest, ledger, and validated referenced artifacts still match the
|
|
404
|
+
byte digests retained by `ValidatedRun`. A mismatch is a categorical integrity
|
|
405
|
+
failure and withdraws `packet.md`.
|
|
324
406
|
Withdrawal first proves the retained packet-root identity; if the root changed,
|
|
325
407
|
the renderer preserves that identity failure and does not follow or unlink the
|
|
326
408
|
replacement path. Rendering or promotion failure on an unchanged root likewise
|
|
@@ -328,11 +410,12 @@ withdraws `packet.md` while leaving canonical diagnostics available. Its result
|
|
|
328
410
|
is the directory path plus a compact status summary and digest, never raw
|
|
329
411
|
dossier content.
|
|
330
412
|
|
|
331
|
-
##
|
|
413
|
+
## Compatibility and Non-Goals
|
|
332
414
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
415
|
+
Legacy manifest compatibility is intentionally out of scope. This boundary does
|
|
416
|
+
not add another review pass, persisted intermediate, generalized plugin
|
|
417
|
+
artifact kind, saved validation profile, provider behavior, or integration
|
|
418
|
+
surface. It does not require launcher-emitted
|
|
336
419
|
dispatch receipts; reintroduce those only when a launcher exists that produces
|
|
337
420
|
them itself. It does not change research-pack distribution, documentation,
|
|
338
421
|
backlog integrations, `quick`/`standard`/`thorough`, selective blindness,
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Profiles define assurance topology, not a model tier. The controller sizes
|
|
4
4
|
adaptive lanes from a mechanical source inventory, shows exact counts before
|
|
5
5
|
approval, and never exceeds the approved hard cap. Every wave remains
|
|
6
|
-
homogeneous
|
|
6
|
+
homogeneous, but each wave has an independently selected and approved exact
|
|
7
|
+
target. A harder wave never raises unrelated evidence waves' targets.
|
|
7
8
|
|
|
8
9
|
## quick
|
|
9
10
|
|
|
@@ -12,10 +13,15 @@ claims are sufficient.
|
|
|
12
13
|
|
|
13
14
|
- Required: one mapping wave, one or more non-overlapping gather lanes, one
|
|
14
15
|
compile lane, deterministic schema and locator validation, and rendering.
|
|
15
|
-
- Adaptive
|
|
16
|
+
- Adaptive evidence lanes: 1–4 `gather` lanes; hard cap 4. The required `map`
|
|
17
|
+
and `compile` waves are fixed at exactly one lane each, so the total maximum
|
|
18
|
+
is 6 lanes.
|
|
16
19
|
- Maximum concurrency: 4.
|
|
17
20
|
- Assurance ceiling: `supported`; a quick packet is never `verified`.
|
|
18
21
|
- Conditional work: no semantic, adversarial, or coverage worker is implied.
|
|
22
|
+
- Consumer boundary: quick is an evidence packet for an intelligent consumer;
|
|
23
|
+
it has no independent semantic pass by design, and the caller judges
|
|
24
|
+
sufficiency and conclusions.
|
|
19
25
|
|
|
20
26
|
## standard
|
|
21
27
|
|
|
@@ -23,36 +29,52 @@ Use for load-bearing evidence that needs independent semantic challenge.
|
|
|
23
29
|
|
|
24
30
|
- Required: quick topology plus selectively blind semantic verification,
|
|
25
31
|
adversarial review, coverage review, and reconciliation.
|
|
26
|
-
- Adaptive
|
|
27
|
-
|
|
32
|
+
- Adaptive evidence lanes: `gather`, `semantic-verification`, `adversarial`,
|
|
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.
|
|
28
37
|
- Maximum concurrency: 6.
|
|
29
38
|
- Assurance ceiling: `verified` only after exact locator validation, affirmative
|
|
30
39
|
independent semantic review, no unresolved material challenge, and adequate
|
|
31
40
|
coverage.
|
|
32
|
-
- Conditional work: at most one
|
|
33
|
-
|
|
41
|
+
- Conditional work: at most one predeclared `contradiction-resolution`
|
|
42
|
+
evidence wave for a material challenge, followed when triggered or not by
|
|
43
|
+
the same one mandatory terminal reconciliation.
|
|
34
44
|
|
|
35
45
|
## thorough
|
|
36
46
|
|
|
37
47
|
Use when expensive failure or correlated blind spots justify redundant source
|
|
38
|
-
reopening and
|
|
48
|
+
reopening and verification.
|
|
39
49
|
|
|
40
50
|
- Required: standard topology plus redundant independent gathering and
|
|
41
|
-
verification for load-bearing claims
|
|
42
|
-
|
|
43
|
-
|
|
51
|
+
redundant verification for load-bearing claims. Redundant gathering finishes
|
|
52
|
+
before compilation, and every completed primary or redundant gather lane is
|
|
53
|
+
represented in the compiled ledger inputs before review briefs are created.
|
|
54
|
+
- Adaptive evidence lanes: the standard counted modes plus `redundant-gather`
|
|
55
|
+
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.
|
|
44
58
|
- Maximum concurrency: 8.
|
|
45
59
|
- Assurance ceiling: `verified` only for claims affirmed by the required
|
|
46
60
|
independent passes and left without unresolved material challenge.
|
|
47
|
-
- Conditional work: up to two
|
|
48
|
-
the manifest's hard cap.
|
|
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.
|
|
49
65
|
|
|
50
66
|
## Planning Rules
|
|
51
67
|
|
|
52
68
|
1. Partition by source or question so lane inputs and outputs never overlap.
|
|
53
69
|
2. Classify required and conditional waves before target preparation.
|
|
54
|
-
3.
|
|
55
|
-
|
|
56
|
-
|
|
70
|
+
3. Classify the actual bounded assignment. Citation reopening, explicit
|
|
71
|
+
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.
|
|
74
|
+
4. Resolve and explain each wave's exact provider-native target and unsupported
|
|
75
|
+
controls without cross-harness normalization.
|
|
76
|
+
5. Reduce lanes when scope is small; never invent work to fill a profile cap.
|
|
77
|
+
6. If runtime limits prevent the requested topology, prepare a different
|
|
57
78
|
profile for approval or publish an honest partial after an accepted failure.
|
|
58
|
-
|
|
79
|
+
7. Never add a lane, retry, replacement, or target change beyond the approved
|
|
80
|
+
envelope.
|
|
@@ -7,7 +7,8 @@ the complete assignment; a worker does not infer broader authority.
|
|
|
7
7
|
|
|
8
8
|
The assignment must declare:
|
|
9
9
|
|
|
10
|
-
- `runId`, `waveId`, `laneId`, and exactly one
|
|
10
|
+
- `runId`, `waveId`, `laneId`, the approved manifest wave mode, and exactly one
|
|
11
|
+
worker assignment mode;
|
|
11
12
|
- bounded objective, included scope, and excluded scope;
|
|
12
13
|
- allowed inputs and excluded inputs;
|
|
13
14
|
- source-read authority in `readSources`, including allowed read-only tools;
|
|
@@ -20,6 +21,25 @@ Reject an incomplete or contradictory assignment before reading sources. Never
|
|
|
20
21
|
request credentials, mutate an investigated source, broaden scope, or choose an
|
|
21
22
|
alternate write path.
|
|
22
23
|
|
|
24
|
+
The manifest's ten wave modes map to the worker's closed seven-mode vocabulary:
|
|
25
|
+
|
|
26
|
+
| Manifest wave mode | Worker assignment mode |
|
|
27
|
+
| -------------------------- | ---------------------- |
|
|
28
|
+
| `map` | `map` |
|
|
29
|
+
| `gather` | `gather` |
|
|
30
|
+
| `compile` | `compile` |
|
|
31
|
+
| `semantic-verification` | `verify` |
|
|
32
|
+
| `adversarial` | `adversary` |
|
|
33
|
+
| `coverage` | `coverage` |
|
|
34
|
+
| `reconciliation` | `reconcile` |
|
|
35
|
+
| `redundant-gather` | `gather` |
|
|
36
|
+
| `redundant-verification` | `verify` |
|
|
37
|
+
| `contradiction-resolution` | `adversary` |
|
|
38
|
+
|
|
39
|
+
A `contradiction-resolution` assignment seeks discriminating evidence and
|
|
40
|
+
never produces a ledger candidate. The assignment inherits its exact approved
|
|
41
|
+
wave target; the worker neither selects nor upgrades it.
|
|
42
|
+
|
|
23
43
|
## Modes
|
|
24
44
|
|
|
25
45
|
- `map`: inventory only the assigned source partition and report candidate
|
|
@@ -41,14 +61,23 @@ No other mode is valid.
|
|
|
41
61
|
|
|
42
62
|
## Output Contract
|
|
43
63
|
|
|
44
|
-
Write exactly one JSON artifact at `writePath
|
|
64
|
+
Write exactly one JSON artifact at `writePath` using only the supplied closed
|
|
65
|
+
schema's fields:
|
|
66
|
+
|
|
67
|
+
- a `recon.raw-dossier` records the approved manifest wave through `waveId` and
|
|
68
|
+
records the closed worker assignment mode in `mode`; it also carries `laneId`
|
|
69
|
+
and `outcome`;
|
|
70
|
+
- a `recon.review-result` records its approved lane in `reviewerLane` and its
|
|
71
|
+
approved review discriminator in `reviewKind`; and
|
|
72
|
+
- every artifact includes its required `kind`, `schemaVersion`, run identity,
|
|
73
|
+
honored inputs and exclusions, findings or dispositions, explicit
|
|
74
|
+
uncertainty, contradictions and gaps, safe categorical diagnostics, and
|
|
75
|
+
direct input references where its supplied schema permits them.
|
|
45
76
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
- safe categorical diagnostics for unavailable or invalid inputs; and
|
|
51
|
-
- direct input artifact references and digests when applicable.
|
|
77
|
+
Do not add a second mode field or any other field absent from the supplied
|
|
78
|
+
schema. The controller validates the artifact's `waveId` and `mode`, or its
|
|
79
|
+
`reviewerLane` and `reviewKind`, against the approved manifest wave before the
|
|
80
|
+
artifact can be promoted.
|
|
52
81
|
|
|
53
82
|
Persist minimal excerpts only. Detect and redact secret spans before writing;
|
|
54
83
|
never persist the secret or its sensitive-span digest. Finish by returning the
|
|
@@ -69,3 +98,5 @@ or launch a replacement.
|
|
|
69
98
|
the selected mode is required to remain blind to.
|
|
70
99
|
- Report uncertainty and contradiction instead of converting them to
|
|
71
100
|
confidence scores.
|
|
101
|
+
- Return evidence and explicit gaps to the controller; never decide downstream
|
|
102
|
+
sufficiency, product implications, or final conclusions.
|