@momentiq/dark-factory-cli 2.5.0 → 2.7.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.
Files changed (49) hide show
  1. package/dist/adapters/_shared.d.ts.map +1 -1
  2. package/dist/adapters/_shared.js +11 -0
  3. package/dist/adapters/_shared.js.map +1 -1
  4. package/dist/adapters/codex-sdk.d.ts +1 -0
  5. package/dist/adapters/codex-sdk.d.ts.map +1 -1
  6. package/dist/adapters/codex-sdk.js +93 -1
  7. package/dist/adapters/codex-sdk.js.map +1 -1
  8. package/dist/adapters/cursor-sdk.d.ts.map +1 -1
  9. package/dist/adapters/cursor-sdk.js +46 -0
  10. package/dist/adapters/cursor-sdk.js.map +1 -1
  11. package/dist/cli.d.ts.map +1 -1
  12. package/dist/cli.js +75 -38
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/verify.d.ts +6 -0
  15. package/dist/commands/verify.d.ts.map +1 -0
  16. package/dist/commands/verify.js +223 -0
  17. package/dist/commands/verify.js.map +1 -0
  18. package/dist/evidence/route-runner.d.ts +1 -0
  19. package/dist/evidence/route-runner.d.ts.map +1 -1
  20. package/dist/evidence/route-runner.js +23 -2
  21. package/dist/evidence/route-runner.js.map +1 -1
  22. package/dist/git.d.ts +6 -0
  23. package/dist/git.d.ts.map +1 -1
  24. package/dist/git.js +92 -0
  25. package/dist/git.js.map +1 -1
  26. package/dist/onboard/schema.d.ts +14 -14
  27. package/dist/policy/gate.d.ts.map +1 -1
  28. package/dist/policy/gate.js +30 -18
  29. package/dist/policy/gate.js.map +1 -1
  30. package/dist/runner.d.ts +11 -1
  31. package/dist/runner.d.ts.map +1 -1
  32. package/dist/runner.js +156 -8
  33. package/dist/runner.js.map +1 -1
  34. package/dist/skills/install.d.ts.map +1 -1
  35. package/dist/skills/install.js +1 -0
  36. package/dist/skills/install.js.map +1 -1
  37. package/dist/trusted-surface/rebind.d.ts.map +1 -1
  38. package/dist/trusted-surface/rebind.js +6 -10
  39. package/dist/trusted-surface/rebind.js.map +1 -1
  40. package/package.json +2 -2
  41. package/skills/chief-engineer-blitz/SKILL.md.tmpl +7 -6
  42. package/skills/chief-engineer-blitz/skill.json +1 -1
  43. package/skills/verify/SKILL.md.tmpl +100 -0
  44. package/skills/verify/producer/README.md +73 -0
  45. package/skills/verify/producer/coverage.ts +121 -0
  46. package/skills/verify/producer/playwright-route.sh +161 -0
  47. package/skills/verify/producer/playwright.ui-route.config.ts +111 -0
  48. package/skills/verify/producer/ui-route.producer.spec.ts +281 -0
  49. package/skills/verify/skill.json +22 -0
