agent-qa 0.2.2 → 0.2.4

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,228 +1,17 @@
1
1
  {
2
2
  "$note": [
3
- "GENERATED — the capability catalog for Phase 398 (XPLN-01, D-01/D-03/D-05).",
3
+ "GENERATED — the capability catalog.",
4
4
  "One row per registry capability, per chat alias and per shipped skill. This artifact is the ONE",
5
5
  "data source behind `init --agent`, the chat `/` type-ahead, the starter prompts and `explain`.",
6
- "DO NOT EDIT BY HAND: regenerate with \"bash scripts/398-regen-catalog.sh --write\" and commit the",
6
+ "DO NOT EDIT BY HAND: regenerate with \"bash scripts/regen-capability-catalog.sh --write\" and commit the",
7
7
  "result as a deliberate, reviewed change. The script refuses to run while any other leg of the",
8
8
  "conformance suite is red, so a regeneration cannot launder an unrelated failure, and no",
9
9
  "test-runner update flag reaches this file.",
10
- "IT DESCRIBES, IT DOES NOT GATE. Nothing here allows or withholds a capability, and since",
11
- "2026-10-01 (432 D-12) nothing anywhere does: no caller is shown or refused a capability",
12
- "by who it is.",
13
- "`migrationMap` is the v1 -> v2 tool-name adjudication (XPLN-03), projected verbatim from",
14
- "`packages/mcp`. It is retired HISTORY, not capability: nothing in it is callable today.",
10
+ "IT DESCRIBES, IT DOES NOT GATE. Nothing here allows or withholds a capability, and nothing",
11
+ "anywhere does: no caller is shown or refused a capability by who it is.",
15
12
  "Each op row's `exampleCall` is DERIVED from that row's own `params` — a null arm with a stated",
16
13
  "reason means the contract carries a construct a placeholder could not be shown to satisfy."
17
14
  ],
18
- "migrationCount": 33,
19
- "migrationMap": [
20
- {
21
- "arm": "pending",
22
- "note": "gap (397, 2026-08-16): ruled a REAL gap as `runs.cancel` and routed to its owner rather than minted in 397, because D-17 binds the adjudicator too.",
23
- "owner": "M5 (live-view control arbiter)",
24
- "route": "until `runs.cancel` lands, a run is stopped by the host that started it; this surface starts runs through `agent_qa_start_run` and cannot stop one.",
25
- "v1Name": "agent_qa_cancel_run"
26
- },
27
- {
28
- "arm": "retired",
29
- "note": "not-a-gap (397, 2026-08-16): classification on demand over dashboard-fetched data is the private data path M4 abolished, not a capability that went missing.",
30
- "route": "`analysis.get` reads the verdict the `analyze-run` job produced; over this surface the triage answer is `agent_qa_get_run_digest`.",
31
- "v1Name": "agent_qa_classify_failure"
32
- },
33
- {
34
- "arm": "renamed-to",
35
- "note": "projected by 396 (inventory row 21, 2026-08-16): `config.hook.add` is an arm of the config fold. Since 2026-09-30 (432-12, D-05) the fold is `agent_qa_change_config` and the hook is written in the call, with the files it changed on the answer.",
36
- "v1Name": "agent_qa_create_hook",
37
- "v2Tool": "agent_qa_change_config"
38
- },
39
- {
40
- "arm": "retired",
41
- "note": "not-a-gap (397, 2026-08-16): a suite is a committed file the authoring funnel writes. A blind create is the v1 write the verified authoring funnel replaced (re-spelled 2026-10-02, 432-40, D-06: the funnel writes in the call).",
42
- "route": "`agent_qa_write_test` names the suite file a draft joins and writes it in the call, unless a keep-gate rejected the draft.",
43
- "v1Name": "agent_qa_create_suite"
44
- },
45
- {
46
- "arm": "renamed-to",
47
- "note": "projected by 396 (inventory row 10, 2026-08-16): `authoring.draft.write` is workflow-coarse and verifies a draft rather than performing v1's blind write, so the input shape differs. Since 2026-10-02 (432-40, D-06) it writes the test file in the call unless a keep-gate rejected the draft.",
48
- "v1Name": "agent_qa_create_test",
49
- "v2Tool": "agent_qa_write_test"
50
- },
51
- {
52
- "arm": "retired",
53
- "note": "not-a-gap (397, 2026-08-16): row 12's MCPS-02 rule.",
54
- "route": "removing a hook is an edit to the hooks file that a person makes and reviews.",
55
- "v1Name": "agent_qa_delete_hook"
56
- },
57
- {
58
- "arm": "retired",
59
- "note": "not-a-gap (397, 2026-08-16): row 12's MCPS-02 rule, applied to the file rather than the record.",
60
- "route": "removing a suite file is a repository edit a person makes and reviews; no surface door exists.",
61
- "v1Name": "agent_qa_delete_suite"
62
- },
63
- {
64
- "arm": "retired",
65
- "note": "not-a-gap (397, 2026-08-16): a rule, not an absence. MCPS-02 forbids a surface delete verb for irreversible deletes.",
66
- "route": "removing a committed test is a repository edit a person makes and reviews; no surface has a delete door and none is coming.",
67
- "v1Name": "agent_qa_delete_test"
68
- },
69
- {
70
- "arm": "retired",
71
- "note": "not-a-gap (397, 2026-08-16): the protocol answers discovery itself, so a hand-written catalogue tool beside it would be a second, drifting answer to one question.",
72
- "route": "`tools/list` (plus SEP-2575 `server/discover`) answers machine discovery; 398's build-time capability catalog, carried by `agent-qa init --agent`, answers the human-facing version.",
73
- "v1Name": "agent_qa_discover"
74
- },
75
- {
76
- "arm": "renamed-to",
77
- "note": "projected by 396 (inventory row 26, 2026-08-16): the SAME op as row 25 at suite scope, which is why D-01 allows one tool over both.",
78
- "v1Name": "agent_qa_enqueue_suite_run",
79
- "v2Tool": "agent_qa_start_run"
80
- },
81
- {
82
- "arm": "renamed-to",
83
- "note": "projected by 396 (inventory row 25, 2026-08-16): `runs.start` is workflow-coarse, and the test scope is an argument rather than a tool of its own.",
84
- "v1Name": "agent_qa_enqueue_test_run",
85
- "v2Tool": "agent_qa_start_run"
86
- },
87
- {
88
- "arm": "retired",
89
- "note": "not-a-gap (397, 2026-08-16): died with the CRUD model. Minting a canonical id on a surface is what 394-11 removed from the CLI, for this same reason.",
90
- "route": "ids are minted host-side where the entity is written; a caller names what it wants and reads the id back off the entity card `agent_qa_get_entity` returns.",
91
- "v1Name": "agent_qa_generate_id"
92
- },
93
- {
94
- "arm": "retired",
95
- "note": "A4 adjudication (2026-08-17, phase 398 plan 02): the inventory rules this row `n/a -> projected by 396`, but `config.get` is in UNPROJECTED_OPS after 396 plan 04 — not a mid-flight workflow read per D-02 — so there is no live tool to rename to.",
96
- "route": "no MCP tool reads configuration; the workspace posture an agent needs reaches it through `agent-qa init --agent`'s manifest (398 D-16), by env-ref name and never by value.",
97
- "v1Name": "agent_qa_get_config"
98
- },
99
- {
100
- "arm": "retired",
101
- "note": "A4 adjudication (2026-08-17, phase 398 plan 02): the inventory rules this row `n/a -> projected by 396`, but `runs.get` is in UNPROJECTED_OPS after 396 plan 04 — not a mid-flight workflow read per D-02 — so there is no live tool to rename to.",
102
- "route": "the entity door renders a run's card: `agent_qa_get_entity` on the run reference. `agent_qa_list_runs` enumerates recent runs.",
103
- "v1Name": "agent_qa_get_run"
104
- },
105
- {
106
- "arm": "pending",
107
- "note": "gap (397, 2026-08-16): artifact bytes over a tool result is a disclosure surface nobody has scoped, so the read is routed WITH that scoping rather than minted without it — an artifact read without it is the gap made worse.",
108
- "owner": "M5 (artifact resolution route)",
109
- "route": "until the owning milestone ships artifact resolution, artifacts are read from the run directory on disk; `agent_qa_get_run_digest` names what a run produced.",
110
- "v1Name": "agent_qa_get_run_artifact"
111
- },
112
- {
113
- "arm": "retired",
114
- "note": "A4 adjudication (2026-08-17, phase 398 plan 02): row 29's reading — `runs.events` is unprojected, so the second logs alias has no live tool either.",
115
- "route": "`agent_qa_get_run_digest` for triage; execution logs live in the run's artifacts on disk.",
116
- "v1Name": "agent_qa_get_run_execution_logs"
117
- },
118
- {
119
- "arm": "retired",
120
- "note": "A4 adjudication (2026-08-17, phase 398 plan 02): ruled `n/a -> projected by 396` against `runs.events`, which is in UNPROJECTED_OPS as a stream op with no single-round-trip shape.",
121
- "route": "`agent_qa_get_run_digest` carries the triage-relevant remainder of a run; the full event feed is read from the run artifacts on disk, not over this surface.",
122
- "v1Name": "agent_qa_get_run_logs"
123
- },
124
- {
125
- "arm": "retired",
126
- "note": "A4 adjudication (2026-08-17, phase 398 plan 02): ruled `n/a -> projected by 396` against `runs.get`/`runs.events`, both of which are in UNPROJECTED_OPS — `runs.events` is a stream op besides, and a `tools/call` is one round trip with no shape for a resumable feed.",
127
- "route": "`agent_qa_get_run_digest` carries what triage needs from a run, including its steps' outcome; the run's card comes from `agent_qa_get_entity`.",
128
- "v1Name": "agent_qa_get_run_steps"
129
- },
130
- {
131
- "arm": "pending",
132
- "note": "gap (397, 2026-08-16, corrected the same day): the 396 reason overstated `config.get`, which projects the resolved CONFIG's leaves; hook definitions live in the separate `workspace.hooksFile`, so no registered op reads them today.",
133
- "owner": "M7 (skills layer)",
134
- "route": "until the owning milestone re-opens the hook execution model, hooks are read from `workspace.hooksFile` in the workspace; no tool enumerates them.",
135
- "v1Name": "agent_qa_list_hooks"
136
- },
137
- {
138
- "arm": "pending",
139
- "note": "gap (397, 2026-08-16): folded into row 7's verb — enumerating the corpus answers \"which tests exist, and in which files\". A suite is a file, so this is not a second registry.",
140
- "owner": "M5 (live view & run invocation)",
141
- "route": "until `entities.list` lands, suite membership is read from the workspace files themselves; the TST records inside them resolve through `agent_qa_get_entity`.",
142
- "v1Name": "agent_qa_list_suites"
143
- },
144
- {
145
- "arm": "pending",
146
- "note": "gap (397, 2026-08-16): nothing in the registry enumerates the test corpus — `entities.resolve` resolves a reference to an entity, which is a different question.",
147
- "owner": "M5 (live view & run invocation)",
148
- "route": "until the owning milestone mints `entities.list`, a known reference resolves through `agent_qa_get_entity`; enumeration has no tool.",
149
- "v1Name": "agent_qa_list_tests"
150
- },
151
- {
152
- "arm": "pending",
153
- "note": "gap (397, 2026-08-16): with row 19, ONE hook-read verb and not two. What `config.get` shows is `workspace.hooksFile` — the path, not the hooks.",
154
- "owner": "M7 (skills layer)",
155
- "route": "until that verb lands, a single hook is read from the hooks file itself; no tool projects it.",
156
- "v1Name": "agent_qa_read_hook"
157
- },
158
- {
159
- "arm": "retired",
160
- "note": "not-a-gap (397, 2026-08-16): there is no suite RECORD to read. `ENTITY_KINDS` has no suite kind and a suite is a committed file addressed by workspace path.",
161
- "route": "the TST records inside a suite are `agent_qa_get_entity`'s job; the file itself is read from the workspace.",
162
- "v1Name": "agent_qa_read_suite"
163
- },
164
- {
165
- "arm": "renamed-to",
166
- "note": "projected by 396 (inventory row 8, 2026-08-16): `entities.get` is D-02's universal entity read, kind TST, behind the one read door.",
167
- "v1Name": "agent_qa_read_test",
168
- "v2Tool": "agent_qa_get_entity"
169
- },
170
- {
171
- "arm": "retired",
172
- "note": "not-a-gap (397, 2026-08-16): a hook's whole contract is \"runs at this lifecycle point\". Invoking one by name from a surface is arbitrary script execution decoupled from the lifecycle that gives it meaning — the private-power shape M4 abolished.",
173
- "route": "hooks run at their declared lifecycle points during a run started by `agent_qa_start_run`; nothing invokes one out of band.",
174
- "v1Name": "agent_qa_run_hook"
175
- },
176
- {
177
- "arm": "retired",
178
- "note": "not-a-gap (397, 2026-08-16): a served COPY of a contract is exactly the drift that advertising the live contract replaced.",
179
- "route": "every tool advertises its op's live `inputSchema`/`outputSchema` in `tools/list` (396 D-16), so a caller reads the contract the gate actually validates with; a fold lists its arms' fields as one object, and its `action` field says which fields each action takes.",
180
- "v1Name": "agent_qa_schema_reference"
181
- },
182
- {
183
- "arm": "pending",
184
- "note": "gap (397, 2026-08-16): `config.field.set` reaches any schema-addressable CONFIG path and the hooks file is not one, so an existing hook has no edit verb. Minting one now would pin an edit shape to a contract the owning milestone revisits.",
185
- "owner": "M7 (skills layer)",
186
- "route": "adding a hook goes through `agent_qa_change_config`; editing an existing one is a hooks-file edit a person makes until the owner rules on the verb.",
187
- "v1Name": "agent_qa_update_hook"
188
- },
189
- {
190
- "arm": "retired",
191
- "note": "not-a-gap (397, 2026-08-16): row 16's ruling, through the edit arm instead of the write (re-spelled 2026-10-02, 432-40, D-06: the edit lands in the call).",
192
- "route": "`agent_qa_refine_test` edits the written test; the suite file changes in the call.",
193
- "v1Name": "agent_qa_update_suite"
194
- },
195
- {
196
- "arm": "renamed-to",
197
- "note": "projected by 396 (inventory row 11, 2026-08-16): `authoring.draft.edit` is the edit arm of the refine fold, selected by the fold discriminant.",
198
- "v1Name": "agent_qa_update_test",
199
- "v2Tool": "agent_qa_refine_test"
200
- },
201
- {
202
- "arm": "retired",
203
- "note": "not-a-gap (397, 2026-08-16): a standalone linter over arbitrary text is a second validator that can disagree with the one that gates writes.",
204
- "route": "validation reaches a caller as `authoring.draft.verify`'s verdict inside the authoring funnel — the verify arm of `agent_qa_refine_test`.",
205
- "v1Name": "agent_qa_validate_definition"
206
- },
207
- {
208
- "arm": "retired",
209
- "note": "not-a-gap (397, 2026-08-16): died with the CRUD model. A standalone validator would be a second answer to a question already answered at every parse point.",
210
- "route": "the one URI codec (`packages/schema/src/entity/uri.ts`) validates every `agentqa://` reference as it is parsed, including the one `agent_qa_get_entity` resolves.",
211
- "v1Name": "agent_qa_validate_id"
212
- },
213
- {
214
- "arm": "retired",
215
- "note": "not-a-gap (397, 2026-08-16): row 4's ruling — one validator, inside the funnel.",
216
- "route": "the verify arm of `agent_qa_refine_test` validates the draft that joins the suite file.",
217
- "v1Name": "agent_qa_validate_suite"
218
- },
219
- {
220
- "arm": "retired",
221
- "note": "not-a-gap (397, 2026-08-16): row 4's ruling. `authoring.draft.verify` is the only validator, and it validates a draft in the funnel rather than arbitrary text a caller pasted.",
222
- "route": "the verify arm of `agent_qa_refine_test` returns the same verdict that gates the write.",
223
- "v1Name": "agent_qa_validate_test"
224
- }
225
- ],
226
15
  "rowCount": 52,
227
16
  "rows": [
228
17
  {
@@ -242,7 +31,7 @@
242
31
  {
243
32
  "alias": "status",
244
33
  "description": "List completed runs, newest finished first (20 by default, at most 200), each naming its tests; filter by verdict, test id or title, recorded target, or completion time.",
245
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
34
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
246
35
  "docPath": null,
247
36
  "kind": "alias",
248
37
  "targetOpId": "runs.list"
@@ -250,14 +39,14 @@
250
39
  {
251
40
  "alias": "test-ref",
252
41
  "description": "Resolve any entity reference to a card, a disambiguation set, or an honest miss.",
253
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
42
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
254
43
  "docPath": null,
255
44
  "kind": "alias",
256
45
  "targetOpId": "entities.resolve"
257
46
  },
258
47
  {
259
48
  "description": "The chat entry point: begin ONE new conversational turn from outside a conversation. Surfaces (a REPL, the ask verb, an MCP client) call this to START a turn — it is not a way to carry out a request while a turn is already running. It routes the utterance, executes what it resolves to, and answers with per-clause receipts.",
260
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
49
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
261
50
  "docPath": null,
262
51
  "exampleCall": {
263
52
  "arguments": {
@@ -289,7 +78,7 @@
289
78
  },
290
79
  {
291
80
  "description": "Answer a question about what this product can do by citing the capability catalog, or say plainly that the catalog does not ground an answer.",
292
- "docAbsentReason": "no shipped page documents this capability (dated 2026-08-17, 398 D-07). It is the op whose abstention log IS the demand signal for writing docs, so a guessed link here would be the invention the whole feature refuses.",
81
+ "docAbsentReason": "No shipped page documents this capability. It is the op whose abstention log is the demand signal for writing docs, so a guessed link here would be the invention the feature refuses.",
293
82
  "docPath": null,
294
83
  "exampleCall": {
295
84
  "arguments": {
@@ -347,7 +136,7 @@
347
136
  },
348
137
  {
349
138
  "description": "Apply a requested change to an existing test and write it, answering the diff it applied.",
350
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
139
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
351
140
  "docPath": null,
352
141
  "exampleCall": {
353
142
  "arguments": {
@@ -384,7 +173,7 @@
384
173
  },
385
174
  {
386
175
  "description": "Evaluate a draft test against the four keep-gates and return its receipt.",
387
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
176
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
388
177
  "docPath": null,
389
178
  "exampleCall": {
390
179
  "arguments": {
@@ -427,7 +216,7 @@
427
216
  },
428
217
  {
429
218
  "description": "Author a test for an intent, verify it against the keep-gates, and return its receipt.",
430
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
219
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
431
220
  "docPath": null,
432
221
  "exampleCall": {
433
222
  "arguments": {
@@ -490,7 +279,7 @@
490
279
  },
491
280
  {
492
281
  "description": "Report the authoring funnel for a window — built, passed stably, added value, write-eligible — and flag a keep rate above the ceiling as the loop failing to filter.",
493
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
282
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
494
283
  "docPath": null,
495
284
  "exampleCall": {
496
285
  "arguments": {
@@ -574,7 +363,7 @@
574
363
  },
575
364
  {
576
365
  "description": "Declare an auth plugin for a configured target by package NAME, written in this call.",
577
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
366
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
578
367
  "docPath": null,
579
368
  "exampleCall": {
580
369
  "arguments": {
@@ -613,7 +402,7 @@
613
402
  },
614
403
  {
615
404
  "description": "Set one configuration field, written in this call.",
616
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
405
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
617
406
  "docPath": null,
618
407
  "exampleCall": {
619
408
  "arguments": {
@@ -653,7 +442,7 @@
653
442
  },
654
443
  {
655
444
  "description": "Read the resolved project configuration with secret-bearing values masked.",
656
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
445
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
657
446
  "docPath": null,
658
447
  "exampleCall": {
659
448
  "arguments": {}
@@ -673,7 +462,7 @@
673
462
  },
674
463
  {
675
464
  "description": "Declare a hook in the hooks file, written in this call.",
676
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
465
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
677
466
  "docPath": null,
678
467
  "exampleCall": {
679
468
  "arguments": {
@@ -728,7 +517,7 @@
728
517
  },
729
518
  {
730
519
  "description": "Configure this project for a site from zero — config, hooks and gitignore, written in this call.",
731
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
520
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
732
521
  "docPath": null,
733
522
  "exampleCall": {
734
523
  "arguments": {
@@ -759,7 +548,7 @@
759
548
  },
760
549
  {
761
550
  "description": "Add a web target to the registry, written in this call.",
762
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
551
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
763
552
  "docPath": null,
764
553
  "exampleCall": {
765
554
  "arguments": {
@@ -810,7 +599,7 @@
810
599
  },
811
600
  {
812
601
  "description": "Change a configured target's URL, written in this call.",
813
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
602
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
814
603
  "docPath": null,
815
604
  "exampleCall": {
816
605
  "arguments": {
@@ -853,7 +642,7 @@
853
642
  },
854
643
  {
855
644
  "description": "Mint a short-lived, view-scoped live-view URL for one live editor session.",
856
- "docAbsentReason": "no shipped page documents the editor mint (dated 2026-09-25, 428 D-07); a person meets it through Test → Live on the dashboard, which is the only door that dispatches it.",
645
+ "docAbsentReason": "No shipped page documents the editor mint; a person meets it through Test → Live on the dashboard, which is the only door that dispatches it.",
857
646
  "docPath": null,
858
647
  "exampleCall": {
859
648
  "arguments": {
@@ -883,7 +672,7 @@
883
672
  },
884
673
  {
885
674
  "description": "Render the entity card for one exact short-ID or agentqa:// URI.",
886
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
675
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
887
676
  "docPath": null,
888
677
  "exampleCall": {
889
678
  "arguments": {
@@ -914,7 +703,7 @@
914
703
  },
915
704
  {
916
705
  "description": "Resolve any entity reference to a card, a disambiguation set, or an honest miss.",
917
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
706
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
918
707
  "docPath": null,
919
708
  "exampleCall": {
920
709
  "arguments": {
@@ -945,7 +734,7 @@
945
734
  },
946
735
  {
947
736
  "description": "Accept a knowledge candidate, applying the change in the call.",
948
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
737
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
949
738
  "docPath": null,
950
739
  "exampleCall": {
951
740
  "arguments": {
@@ -1020,7 +809,7 @@
1020
809
  },
1021
810
  {
1022
811
  "description": "Explain why a served brief said what it said, from the trace written at serve time.",
1023
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
812
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1024
813
  "docPath": null,
1025
814
  "exampleCall": {
1026
815
  "arguments": {
@@ -1066,7 +855,7 @@
1066
855
  },
1067
856
  {
1068
857
  "description": "List the committed knowledge bundles with their derived trust state.",
1069
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
858
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1070
859
  "docPath": null,
1071
860
  "exampleCall": {
1072
861
  "arguments": {}
@@ -1087,7 +876,7 @@
1087
876
  },
1088
877
  {
1089
878
  "description": "Forget a knowledge record or bundle, tombstoning it in the call.",
1090
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
879
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1091
880
  "docPath": null,
1092
881
  "exampleCall": {
1093
882
  "arguments": {
@@ -1161,8 +950,8 @@
1161
950
  ]
1162
951
  },
1163
952
  {
1164
- "description": "Read a knowledge record’s gate history, standing receipts and current promotion verdict.",
1165
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
953
+ "description": "Read a knowledge record’s mark and approval receipts, promotion lines and live promotion verdict.",
954
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1166
955
  "docPath": null,
1167
956
  "exampleCall": {
1168
957
  "arguments": {
@@ -1193,7 +982,7 @@
1193
982
  },
1194
983
  {
1195
984
  "description": "Show one committed knowledge record with its provenance.",
1196
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
985
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1197
986
  "docPath": null,
1198
987
  "exampleCall": {
1199
988
  "arguments": {
@@ -1224,7 +1013,7 @@
1224
1013
  },
1225
1014
  {
1226
1015
  "description": "List every committed knowledge record change since a build ordinal.",
1227
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1016
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1228
1017
  "docPath": null,
1229
1018
  "exampleCall": {
1230
1019
  "arguments": {
@@ -1256,7 +1045,7 @@
1256
1045
  },
1257
1046
  {
1258
1047
  "description": "Inspect committed knowledge records through a closed structural filter.",
1259
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1048
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1260
1049
  "docPath": null,
1261
1050
  "exampleCall": {
1262
1051
  "arguments": {
@@ -1328,7 +1117,7 @@
1328
1117
  },
1329
1118
  {
1330
1119
  "description": "Reject a knowledge candidate with a reason, applying the change in the call.",
1331
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1120
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1332
1121
  "docPath": null,
1333
1122
  "exampleCall": {
1334
1123
  "arguments": {
@@ -1409,7 +1198,7 @@
1409
1198
  },
1410
1199
  {
1411
1200
  "description": "Quarantine one test by hand, renewing and claiming an existing entry.",
1412
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1201
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1413
1202
  "docPath": null,
1414
1203
  "exampleCall": {
1415
1204
  "arguments": {
@@ -1459,7 +1248,7 @@
1459
1248
  },
1460
1249
  {
1461
1250
  "description": "List every quarantined test with its owner, expiry and lifecycle state.",
1462
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1251
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1463
1252
  "docPath": null,
1464
1253
  "exampleCall": {
1465
1254
  "arguments": {}
@@ -1479,7 +1268,7 @@
1479
1268
  },
1480
1269
  {
1481
1270
  "description": "Release one test from quarantine — the manual half of the exit path.",
1482
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1271
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1483
1272
  "docPath": null,
1484
1273
  "exampleCall": {
1485
1274
  "arguments": {
@@ -1521,10 +1310,10 @@
1521
1310
  },
1522
1311
  {
1523
1312
  "description": "Read one run's content-addressed evidence blob by its sha, with a sniffed content type.",
1524
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1313
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1525
1314
  "docPath": null,
1526
1315
  "exampleCall": null,
1527
- "exampleCallAbsentReason": "D-08 (dated 2026-08-17): no example call is derivable for runs.artifact — params.sha constrains its value with the regular expression /^[0-9a-f]{64}$/, and a placeholder cannot be SHOWN to satisfy an arbitrary pattern — an example the shipped contract would reject teaches a caller a shape this product does not have. The explicit absence is the honest state; an example an agent copies and is refused for is worse than a column that says there is none.",
1316
+ "exampleCallAbsentReason": "No example call is derivable for runs.artifact: params.sha constrains its value with the regular expression /^[0-9a-f]{64}$/, and a placeholder cannot be SHOWN to satisfy an arbitrary pattern — an example the shipped contract would reject teaches a caller a shape this product does not have. An example an agent copies and is refused for is worse than a column that says there is none.",
1528
1317
  "id": "runs.artifact",
1529
1318
  "kind": "op",
1530
1319
  "mcpTool": "agent_qa_get_run_evidence",
@@ -1572,7 +1361,7 @@
1572
1361
  },
1573
1362
  {
1574
1363
  "description": "Read one run's durable members, steps and sub-actions as the dashboard projected them.",
1575
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1364
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1576
1365
  "docPath": null,
1577
1366
  "exampleCall": {
1578
1367
  "arguments": {
@@ -1630,7 +1419,7 @@
1630
1419
  },
1631
1420
  {
1632
1421
  "description": "Stream one run's recorded events in seq order, resuming after lastEventId.",
1633
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1422
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1634
1423
  "docPath": null,
1635
1424
  "exampleCall": {
1636
1425
  "arguments": {
@@ -1664,7 +1453,7 @@
1664
1453
  },
1665
1454
  {
1666
1455
  "description": "Read validated evidence recorded on one run step or ARIA sub-action.",
1667
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1456
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1668
1457
  "docPath": null,
1669
1458
  "exampleCall": {
1670
1459
  "arguments": {
@@ -1725,7 +1514,7 @@
1725
1514
  },
1726
1515
  {
1727
1516
  "description": "Read one completed run in full, including its member-test outcomes.",
1728
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1517
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1729
1518
  "docPath": null,
1730
1519
  "exampleCall": {
1731
1520
  "arguments": {
@@ -1754,7 +1543,7 @@
1754
1543
  },
1755
1544
  {
1756
1545
  "description": "Project one run's used brief channels, serve-time traces, procedure use, recorded retrieval rung and curator deltas from its handoff.",
1757
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1546
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1758
1547
  "docPath": null,
1759
1548
  "exampleCall": {
1760
1549
  "arguments": {
@@ -1784,7 +1573,7 @@
1784
1573
  },
1785
1574
  {
1786
1575
  "description": "List completed runs, newest finished first (20 by default, at most 200), each naming its tests; filter by verdict, test id or title, recorded target, or completion time.",
1787
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1576
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1788
1577
  "docPath": null,
1789
1578
  "exampleCall": {
1790
1579
  "arguments": {}
@@ -1832,7 +1621,7 @@
1832
1621
  },
1833
1622
  {
1834
1623
  "description": "Mint a short-lived, view-scoped live-view URL for one handle of a running run.",
1835
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1624
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1836
1625
  "docPath": null,
1837
1626
  "exampleCall": {
1838
1627
  "arguments": {
@@ -1865,8 +1654,8 @@
1865
1654
  ]
1866
1655
  },
1867
1656
  {
1868
- "description": "Mark a run or step false-fail / false-pass / confirmed-bug: freeze the marked decision as gold, triage, and apply the fix (a knowledge change or a test edit) in the call.",
1869
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1657
+ "description": "Mark a run or step false-fail / false-pass / confirmed-bug: triage it and apply the fix (a knowledge change or a test edit) in the call.",
1658
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1870
1659
  "docPath": null,
1871
1660
  "exampleCall": {
1872
1661
  "arguments": {
@@ -1881,23 +1670,6 @@
1881
1670
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1882
1671
  "additionalProperties": false,
1883
1672
  "properties": {
1884
- "correctedAction": {
1885
- "additionalProperties": {},
1886
- "properties": {
1887
- "type": {
1888
- "minLength": 1,
1889
- "type": "string"
1890
- }
1891
- },
1892
- "required": [
1893
- "type"
1894
- ],
1895
- "type": "object"
1896
- },
1897
- "correctedExpectation": {
1898
- "maxLength": 2000,
1899
- "type": "string"
1900
- },
1901
1673
  "kind": {
1902
1674
  "enum": [
1903
1675
  "false-fail",
@@ -1935,8 +1707,8 @@
1935
1707
  ]
1936
1708
  },
1937
1709
  {
1938
- "description": "Preview what runs.mark would do for this exact input: its refusals, resolved step, labels, the knowledge records it reaches with their content and evidence effects, and the fix it would apply, without writing.",
1939
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1710
+ "description": "Preview what runs.mark would do for this exact input: its refusals, resolved step, the knowledge records it reaches with their content and evidence effects, and the fix it would apply, without writing.",
1711
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
1940
1712
  "docPath": null,
1941
1713
  "exampleCall": {
1942
1714
  "arguments": {
@@ -1951,23 +1723,6 @@
1951
1723
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1952
1724
  "additionalProperties": false,
1953
1725
  "properties": {
1954
- "correctedAction": {
1955
- "additionalProperties": {},
1956
- "properties": {
1957
- "type": {
1958
- "minLength": 1,
1959
- "type": "string"
1960
- }
1961
- },
1962
- "required": [
1963
- "type"
1964
- ],
1965
- "type": "object"
1966
- },
1967
- "correctedExpectation": {
1968
- "maxLength": 2000,
1969
- "type": "string"
1970
- },
1971
1726
  "kind": {
1972
1727
  "enum": [
1973
1728
  "false-fail",
@@ -2006,7 +1761,7 @@
2006
1761
  },
2007
1762
  {
2008
1763
  "description": "Read every mark on a run in ordinal order with supersession and what each applied fix changed.",
2009
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1764
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
2010
1765
  "docPath": null,
2011
1766
  "exampleCall": {
2012
1767
  "arguments": {
@@ -2036,7 +1791,7 @@
2036
1791
  },
2037
1792
  {
2038
1793
  "description": "Map one completed run: its tests and steps with verdicts, and the address of everything recorded at each, without bodies, traces or bytes.",
2039
- "docAbsentReason": "D-07 (dated 2026-08-16): no canonical doc ships for this capability yet. The explicit absence is the honest state — a guessed path would existence-check green and mislead a reader — and the abstention coverage log is the demand signal for writing one.",
1794
+ "docAbsentReason": "No canonical doc ships for this capability yet. A guessed path would pass the existence check and mislead a reader, and the abstention coverage log is the demand signal for writing one.",
2040
1795
  "docPath": null,
2041
1796
  "exampleCall": {
2042
1797
  "arguments": {
@@ -2112,15 +1867,6 @@
2112
1867
  "const": true,
2113
1868
  "type": "boolean"
2114
1869
  },
2115
- "executionContext": {
2116
- "enum": [
2117
- "local-interactive",
2118
- "local-headless",
2119
- "ci",
2120
- "cloud"
2121
- ],
2122
- "type": "string"
2123
- },
2124
1870
  "gateRun": {
2125
1871
  "const": true,
2126
1872
  "type": "boolean"
@@ -2133,28 +1879,6 @@
2133
1879
  },
2134
1880
  "runId": {
2135
1881
  "type": "string"
2136
- },
2137
- "scope": {
2138
- "additionalProperties": false,
2139
- "properties": {
2140
- "key": {
2141
- "type": "string"
2142
- },
2143
- "tier": {
2144
- "enum": [
2145
- "global",
2146
- "product",
2147
- "suite",
2148
- "test"
2149
- ],
2150
- "type": "string"
2151
- }
2152
- },
2153
- "required": [
2154
- "tier",
2155
- "key"
2156
- ],
2157
- "type": "object"
2158
1882
  }
2159
1883
  },
2160
1884
  "type": "object"
@@ -2193,5 +1917,5 @@
2193
1917
  "shortDescription": "Triage agent-qa run failures"
2194
1918
  }
2195
1919
  ],
2196
- "rowsDigest": "02b98e4022fd087c9404069c9bcde2f37bf2e07c1742c4b3f3b036d9d48b9818"
1920
+ "rowsDigest": "969c837ed9da12e271ef0dec7dfaff6a0d9adbadf829be300a5c081a998cc97d"
2197
1921
  }