@ai-dossier/cli 0.57.1 → 0.59.0
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/README.md +23 -12
- package/dist/batch-compose.d.ts +9 -4
- package/dist/batch-compose.d.ts.map +1 -1
- package/dist/batch-compose.js +19 -7
- package/dist/batch-compose.js.map +1 -1
- package/dist/batch-suite-runner.d.ts.map +1 -1
- package/dist/batch-suite-runner.js +21 -26
- package/dist/batch-suite-runner.js.map +1 -1
- package/dist/cap-envelope.d.ts +122 -0
- package/dist/cap-envelope.d.ts.map +1 -0
- package/dist/cap-envelope.js +211 -0
- package/dist/cap-envelope.js.map +1 -0
- package/dist/capability.d.ts +12 -0
- package/dist/capability.d.ts.map +1 -1
- package/dist/capability.js +20 -4
- package/dist/capability.js.map +1 -1
- package/dist/commands/batch.d.ts +1 -1
- package/dist/commands/batch.js +2 -2
- package/dist/commands/batch.js.map +1 -1
- package/dist/commands/cap.d.ts +4 -1
- package/dist/commands/cap.d.ts.map +1 -1
- package/dist/commands/cap.js +63 -16
- package/dist/commands/cap.js.map +1 -1
- package/dist/commands/classify.js +1 -1
- package/dist/commands/classify.js.map +1 -1
- package/dist/commands/sched.d.ts +11 -11
- package/dist/commands/sched.d.ts.map +1 -1
- package/dist/commands/sched.js +54 -51
- package/dist/commands/sched.js.map +1 -1
- package/dist/prescreen.d.ts +24 -14
- package/dist/prescreen.d.ts.map +1 -1
- package/dist/prescreen.js +20 -13
- package/dist/prescreen.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1024,7 +1024,7 @@ Prints a single JSON verdict — no model call anywhere, exits 0 for either verd
|
|
|
1024
1024
|
|
|
1025
1025
|
```json
|
|
1026
1026
|
{
|
|
1027
|
-
"schema": "prescreen:
|
|
1027
|
+
"schema": "prescreen:v3",
|
|
1028
1028
|
"issue": 538,
|
|
1029
1029
|
"state": "OPEN",
|
|
1030
1030
|
"verdict": "candidate",
|
|
@@ -1050,7 +1050,7 @@ verdict still reflects whatever DID complete rather than blocking on the gap:
|
|
|
1050
1050
|
|
|
1051
1051
|
```json
|
|
1052
1052
|
{
|
|
1053
|
-
"schema": "prescreen:
|
|
1053
|
+
"schema": "prescreen:v3",
|
|
1054
1054
|
"issue": 538,
|
|
1055
1055
|
"state": null,
|
|
1056
1056
|
"verdict": "candidate",
|
|
@@ -1063,9 +1063,9 @@ verdict still reflects whatever DID complete rather than blocking on the gap:
|
|
|
1063
1063
|
}
|
|
1064
1064
|
```
|
|
1065
1065
|
|
|
1066
|
-
`verdict: "full"` means an **excluding**
|
|
1067
|
-
dependency outside the submitted set, or (with a plan:v1 artifact)
|
|
1068
|
-
|
|
1066
|
+
`verdict: "full"` means an **excluding** hit was found — a hard-block label, an open
|
|
1067
|
+
dependency outside the submitted set, or (with a plan:v1 artifact) more than 8 predicted
|
|
1068
|
+
files. The classifier should skip straight to posting
|
|
1069
1069
|
`mode=full` with the recorded reason, no repo exploration needed.
|
|
1070
1070
|
`verdict: "candidate"` means proceed to the bounded mechanical-tier classify pass (issue
|
|
1071
1071
|
text + `reasons`/`warnings` as context, still no repo exploration unless that pass's
|
|
@@ -1075,8 +1075,16 @@ text + `reasons`/`warnings` as context, still no repo exploration unless that pa
|
|
|
1075
1075
|
(`light` | `full`, #771): `full` whenever any check found anything — and also when the
|
|
1076
1076
|
issue itself could not be read (the fail-open path above stays `candidate`, but an unscanned
|
|
1077
1077
|
issue is never reported `light`). A **text-floor** hit
|
|
1078
|
-
(risk keyword in the issue text)
|
|
1079
|
-
|
|
1078
|
+
(risk keyword in the issue text) or a **path-floor** hit (a plan:v1 artifact predicting a
|
|
1079
|
+
risk-floor path) is `verdict: "candidate"` + `review: "full"` — the issue may join a batch,
|
|
1080
|
+
but as a full-review member (#770 Option A), not be excluded from it.
|
|
1081
|
+
|
|
1082
|
+
**Contract change — `prescreen:v2` → `prescreen:v3` (#805, CLI 0.58.0).** v2 still returned
|
|
1083
|
+
`verdict: "full"` for a plan:v1 path-floor hit; v3 returns `candidate` + `review: "full"`,
|
|
1084
|
+
the same as the text-floor keyword it makes precise. Without this, batch-prep's own plan:v1
|
|
1085
|
+
artifact turned an admitted `review=full` member into an exclusion on any later
|
|
1086
|
+
compose/prescreen re-run. Only hard-block label, open dependency and > 8 predicted files
|
|
1087
|
+
exclude.
|
|
1080
1088
|
|
|
1081
1089
|
**Contract change — `prescreen:v1` → `prescreen:v2` (#772, CLI 0.54.0).** v1 (no
|
|
1082
1090
|
`schema` key) returned `verdict: "full"` for a text-floor hit too; v2 returns
|
|
@@ -1102,7 +1110,7 @@ Coverage is deliberately partial — it catches the OBVIOUS floor hits, not all
|
|
|
1102
1110
|
|---|---|---|
|
|
1103
1111
|
| `hard-block-label` | `decision-pending`, `needs-clarification`, `epic`, `decomposed` | same policy as the `sched enqueue` pre-screen (#507) and the engine's per-tick re-check (#544), shared via `@ai-dossier/sched`'s `labels.ts` (re-exported by `cli/src/hard-block-labels.ts`) |
|
|
1104
1112
|
| `text-floor` | A text-keyword approximation of RFC-0001 E.2 rules 1/3/4 (risk-floor area, new package/workspace, deploy pipeline) scanned over title + reference-stripped body + labels — sets `review: full`, does **not** exclude | `prescreen.ts`'s `TEXT_FLOOR_PATTERNS` / `floorScanText`; the matched keyword is named in the reason message |
|
|
1105
|
-
| `path-floor` | Rule 1's path-based risk floor, reusing `plan validate`'s `scanRiskFloor` (capped at 8 reasons — a plan:v1 artifact is comment-sourced, untrusted input) | requires a `plan:v1` artifact already on the issue |
|
|
1113
|
+
| `path-floor` | Rule 1's path-based risk floor, reusing `plan validate`'s `scanRiskFloor` (capped at 8 reasons — a plan:v1 artifact is comment-sourced, untrusted input) — sets `review: full`, does **not** exclude (v3, #805) | requires a `plan:v1` artifact already on the issue |
|
|
1106
1114
|
| `file-count` | Rule 5, "Predicted files > 8" | requires a `plan:v1` artifact already on the issue |
|
|
1107
1115
|
| `open-dependency` | Rule 9, an open `Depends on #N` outside `--submitted-set` (capped at 8 reasons; refs themselves capped at 32 per issue — an issue body is untrusted input) | resolved via `gh issue view <N> --json state` |
|
|
1108
1116
|
|
|
@@ -1125,7 +1133,7 @@ measured pre-screen hit rate:
|
|
|
1125
1133
|
## Batch Composition (`batch compose`)
|
|
1126
1134
|
|
|
1127
1135
|
Previews which issues may share a batch PR **before any model spend** (#773, #770 P3
|
|
1128
|
-
"selection = admission"). It runs the classify pre-screen (`prescreen:
|
|
1136
|
+
"selection = admission"). It runs the classify pre-screen (`prescreen:v3`) plus the
|
|
1129
1137
|
deterministic readiness screen over the operator's picks and/or the open backlog, and proposes
|
|
1130
1138
|
one composition that honours the scheduler's batch invariants. No model call, no writes (no
|
|
1131
1139
|
labels, comments, or queue changes) — only `gh` reads and a read-only look at the local sched
|
|
@@ -1167,7 +1175,7 @@ after the caps, so five admissible `review=full` picks (cap 2) still trigger bac
|
|
|
1167
1175
|
| `sched-active` | A non-terminal, not-yet-merged sched queue entry exists |
|
|
1168
1176
|
| `open-dependency` | `Depends on #N` with N open and not among the picks; N a pick that is itself excluded; or N whose state could not be read (fails closed) |
|
|
1169
1177
|
| `data-mutation` | Change surface names a production data action (`data migration`, `data backfill`, `backfill script`, `one-off script`, `bulk delete`, …) — never shares a PR |
|
|
1170
|
-
| `prescreen-full` | `prescreen:
|
|
1178
|
+
| `prescreen-full` | `prescreen:v3` excluding floor: a plan:v1 artifact with > 8 predicted files (a risk-floor path is a `review=full` member, not an exclusion — #805) |
|
|
1171
1179
|
| `legacy-full` | `--rules legacy` only: any text-floor keyword anywhere in title/body/labels |
|
|
1172
1180
|
|
|
1173
1181
|
`--rules legacy` replays only the pre-#770 keyword rule on top of today's readiness screen (the
|
|
@@ -1577,6 +1585,7 @@ ai-dossier cap list [--json] # inspect .dossier/automation/manifest.yaml
|
|
|
1577
1585
|
ai-dossier cap run test.focused # execute one capability
|
|
1578
1586
|
ai-dossier cap run test.focused -- --grep auth # extra args are shell-quoted and appended
|
|
1579
1587
|
ai-dossier cap run test.focused --tail-bytes 4096 # bytes of output captured on a non-ok outcome (default 8192)
|
|
1588
|
+
ai-dossier cap run test.focused --envelope-file /tmp/env.json # also write the envelope atomically to a file (or set $DOSSIER_CAP_ENVELOPE_FILE)
|
|
1580
1589
|
```
|
|
1581
1590
|
|
|
1582
1591
|
A repo declares its deterministic, recurring operations — tests, lint, build, deps
|
|
@@ -1603,8 +1612,10 @@ Extra args after `--` are shell-quoted and appended (they are data, not shell sy
|
|
|
1603
1612
|
ai-dossier cap run test.focused -- --grep auth # → npm test -- --silent --grep auth
|
|
1604
1613
|
```
|
|
1605
1614
|
|
|
1606
|
-
`cap run` reports one of exactly four outcomes — the JSON envelope
|
|
1607
|
-
stdout line
|
|
1615
|
+
`cap run` reports one of exactly four outcomes — the JSON envelope (marked
|
|
1616
|
+
`"cap_envelope": 1`) is the **last stdout line** and, with `--envelope-file <path>` /
|
|
1617
|
+
`$DOSSIER_CAP_ENVELOPE_FILE`, is also written to that file (the channel machine consumers
|
|
1618
|
+
should read, #811); the exit code matches:
|
|
1608
1619
|
|
|
1609
1620
|
| Outcome | Exit | Meaning |
|
|
1610
1621
|
|---|---|---|
|
package/dist/batch-compose.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* The batch pipeline used to admit members by keyword AFTER humans/models had already selected
|
|
5
5
|
* them — a hand-picked five-issue set collapsed to one member only after ~425k decision-grade
|
|
6
6
|
* classifier tokens (#770). This module previews admission BEFORE any model spend: it runs the
|
|
7
|
-
* deterministic `classify prescreen` (prescreen:
|
|
7
|
+
* deterministic `classify prescreen` (prescreen:v3, #772/#805) plus the readiness screen
|
|
8
8
|
* batch-issues-preparation Step 1/5 applies, and proposes a composition that honours the
|
|
9
9
|
* scheduler's batch invariants — at most `max_full_review_members` (default 2, #771) `review=full`
|
|
10
10
|
* members, one base branch, `min_members` (default 3) to `max_members` (default 6) — preferring
|
|
@@ -22,7 +22,12 @@ export declare const DEFAULT_MIN_MEMBERS = 3;
|
|
|
22
22
|
export declare const DEFAULT_MAX_MEMBERS = 6;
|
|
23
23
|
/** Fewer admissible members than this and no batch should form — hand the survivor to full-cycle (#770 P4). */
|
|
24
24
|
export declare const MIN_FORMABLE_MEMBERS = 2;
|
|
25
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Admission rules: `v2` = the current #770 Option A rules (prescreen + #771 review level);
|
|
27
|
+
* `legacy` = pre-#770 (any keyword ⇒ full ⇒ excluded). `v2` names the admission-rules
|
|
28
|
+
* generation and is the stable `--rules` CLI value — NOT the prescreen schema version (see
|
|
29
|
+
* `PRESCREEN_SCHEMA`). Do not rename it to track the schema.
|
|
30
|
+
*/
|
|
26
31
|
export type ComposeRules = 'v2' | 'legacy';
|
|
27
32
|
/** Why an issue cannot join a batch. Stable codes — consumers branch on `code`, humans read `message`. */
|
|
28
33
|
export type ExclusionCode = 'unreadable' | 'closed' | 'assigned' | 'in-progress' | 'hard-block-label' | 'batch-anchor' | 'in-flight' | 'sched-active' | 'open-dependency' | 'data-mutation' | 'not-a-unit' | 'prescreen-full' | 'legacy-full';
|
|
@@ -59,7 +64,7 @@ export interface AssessedIssue {
|
|
|
59
64
|
source: 'pick' | 'backlog';
|
|
60
65
|
title: string;
|
|
61
66
|
admissible: boolean;
|
|
62
|
-
/** Review depth the member needs (prescreen
|
|
67
|
+
/** Review depth the member needs (prescreen / #771 vocabulary). */
|
|
63
68
|
review: 'light' | 'full';
|
|
64
69
|
/** Workspace packages the issue is predicted to touch (plan:v1 files first, else paths named in the body). */
|
|
65
70
|
packages: string[];
|
|
@@ -102,7 +107,7 @@ export declare function workspaceOf(path: string): string | null;
|
|
|
102
107
|
export declare function inferPackages(body: string, predictedFiles?: readonly string[]): string[];
|
|
103
108
|
/**
|
|
104
109
|
* Deterministic admission for one issue: readiness (batch-issues-preparation Step 1/5) +
|
|
105
|
-
* prescreen:
|
|
110
|
+
* prescreen:v3 (#772/#805) + data-mutation. Records EVERY exclusion reason, not just the first, so an
|
|
106
111
|
* operator sees the whole picture of why a pick cannot join.
|
|
107
112
|
*/
|
|
108
113
|
export declare function assessIssue(input: ComposeIssueInput, rules?: ComposeRules): AssessedIssue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-compose.d.ts","sourceRoot":"","sources":["../src/batch-compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"batch-compose.d.ts","sourceRoot":"","sources":["../src/batch-compose.ts"],"names":[],"mappings":"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"}
|
package/dist/batch-compose.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* The batch pipeline used to admit members by keyword AFTER humans/models had already selected
|
|
6
6
|
* them — a hand-picked five-issue set collapsed to one member only after ~425k decision-grade
|
|
7
7
|
* classifier tokens (#770). This module previews admission BEFORE any model spend: it runs the
|
|
8
|
-
* deterministic `classify prescreen` (prescreen:
|
|
8
|
+
* deterministic `classify prescreen` (prescreen:v3, #772/#805) plus the readiness screen
|
|
9
9
|
* batch-issues-preparation Step 1/5 applies, and proposes a composition that honours the
|
|
10
10
|
* scheduler's batch invariants — at most `max_full_review_members` (default 2, #771) `review=full`
|
|
11
11
|
* members, one base branch, `min_members` (default 3) to `max_members` (default 6) — preferring
|
|
@@ -181,9 +181,17 @@ const IN_PROGRESS_LABEL = 'in-progress';
|
|
|
181
181
|
const BATCH_ANCHOR_LABEL = 'batch-epic';
|
|
182
182
|
/** The one runstate phase that does NOT mean a cycle is in flight (classifier record). */
|
|
183
183
|
const CLASSIFY_PHASE = 'classify';
|
|
184
|
+
/**
|
|
185
|
+
* Prescreen excluding checks `assessIssue` re-derives itself under its own exclusion codes
|
|
186
|
+
* (richer messages, unknown-dependency case) — never reported again as `prescreen-full`.
|
|
187
|
+
*/
|
|
188
|
+
const COMPOSE_OWN_CHECKS = new Set([
|
|
189
|
+
'hard-block-label',
|
|
190
|
+
'open-dependency',
|
|
191
|
+
]);
|
|
184
192
|
/**
|
|
185
193
|
* Deterministic admission for one issue: readiness (batch-issues-preparation Step 1/5) +
|
|
186
|
-
* prescreen:
|
|
194
|
+
* prescreen:v3 (#772/#805) + data-mutation. Records EVERY exclusion reason, not just the first, so an
|
|
187
195
|
* operator sees the whole picture of why a pick cannot join.
|
|
188
196
|
*/
|
|
189
197
|
function assessIssue(input, rules = 'v2') {
|
|
@@ -256,14 +264,18 @@ function assessIssue(input, rules = 'v2') {
|
|
|
256
264
|
message: `Depends on #${dep}, whose state could not be read — treated as open.`,
|
|
257
265
|
});
|
|
258
266
|
}
|
|
259
|
-
// prescreen:
|
|
260
|
-
//
|
|
261
|
-
//
|
|
262
|
-
|
|
267
|
+
// prescreen:v3 (#805): the prescreen's excluding checks, minus the two compose reports under
|
|
268
|
+
// its own codes above — today that leaves only >8 predicted files, a deliberate full-cycle case. A risk-floor PATH is the same fact as a
|
|
269
|
+
// text-floor keyword, so it rides a batch as a review=full member (#770 Option A) via
|
|
270
|
+
// `verdict.review`, exactly like the keyword — batch-prep's own plan:v1 artifact must not
|
|
271
|
+
// exclude a member it admitted on a later compose re-run.
|
|
272
|
+
// `--rules legacy` reproduces pre-#770 admission, where a plan:v1 path-floor hit excluded too.
|
|
273
|
+
const floorExclusions = verdict.reasons.filter((r) => (prescreen_1.EXCLUDING_CHECKS.has(r.check) && !COMPOSE_OWN_CHECKS.has(r.check)) ||
|
|
274
|
+
(rules === 'legacy' && r.check === 'path-floor'));
|
|
263
275
|
if (floorExclusions.length > 0) {
|
|
264
276
|
excluded.push({
|
|
265
277
|
code: 'prescreen-full',
|
|
266
|
-
message:
|
|
278
|
+
message: `${prescreen_1.PRESCREEN_SCHEMA} verdict full — ${floorExclusions.map((r) => r.message).join(' ')}`,
|
|
267
279
|
});
|
|
268
280
|
}
|
|
269
281
|
const notUnit = notAUnitReason(input.title, input.body, input.labels);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-compose.js","sourceRoot":"","sources":["../src/batch-compose.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"batch-compose.js","sourceRoot":"","sources":["../src/batch-compose.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-suite-runner.d.ts","sourceRoot":"","sources":["../src/batch-suite-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAKH,OAAO,EACL,KAAK,iBAAiB,EAGtB,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"batch-suite-runner.d.ts","sourceRoot":"","sources":["../src/batch-suite-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAKH,OAAO,EACL,KAAK,iBAAiB,EAGtB,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,cAAc,CAAC;AAEnG,oFAAoF;AACpF,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,cAAc,CAAC;AAajD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAU5E;AAED,kGAAkG;AAClG,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAE9C,mGAAmG;AACnG,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAgO7C;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,WAAW,EACnB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,iBAAiB,KAAK,WAAW,CAyD5D"}
|
|
@@ -47,6 +47,7 @@ const node_fs_1 = __importDefault(require("node:fs"));
|
|
|
47
47
|
const node_path_1 = __importDefault(require("node:path"));
|
|
48
48
|
const sched_1 = require("@ai-dossier/sched");
|
|
49
49
|
const worktree_pool_1 = require("@ai-dossier/worktree-pool");
|
|
50
|
+
const cap_envelope_1 = require("./cap-envelope");
|
|
50
51
|
const capability_1 = require("./capability");
|
|
51
52
|
/** The repo-declared batch gate (#777) — preferred over `test.full` when active. */
|
|
52
53
|
exports.BATCH_GATE_CAPABILITY = 'gate.batch';
|
|
@@ -159,15 +160,18 @@ function runCommand(argv, worktree, source, timeoutMs, env) {
|
|
|
159
160
|
function runCapabilitySuite(capabilityId, worktree, capabilityTimeoutMs, env) {
|
|
160
161
|
const source = `cap run ${capabilityId}`;
|
|
161
162
|
const start = Date.now();
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
// #811: the envelope comes from `cap run`'s dedicated envelope file, not
|
|
164
|
+
// stdout's last line — output that lands after the envelope (or a tail lost
|
|
165
|
+
// on exit) must never turn a green gate into "no envelope". `spawnCapRun`
|
|
166
|
+
// only returns an envelope whose outcome agrees with `cap run`'s own exit
|
|
167
|
+
// code, which the capability's command cannot forge (#562 review).
|
|
168
|
+
const run = (0, cap_envelope_1.spawnCapRun)(capabilityId, worktree, {
|
|
165
169
|
// The inner capability owns this budget; the outer watchdog has bounded setup grace.
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
...(env !== undefined ? { env } : {}),
|
|
170
|
+
timeoutMs: capabilityTimeoutMs + exports.CAP_RUN_SETUP_GRACE_MS,
|
|
171
|
+
env,
|
|
169
172
|
});
|
|
170
|
-
|
|
173
|
+
const { spawned } = run;
|
|
174
|
+
if (spawned.error && !run.exitedWithVerdict) {
|
|
171
175
|
if (spawned.error.code === 'ETIMEDOUT') {
|
|
172
176
|
const elapsedMs = Date.now() - start;
|
|
173
177
|
return {
|
|
@@ -184,23 +188,13 @@ function runCapabilitySuite(capabilityId, worktree, capabilityTimeoutMs, env) {
|
|
|
184
188
|
return 'unavailable';
|
|
185
189
|
}
|
|
186
190
|
const stdout = spawned.stdout ?? '';
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
try {
|
|
190
|
-
envelope = JSON.parse(lastLine);
|
|
191
|
-
}
|
|
192
|
-
catch {
|
|
193
|
-
envelope = null;
|
|
194
|
-
}
|
|
195
|
-
if (envelope?.outcome === 'capability-unavailable')
|
|
191
|
+
const fields = run.envelope !== null ? (0, cap_envelope_1.envelopeFields)(run.envelope) : null;
|
|
192
|
+
if (fields?.outcome === 'capability-unavailable')
|
|
196
193
|
return 'unavailable';
|
|
197
|
-
|
|
198
|
-
// capability's command writes to stdout, unlike the envelope's `outcome`
|
|
199
|
-
// field. Both must agree before this is trusted as green (#562 review).
|
|
200
|
-
const ok = envelope?.outcome === 'ok' && spawned.status === 0;
|
|
194
|
+
const ok = fields?.outcome === 'ok' && spawned.status === 0;
|
|
201
195
|
const readable = (0, sched_1.isReadableVitestReport)(stdout);
|
|
202
196
|
const failing = readable ? (0, sched_1.parseVitestJson)(stdout) : [];
|
|
203
|
-
const timedOut =
|
|
197
|
+
const timedOut = fields?.reason === (0, capability_1.timeoutReasonSpent)(capabilityTimeoutMs);
|
|
204
198
|
return {
|
|
205
199
|
source,
|
|
206
200
|
terminal: timedOut,
|
|
@@ -208,13 +202,14 @@ function runCapabilitySuite(capabilityId, worktree, capabilityTimeoutMs, env) {
|
|
|
208
202
|
ok,
|
|
209
203
|
failing,
|
|
210
204
|
readable: ok || readable,
|
|
211
|
-
detail:
|
|
212
|
-
? `${source}: outcome=${
|
|
213
|
-
(
|
|
214
|
-
(
|
|
205
|
+
detail: fields !== null
|
|
206
|
+
? `${source}: outcome=${fields.outcome} exit_code=${fields.exitCode ?? 'unknown'}` +
|
|
207
|
+
(fields.reason ? ` reason=${fields.reason}` : '') +
|
|
208
|
+
(fields.durationMs !== null ? ` elapsed ${fields.durationMs}ms` : '') +
|
|
215
209
|
(!ok && readable ? ` (${failing.length} failing)` : '') +
|
|
210
|
+
` [${run.diagnostics}]` +
|
|
216
211
|
(!ok && !readable ? stderrTail(spawned.stderr) : '')
|
|
217
|
-
: `${source}: task-failed (exit ${spawned.status ?? 'unknown'}), harness produced no envelope${stderrTail(spawned.stderr)}`,
|
|
212
|
+
: `${source}: task-failed (exit ${spawned.status ?? 'unknown'}), harness produced no envelope [${run.diagnostics}]${stderrTail(spawned.stderr)}`,
|
|
218
213
|
},
|
|
219
214
|
};
|
|
220
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-suite-runner.js","sourceRoot":"","sources":["../src/batch-suite-runner.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;;;;
|
|
1
|
+
{"version":3,"file":"batch-suite-runner.js","sourceRoot":"","sources":["../src/batch-suite-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `cap run` outcome-envelope channel (#811).
|
|
3
|
+
*
|
|
4
|
+
* `ai-dossier cap run <id>` reports its four-way outcome as a JSON envelope.
|
|
5
|
+
* Machine consumers (the batch suite runner, the per-member gate runner) used
|
|
6
|
+
* to read only stdout's LAST line — which silently failed when that line was
|
|
7
|
+
* not the envelope:
|
|
8
|
+
*
|
|
9
|
+
* - `cap run` re-emitted the capability's captured output and then exited
|
|
10
|
+
* with `process.exit()` while a large stdout write was still queued on the
|
|
11
|
+
* pipe; the tail (envelope included) was discarded. A green 33-minute
|
|
12
|
+
* `gate.batch` came back as exit 0 + no envelope → `suite-unreadable`.
|
|
13
|
+
* - anything that inherited the same stdout and wrote after `cap run`
|
|
14
|
+
* printed its envelope pushed the envelope off the last line.
|
|
15
|
+
*
|
|
16
|
+
* The fix is a dedicated channel: the consumer hands `cap run` a private file
|
|
17
|
+
* path via {@link CAP_ENVELOPE_FILE_ENV} (or `--envelope-file`), `cap run`
|
|
18
|
+
* writes the envelope there before exiting, and the consumer reads the file.
|
|
19
|
+
* Stdout keeps the envelope for humans and older consumers; when the file is
|
|
20
|
+
* absent (an older `ai-dossier` on PATH that ignores the env var) the stdout
|
|
21
|
+
* is scanned bottom-up for a line carrying the {@link CAP_ENVELOPE_MARKER}
|
|
22
|
+
* key, then the legacy last line.
|
|
23
|
+
*
|
|
24
|
+
* Whatever the source, an envelope is only trusted when `cap run`'s own exit
|
|
25
|
+
* status agrees with its `outcome` — the exit code is the one signal the
|
|
26
|
+
* capability's command cannot forge (#562 review).
|
|
27
|
+
*/
|
|
28
|
+
import { type SpawnSyncReturns } from 'node:child_process';
|
|
29
|
+
import { CAP_ENVELOPE_FILE_ENV, type CapabilityOutcome } from './capability';
|
|
30
|
+
export { CAP_ENVELOPE_FILE_ENV };
|
|
31
|
+
/** Marker key present (value `1`) on every envelope `cap run` emits. */
|
|
32
|
+
export declare const CAP_ENVELOPE_MARKER = "cap_envelope";
|
|
33
|
+
/**
|
|
34
|
+
* Consumer-side stdout buffer for `cap run`: the capability layer captures up
|
|
35
|
+
* to {@link MAX_CAPABILITY_OUTPUT_BYTES} of its command's output and re-emits
|
|
36
|
+
* it before the envelope, so a consumer buffer no larger than that turns a
|
|
37
|
+
* chatty-but-green run into ENOBUFS. Derived, not restated, so the two cannot drift.
|
|
38
|
+
*/
|
|
39
|
+
export declare const CAP_RUN_MAX_BUFFER_BYTES: number;
|
|
40
|
+
/** The raw envelope object; every field is `unknown` until narrowed by {@link envelopeFields}. */
|
|
41
|
+
export interface CapEnvelope {
|
|
42
|
+
[key: string]: unknown;
|
|
43
|
+
}
|
|
44
|
+
/** The typed fields consumers read off an envelope — `null` when absent or of the wrong type. */
|
|
45
|
+
export interface CapEnvelopeFields {
|
|
46
|
+
outcome: CapabilityOutcome | null;
|
|
47
|
+
exitCode: number | null;
|
|
48
|
+
reason: string | null;
|
|
49
|
+
durationMs: number | null;
|
|
50
|
+
outputTail: string | null;
|
|
51
|
+
}
|
|
52
|
+
/** `true` when `value` is one of the four `cap run` outcomes. */
|
|
53
|
+
export declare function isCapabilityOutcome(value: unknown): value is CapabilityOutcome;
|
|
54
|
+
/** Narrow an envelope's fields by type — one place, so every consumer reads it identically. */
|
|
55
|
+
export declare function envelopeFields(envelope: CapEnvelope): CapEnvelopeFields;
|
|
56
|
+
/**
|
|
57
|
+
* Find the envelope in `cap run`'s stdout: the LAST line (scanning
|
|
58
|
+
* bottom-up) that parses as a JSON object carrying the marker key; failing
|
|
59
|
+
* that, the legacy contract — the last non-empty line, parsed as-is (an
|
|
60
|
+
* older `cap run` that predates the marker). `null` when neither parses.
|
|
61
|
+
*/
|
|
62
|
+
export declare function parseCapEnvelope(stdout: string): CapEnvelope | null;
|
|
63
|
+
/** What {@link readCapEnvelopeFile} found: nothing, something unusable, or a marked envelope. */
|
|
64
|
+
export type CapEnvelopeFileRead = {
|
|
65
|
+
state: 'absent';
|
|
66
|
+
} | {
|
|
67
|
+
state: 'invalid';
|
|
68
|
+
preview: string;
|
|
69
|
+
} | {
|
|
70
|
+
state: 'ok';
|
|
71
|
+
envelope: CapEnvelope;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Read an envelope file written by `cap run`. `invalid` (present but not a
|
|
75
|
+
* marked envelope) is kept distinct from `absent` — it means version skew or
|
|
76
|
+
* a writer bug, not "an older CLI that never wrote one".
|
|
77
|
+
*/
|
|
78
|
+
export declare function readCapEnvelopeFile(file: string): CapEnvelopeFileRead;
|
|
79
|
+
/**
|
|
80
|
+
* Write `json` (one envelope) to `file` atomically — a reader never sees a
|
|
81
|
+
* half-written envelope. The temp sibling has an unguessable name and is
|
|
82
|
+
* opened exclusively (`wx`, mode 0600), so a pre-planted file or symlink in a
|
|
83
|
+
* shared directory is refused rather than written through; it is removed if
|
|
84
|
+
* the write or rename fails. Throws on I/O failure; the caller decides
|
|
85
|
+
* whether that is fatal.
|
|
86
|
+
*/
|
|
87
|
+
export declare function writeCapEnvelopeFile(file: string, json: string): void;
|
|
88
|
+
/** Result of {@link spawnCapRun}: the raw spawn plus the verdict it produced, if any. */
|
|
89
|
+
export interface CapRunSpawn {
|
|
90
|
+
spawned: SpawnSyncReturns<string>;
|
|
91
|
+
/**
|
|
92
|
+
* The envelope — from the dedicated file, else from stdout (see
|
|
93
|
+
* {@link parseCapEnvelope}) — and only when `cap run`'s exit status agrees
|
|
94
|
+
* with its `outcome`. `null` when no trustworthy envelope was recovered.
|
|
95
|
+
*/
|
|
96
|
+
envelope: CapEnvelope | null;
|
|
97
|
+
/** Where {@link envelope} came from; `'none'` when it is `null`. */
|
|
98
|
+
envelopeSource: 'file' | 'stdout' | 'none';
|
|
99
|
+
/**
|
|
100
|
+
* `cap run` exited on its own with a trusted verdict. When this is `true`
|
|
101
|
+
* a spawn error (ETIMEDOUT) is NOT the gate timing out: a descendant still
|
|
102
|
+
* held the inherited stdout pipe, so `spawnSync` kept waiting past its
|
|
103
|
+
* timeout after `cap run` had already recorded its exit status.
|
|
104
|
+
*/
|
|
105
|
+
exitedWithVerdict: boolean;
|
|
106
|
+
/** Human-readable account of how the envelope was (or was not) recovered — for `detail`/`reason`. */
|
|
107
|
+
diagnostics: string;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Spawn `ai-dossier cap run <capabilityId>` in `cwd` with a dedicated
|
|
111
|
+
* envelope file in a fresh private (0700) temp directory, and return the
|
|
112
|
+
* spawn result plus the verdict. Always sets {@link CAP_ENVELOPE_FILE_ENV}
|
|
113
|
+
* (overriding any value in `env`, which otherwise defaults to the inherited
|
|
114
|
+
* environment) and uses {@link CAP_RUN_MAX_BUFFER_BYTES} as `maxBuffer`. The
|
|
115
|
+
* temp directory — and any stray temp file a killed `cap run` left in it — is
|
|
116
|
+
* always removed.
|
|
117
|
+
*/
|
|
118
|
+
export declare function spawnCapRun(capabilityId: string, cwd: string, opts: {
|
|
119
|
+
timeoutMs: number;
|
|
120
|
+
env?: NodeJS.ProcessEnv;
|
|
121
|
+
}): CapRunSpawn;
|
|
122
|
+
//# sourceMappingURL=cap-envelope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cap-envelope.d.ts","sourceRoot":"","sources":["../src/cap-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,KAAK,gBAAgB,EAAa,MAAM,oBAAoB,CAAC;AAKtE,OAAO,EACL,qBAAqB,EAErB,KAAK,iBAAiB,EAEvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAEjC,wEAAwE;AACxE,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAiD,CAAC;AAEvF,kGAAkG;AAClG,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,iGAAiG;AACjG,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED,+FAA+F;AAC/F,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,iBAAiB,CAQvE;AAgBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAUnE;AAED,iGAAiG;AACjG,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,GACnB;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,WAAW,CAAA;CAAE,CAAC;AAI3C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAUrE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CASrE;AAED,yFAAyF;AACzF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC;;;;OAIG;IACH,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,oEAAoE;IACpE,cAAc,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C;;;;;OAKG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qGAAqG;IACrG,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,GACnD,WAAW,CAmBb"}
|