@@ -0,0 +1,223 @@
1
+ // `df verify` — run the armed verification routes and write SHA + diffHash-
2
+ // bound evidence. The first-class CLI graduation of the route-runner library
3
+ // (`runRoutes`) — momentiq-ai/dark-factory#192.
4
+ //
5
+ // `df verify` is the route ORCHESTRATOR. For the commit's diff it arms the
6
+ // verification routes (table floor ∪ planner, minus exclusive suppression)
7
+ // and runs each route's producer command, writing per-SHA
8
+ // `QualityGateEvidence` stamped with the gated `diffHash` — the producer half
9
+ // of #194's content binding, so `enforceVerificationRoutes` can re-validate
10
+ // the evidence against the diff it was produced for.
11
+ //
12
+ // It is NOT a per-route producer. The default routes ship the non-executable
13
+ // placeholder `df verify --route <id>` as their `command`; `runRoutes`'
14
+ // recursion guard refuses to spawn one (it would re-enter `df verify` →
15
+ // `runRoutes` forever). A consumer overrides each `command` with its own
16
+ // toolchain's producer in `.agent-review/config.json`. See
17
+ // `DEFAULT_VERIFICATION_ROUTES` and the per-evidenceKind reusable producers
18
+ // (e.g. the Playwright UI route, #193).
19
+ //
20
+ // Exit codes follow the 0/1/2 route contract:
21
+ // 0 every ran route is green (or nothing was triggered)
22
+ // 1 at least one ran route BLOCKED (exit 1, or indeterminate), OR a
23
+ // config/usage error that prevents producing evidence (un-overridden
24
+ // placeholder, config load failure, bad commit ref)
25
+ // 2 no route blocked but at least one SOFT-SKIPPED (tool unreachable),
26
+ // OR a flag/usage error (mirrors `df show`/`df status`)
27
+ import { loadAgentReviewConfig } from "../policy/config.js";
28
+ import { collectChangedPaths } from "../evidence/index.js";
29
+ import { runRoutes } from "../evidence/route-runner.js";
30
+ import { changedFiles, commitDiff, diffHash, resolveCommit, safeParentOrThrow, } from "../git.js";
31
+ const HELP = [
32
+ "df verify — run the armed verification routes and write diffHash-bound evidence.",
33
+ "",
34
+ "Usage:",
35
+ " df verify [--commit <ref>] [--route <id>] [--cwd <path>]",
36
+ "",
37
+ "Arms the verification routes triggered by the commit's diff (the same set",
38
+ "`df gate-push` enforces), runs each route's producer command, and writes",
39
+ "per-SHA evidence to .git/agent-reviews/quality-gates/<sha>.json stamped",
40
+ "with the gated diff hash — so the gate can re-validate it against the diff",
41
+ "it was produced for.",
42
+ "",
43
+ "`df verify` is the route ORCHESTRATOR, not a per-route producer: the default",
44
+ "routes ship `df verify --route <id>` as a NON-EXECUTABLE placeholder. Each",
45
+ "consumer overrides a route's `command` in .agent-review/config.json with",
46
+ "its own toolchain's producer (e.g. `terraform plan`, the Playwright UI",
47
+ "route). Running an un-overridden placeholder fails fast (it would recurse).",
48
+ "",
49
+ "Flags:",
50
+ " --commit <ref> Commit ref (anything `git rev-parse` accepts; default HEAD).",
51
+ " --route <id> Run only this route (filtered to the armed set — a route",
52
+ " the diff did not trigger produces nothing).",
53
+ " --cwd <path> Repository root to operate in (default: process cwd).",
54
+ " --help, -h Show this message.",
55
+ "",
56
+ "Exit codes:",
57
+ " 0 every ran route passed (or nothing was triggered)",
58
+ " 1 a route blocked, or a config error (e.g. an un-overridden placeholder)",
59
+ " 2 a route soft-skipped (tool unreachable), or a usage error",
60
+ "",
61
+ ].join("\n");
62
+ function parseVerifyArgs(rest) {
63
+ let commit = "HEAD";
64
+ let route = null;
65
+ let cwd = process.cwd();
66
+ for (let i = 0; i < rest.length; i++) {
67
+ const a = rest[i] ?? "";
68
+ if (a === "--commit") {
69
+ const next = rest[i + 1];
70
+ if (next === undefined || next.startsWith("--")) {
71
+ return { error: "--commit requires a value (e.g. --commit HEAD)." };
72
+ }
73
+ commit = next;
74
+ i++;
75
+ continue;
76
+ }
77
+ if (a.startsWith("--commit=")) {
78
+ commit = a.slice("--commit=".length);
79
+ continue;
80
+ }
81
+ if (a === "--route") {
82
+ const next = rest[i + 1];
83
+ if (next === undefined || next.startsWith("--")) {
84
+ return { error: "--route requires a value (e.g. --route playwright)." };
85
+ }
86
+ route = next;
87
+ i++;
88
+ continue;
89
+ }
90
+ if (a.startsWith("--route=")) {
91
+ route = a.slice("--route=".length);
92
+ continue;
93
+ }
94
+ if (a === "--cwd") {
95
+ const next = rest[i + 1];
96
+ if (next === undefined || next.startsWith("--")) {
97
+ return { error: "--cwd requires a value (a path)." };
98
+ }
99
+ cwd = next;
100
+ i++;
101
+ continue;
102
+ }
103
+ if (a.startsWith("--cwd=")) {
104
+ cwd = a.slice("--cwd=".length);
105
+ continue;
106
+ }
107
+ return { error: `unknown flag or positional arg: ${a}` };
108
+ }
109
+ return { commit, route, cwd };
110
+ }
111
+ export async function cmdVerify(rest, io) {
112
+ if (rest.includes("--help") || rest.includes("-h")) {
113
+ io.stdout(`${HELP}`);
114
+ return 0;
115
+ }
116
+ const parsed = parseVerifyArgs(rest);
117
+ if ("error" in parsed) {
118
+ io.stderr(`df verify: ${parsed.error}\nRun \`df verify --help\` for usage.\n`);
119
+ return 2;
120
+ }
121
+ let loaded;
122
+ try {
123
+ loaded = await loadAgentReviewConfig({ cwd: parsed.cwd });
124
+ }
125
+ catch (err) {
126
+ io.stderr(`df verify: ${err.message}\n`);
127
+ return 1;
128
+ }
129
+ const table = loaded.config.validation.verificationRoutes ?? [];
130
+ // Validate `--route <id>` against the configured table so an UNKNOWN id is a
131
+ // clear usage error (exit 2), distinct from a KNOWN route the diff did not
132
+ // trigger (exit 0, nothing to verify). v1 runs no planner, so the table is
133
+ // the universe of route ids.
134
+ if (parsed.route !== null && !table.some((r) => r.id === parsed.route)) {
135
+ io.stderr(`df verify: unknown route "${parsed.route}". Configured routes: ${table.map((r) => r.id).join(", ") || "(none)"}.\nRun \`df verify --help\` for usage.\n`);
136
+ return 2;
137
+ }
138
+ let sha;
139
+ try {
140
+ sha = await resolveCommit(parsed.commit, parsed.cwd);
141
+ }
142
+ catch (err) {
143
+ io.stderr(`df verify: ${err.message}\n`);
144
+ return 1;
145
+ }
146
+ // Issues #181 / #182 — fail loud on a shallow-clone boundary (true root
147
+ // commits still resolve to ""). A masked boundary would arm the routes
148
+ // against a whole-repo diff.
149
+ let parent;
150
+ try {
151
+ parent = await safeParentOrThrow(sha, parsed.cwd);
152
+ }
153
+ catch (err) {
154
+ io.stderr(`df verify: ${err.message}\n`);
155
+ return 1;
156
+ }
157
+ const files = await changedFiles(parent, sha, parsed.cwd, { readContent: false });
158
+ const changedPaths = collectChangedPaths(files);
159
+ // Compute the gated diff hash over the SAME parent..sha range the routes are
160
+ // armed against, so `runRoutes` stamps it onto the evidence (the producer
161
+ // half of #194). KNOWN LIMITATION: a transient git error here leaves the
162
+ // evidence SHA-only, and the gate then falls back to SHA-only binding for
163
+ // this commit — the teeth go dormant rather than fail the run. Mirrors the
164
+ // same fallback in `runner.ts`'s gate path; documented, not absolute.
165
+ let gatedDiffHash;
166
+ try {
167
+ gatedDiffHash = diffHash(await commitDiff(parent, sha, parsed.cwd));
168
+ }
169
+ catch {
170
+ gatedDiffHash = undefined;
171
+ }
172
+ let summary;
173
+ try {
174
+ summary = await runRoutes({
175
+ loaded,
176
+ commit: sha,
177
+ changedPaths,
178
+ cwd: parsed.cwd,
179
+ ...(gatedDiffHash !== undefined ? { diffHash: gatedDiffHash } : {}),
180
+ ...(parsed.route !== null ? { routeFilter: parsed.route } : {}),
181
+ });
182
+ }
183
+ catch (err) {
184
+ // The recursion guard (un-overridden placeholder) and any other hard
185
+ // producer error land here — fail closed with the actionable message.
186
+ io.stderr(`df verify: ${err.message}\n`);
187
+ return 1;
188
+ }
189
+ const short = sha.slice(0, 12);
190
+ if (summary.ran.length === 0) {
191
+ if (parsed.route !== null) {
192
+ io.stdout(`df verify: route "${parsed.route}" is not triggered by ${short}'s diff (or is suppressed) — nothing to verify.\n`);
193
+ }
194
+ else if (summary.suppressedBy !== undefined) {
195
+ io.stdout(`df verify: routes suppressed by exclusive route "${summary.suppressedBy}" — nothing to verify (${short}).\n`);
196
+ }
197
+ else {
198
+ io.stdout(`df verify: no verification routes triggered by ${short}'s diff — nothing to verify.\n`);
199
+ }
200
+ return 0;
201
+ }
202
+ for (const r of summary.ran) {
203
+ const label = r.outcome === "green" ? "PASS" : r.outcome === "soft-skip" ? "SKIP" : "FAIL";
204
+ io.stdout(` ${label} route[${r.routeId}] (${r.command}) exit=${r.exitCode}\n`);
205
+ }
206
+ const blocked = summary.ran.filter((r) => r.outcome === "block").length;
207
+ const skipped = summary.ran.filter((r) => r.outcome === "soft-skip").length;
208
+ const green = summary.ran.filter((r) => r.outcome === "green").length;
209
+ io.stdout(`df verify: ${summary.ran.length} ran — ${green} green, ${blocked} blocked, ${skipped} soft-skipped (${short}).\n`);
210
+ if (gatedDiffHash !== undefined) {
211
+ io.stdout(` evidence bound to diff ${gatedDiffHash}\n`);
212
+ }
213
+ else {
214
+ io.stdout(" warning: gated diff hash unavailable (git error) — evidence is SHA-only; content-binding is dormant for this commit.\n");
215
+ }
216
+ // 0/1/2 route contract: a block dominates, then a soft-skip, else green.
217
+ if (blocked > 0)
218
+ return 1;
219
+ if (skipped > 0)
220
+ return 2;
221
+ return 0;
222
+ }
223
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export interface RunRoutesOptions {
20
20
  signal?: AbortSignal;
21
21
  planner?: RoutePlanner;
22
22
  diffHash?: string;
23
+ routeFilter?: string;
23
24
  }
24
25
  /**
25
26
  * Classify a process exit code into the 0/1/2 route contract. Any code other
@@ -1 +1 @@
1
- {"version":3,"file":"route-runner.d.ts","sourceRoot":"","sources":["../../src/evidence/route-runner.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAclE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,YAAY,CAAC;IAItB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAG9B,GAAG,EAAE,cAAc,EAAE,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IAIrB,OAAO,CAAC,EAAE,YAAY,CAAC;IAIvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAI3D;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmEnF"}
1
+ {"version":3,"file":"route-runner.d.ts","sourceRoot":"","sources":["../../src/evidence/route-runner.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAelE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,YAAY,CAAC;IAItB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAG9B,GAAG,EAAE,cAAc,EAAE,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IAIrB,OAAO,CAAC,EAAE,YAAY,CAAC;IAIvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAQlB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAI3D;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA4FnF"}
@@ -5,7 +5,7 @@ import { perShaQualityGatePath } from "./per-sha.js";
5
5
  import { resolveArtifactRoot } from "../paths.js";
6
6
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
7
7
  import { dirname } from "node:path";
8
- import { parseQualityGateEvidence, } from "@momentiq/dark-factory-schemas";
8
+ import { isVerifyRouteCommand, parseQualityGateEvidence, } from "@momentiq/dark-factory-schemas";
9
9
  /**
10
10
  * Classify a process exit code into the 0/1/2 route contract. Any code other
11
11
  * than 0/1/2 (e.g. a spawn error of -1, or a SIGKILL) is treated as a block:
@@ -47,9 +47,30 @@ export async function runRoutes(options) {
47
47
  break;
48
48
  }
49
49
  }
50
- const active = suppressedBy
50
+ let active = suppressedBy
51
51
  ? armed.filter((r) => r === suppressedBy)
52
52
  : armed.filter((r) => !r.exclusive);
53
+ // Cycle 22 (#192) — `--route <id>` narrows the armed set. Applied AFTER
54
+ // suppression so a docs-only-suppressed run still produces nothing under an
55
+ // explicit `--route`, matching the gate.
56
+ if (options.routeFilter !== undefined) {
57
+ active = active.filter((r) => r.id === options.routeFilter);
58
+ }
59
+ // Cycle 22 (#192) — recursion guard. `df verify` is the route ORCHESTRATOR,
60
+ // not a per-route producer: spawning a route whose command is itself a
61
+ // `df verify` invocation (an un-overridden default placeholder) would
62
+ // re-enter `df verify` → runRoutes → spawn it again, forever. Fail fast with
63
+ // an actionable error BEFORE spawning anything, rather than recursing. Runs
64
+ // after the routeFilter so `df verify --route X` on an un-overridden X is
65
+ // caught too. Suppression-only routes (command null) are exempt.
66
+ for (const r of active) {
67
+ if (r.command !== null && isVerifyRouteCommand(r.command)) {
68
+ throw new Error(`route "${r.id}" still has the placeholder command \`${r.command}\`; ` +
69
+ `override it in .agent-review/config.json with your toolchain's ` +
70
+ `producer (\`df verify\` is the route orchestrator, not a per-route ` +
71
+ `producer — see DEFAULT_VERIFICATION_ROUTES).`);
72
+ }
73
+ }
53
74
  const ran = [];
54
75
  for (const route of active) {
55
76
  if (options.signal?.aborted)
@@ -1 +1 @@
1
- {"version":3,"file":"route-runner.js","sourceRoot":"","sources":["../../src/evidence/route-runner.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAqB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,wBAAwB,GAGzB,MAAM,gCAAgC,CAAC;AA0CxC;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACnC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IACvC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAyB;IACvD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAE3C,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,0DAA0D;IAC1D,IAAI,YAA2C,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,SAAS;QAC/B,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YAC9D,YAAY,GAAG,KAAK,CAAC;YACrB,MAAM;QACR,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,YAAY;QACzB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC;QACzC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEtC,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM;QACnC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,kEAAkE;YAClE,6BAA6B;YAC7B,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACrC,MAAM;YACN,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;YACzB,OAAO,EAAE,KAAK,CAAC,EAAE;SAClB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ;YACR,OAAO;YACP,qBAAqB,EAAE,OAAO,KAAK,WAAW;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,wEAAwE;IACxE,6EAA6E;IAC7E,2EAA2E;IAC3E,sEAAsE;IACtE,qEAAqE;IACrE,iDAAiD;IACjD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,GAAG;QACH,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,MAAoB,EACpB,MAAc,EACd,QAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAChF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,IAAI,QAA6B,CAAC;IAClC,IAAI,CAAC;QACH,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO;IACvC,MAAM,OAAO,GAAwB,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAC/D,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"route-runner.js","sourceRoot":"","sources":["../../src/evidence/route-runner.ts"],"names":[],"mappings":"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"}
package/dist/git.d.ts CHANGED
@@ -6,6 +6,12 @@ export declare function gitDir(cwd?: string): Promise<string>;
6
6
  export declare function currentBranch(cwd?: string): Promise<string>;
7
7
  export declare function resolveCommit(ref: string, cwd?: string): Promise<string>;
8
8
  export declare function commitParent(sha: string, cwd?: string): Promise<string>;
9
+ export declare function parentsInObject(sha: string, cwd?: string): Promise<number>;
10
+ export declare class ShallowParentError extends Error {
11
+ readonly sha: string;
12
+ constructor(sha: string);
13
+ }
14
+ export declare function safeParentOrThrow(sha: string, cwd?: string): Promise<string>;
9
15
  export declare function commitMetadata(sha: string, cwd?: string): Promise<CommitMetadata>;
10
16
  export declare function commitStat(parent: string, sha: string, cwd?: string): Promise<string>;
11
17
  export declare function commitDiff(parent: string, sha: string, cwd?: string): Promise<string>;
package/dist/git.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
package/dist/git.js CHANGED
@@ -69,6 +69,98 @@ export async function commitParent(sha, cwd = process.cwd()) {
69
69
  }
70
70
  return parts[1] ?? "";
71
71
  }
72
+ // Issues #181 / #182 — count the parent pointers recorded INSIDE the commit
73
+ // object, independent of graft/shallow state. `git cat-file -p <sha>` prints
74
+ // the raw object: a header block (`tree`, zero-or-more `parent`, `author`,
75
+ // `committer`, optional `gpgsig` continuation lines) terminated by a blank
76
+ // line, then the free-form commit message. We count `parent ` lines in the
77
+ // HEADER ONLY.
78
+ //
79
+ // Why this is the discriminator a shallow checkout needs: `git rev-list
80
+ // --parents` (used by `commitParent`) and `%P` (used by `commitMetadata`)
81
+ // both RESPECT the shallow graft — on a `fetch-depth: 1` merge commit they
82
+ // report zero parents because the graft severs the history at that boundary.
83
+ // `cat-file -p` reads the object's literal bytes and bypasses the graft, so
84
+ // it sees the TRUE in-object parent count. A genuine root commit records 0
85
+ // in-object parents; a shallow-boundary commit records ≥1 but those parents
86
+ // are not reachable in the partial clone. That gap is exactly what
87
+ // `safeParentOrThrow` keys on to distinguish a legit root from a masked
88
+ // shallow boundary.
89
+ //
90
+ // Two load-bearing parsing properties (see the column-0 + blank-line guards):
91
+ // 1. Stop at the first blank line — the message body is rendered at column
92
+ // 0, so a body line like "parent commit was reverted" must NOT count.
93
+ // 2. Anchor on start-of-line — gpgsig continuation lines are space-indented
94
+ // (" wsFcB...") and so already safe, but the anchor makes the intent
95
+ // explicit and robust to other indented header continuations.
96
+ export async function parentsInObject(sha, cwd = process.cwd()) {
97
+ const out = await git(["cat-file", "-p", sha], { cwd });
98
+ let count = 0;
99
+ for (const line of out.split("\n")) {
100
+ if (line === "")
101
+ break; // end of header block; message body follows
102
+ if (line.startsWith("parent "))
103
+ count++;
104
+ }
105
+ return count;
106
+ }
107
+ // Issues #181 / #182 — fail-loud parent resolver shared by every packet /
108
+ // verify call site (`rebind.ts`, `commands/verify.ts`). Replaces the old
109
+ // blanket `try { commitParent } catch { return "" }` that masked a shallow-
110
+ // clone boundary as a true root commit:
111
+ //
112
+ // - True root (`parentsInObject === 0`): the commit genuinely has no
113
+ // parent. Return "" so `commitDiff` / `changedFiles` take the
114
+ // `git show <sha>` path (commit-introduces-everything). This is the
115
+ // ONE legitimate empty-parent case.
116
+ //
117
+ // - Shallow boundary (`parentsInObject > 0` but `commitParent` couldn't
118
+ // reach the parent): the clone is too shallow. THROW with a "deepen the
119
+ // clone (fetch-depth: 0)" remediation. Returning "" here is the #182 bug:
120
+ // it makes the packet diff against the empty tree = the WHOLE repo, which
121
+ // blows past every vendor's context window and silently shrinks the
122
+ // critic quorum to whichever adapter has the largest window.
123
+ //
124
+ // We do NOT key on `git rev-parse --is-shallow-repository` (it reports `true`
125
+ // even at `fetch-depth: 2`, where the parent IS reachable and the diff is
126
+ // correct) — the in-object-parent-count vs. reachable-parent gap is the
127
+ // precise signal.
128
+ export class ShallowParentError extends Error {
129
+ sha;
130
+ constructor(sha) {
131
+ super(`commit ${sha} records a parent in its object but the parent is not ` +
132
+ `present in this clone (shallow boundary). The review packet would ` +
133
+ `otherwise diff against the empty tree and send the ENTIRE repository ` +
134
+ `to the critics, overflowing their context windows. Deepen the clone ` +
135
+ `(set \`fetch-depth: 0\` on actions/checkout, or run ` +
136
+ `\`git fetch --unshallow\`) so the parent commit is reachable.`);
137
+ this.sha = sha;
138
+ this.name = "ShallowParentError";
139
+ }
140
+ }
141
+ export async function safeParentOrThrow(sha, cwd = process.cwd()) {
142
+ try {
143
+ return await commitParent(sha, cwd);
144
+ }
145
+ catch (err) {
146
+ // commitParent threw — either a true root (0 in-object parents, legit) or
147
+ // a shallow boundary (≥1 in-object parent, not reachable). Disambiguate
148
+ // via the graft-independent in-object count.
149
+ let inObject;
150
+ try {
151
+ inObject = await parentsInObject(sha, cwd);
152
+ }
153
+ catch {
154
+ // cat-file itself failed (e.g. the object is genuinely missing) — that
155
+ // is a different fault than a shallow boundary; surface the original
156
+ // commitParent error rather than mislabeling it "deepen the clone".
157
+ throw err;
158
+ }
159
+ if (inObject === 0)
160
+ return ""; // true root commit
161
+ throw new ShallowParentError(sha);
162
+ }
163
+ }
72
164
  export async function commitMetadata(sha, cwd = process.cwd()) {
73
165
  // ASCII Unit Separator (0x1F) is reserved as a delimiter in git pretty-format output.
74
166
  const sep = "\x1f";
package/dist/git.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
@@ -18,12 +18,12 @@ declare const ServiceSchema: z.ZodObject<{
18
18
  path: z.ZodString;
19
19
  stack: z.ZodNullable<z.ZodString>;
20
20
  }, "strip", z.ZodTypeAny, {
21
- path: string;
22
21
  name: string;
22
+ path: string;
23
23
  stack: string | null;
24
24
  }, {
25
- path: string;
26
25
  name: string;
26
+ path: string;
27
27
  stack: string | null;
28
28
  }>;
29
29
  declare const WorkflowSchema: z.ZodObject<{
@@ -34,15 +34,15 @@ declare const WorkflowSchema: z.ZodObject<{
34
34
  matrixDimensions: z.ZodArray<z.ZodString, "many">;
35
35
  firstRunCommand: z.ZodNullable<z.ZodString>;
36
36
  }, "strip", z.ZodTypeAny, {
37
- path: string;
38
37
  name: string;
38
+ path: string;
39
39
  triggers: string[];
40
40
  jobs: string[];
41
41
  matrixDimensions: string[];
42
42
  firstRunCommand: string | null;
43
43
  }, {
44
- path: string;
45
44
  name: string;
45
+ path: string;
46
46
  triggers: string[];
47
47
  jobs: string[];
48
48
  matrixDimensions: string[];
@@ -142,12 +142,12 @@ export declare const RepoAnalysisSchema: z.ZodObject<{
142
142
  path: z.ZodString;
143
143
  stack: z.ZodNullable<z.ZodString>;
144
144
  }, "strip", z.ZodTypeAny, {
145
- path: string;
146
145
  name: string;
146
+ path: string;
147
147
  stack: string | null;
148
148
  }, {
149
- path: string;
150
149
  name: string;
150
+ path: string;
151
151
  stack: string | null;
152
152
  }>, "many">;
153
153
  dependencies: z.ZodArray<z.ZodObject<{
@@ -172,15 +172,15 @@ export declare const RepoAnalysisSchema: z.ZodObject<{
172
172
  matrixDimensions: z.ZodArray<z.ZodString, "many">;
173
173
  firstRunCommand: z.ZodNullable<z.ZodString>;
174
174
  }, "strip", z.ZodTypeAny, {
175
- path: string;
176
175
  name: string;
176
+ path: string;
177
177
  triggers: string[];
178
178
  jobs: string[];
179
179
  matrixDimensions: string[];
180
180
  firstRunCommand: string | null;
181
181
  }, {
182
- path: string;
183
182
  name: string;
183
+ path: string;
184
184
  triggers: string[];
185
185
  jobs: string[];
186
186
  matrixDimensions: string[];
@@ -201,8 +201,8 @@ export declare const RepoAnalysisSchema: z.ZodObject<{
201
201
  }>>;
202
202
  }, "strip", z.ZodTypeAny, {
203
203
  workflows: {
204
- path: string;
205
204
  name: string;
205
+ path: string;
206
206
  triggers: string[];
207
207
  jobs: string[];
208
208
  matrixDimensions: string[];
@@ -215,8 +215,8 @@ export declare const RepoAnalysisSchema: z.ZodObject<{
215
215
  } | null;
216
216
  }, {
217
217
  workflows: {
218
- path: string;
219
218
  name: string;
219
+ path: string;
220
220
  triggers: string[];
221
221
  jobs: string[];
222
222
  matrixDimensions: string[];
@@ -405,8 +405,8 @@ export declare const RepoAnalysisSchema: z.ZodObject<{
405
405
  } | null;
406
406
  };
407
407
  services: {
408
- path: string;
409
408
  name: string;
409
+ path: string;
410
410
  stack: string | null;
411
411
  }[];
412
412
  canonicalName: string;
@@ -422,8 +422,8 @@ export declare const RepoAnalysisSchema: z.ZodObject<{
422
422
  }[];
423
423
  ci: {
424
424
  workflows: {
425
- path: string;
426
425
  name: string;
426
+ path: string;
427
427
  triggers: string[];
428
428
  jobs: string[];
429
429
  matrixDimensions: string[];
@@ -485,8 +485,8 @@ export declare const RepoAnalysisSchema: z.ZodObject<{
485
485
  } | null;
486
486
  };
487
487
  services: {
488
- path: string;
489
488
  name: string;
489
+ path: string;
490
490
  stack: string | null;
491
491
  }[];
492
492
  canonicalName: string;
@@ -502,8 +502,8 @@ export declare const RepoAnalysisSchema: z.ZodObject<{
502
502
  }[];
503
503
  ci: {
504
504
  workflows: {
505
- path: string;
506
505
  name: string;
506
+ path: string;
507
507
  triggers: string[];
508
508
  jobs: string[];
509
509
  matrixDimensions: string[];