patchwork-os 1.2.0-beta.2.canary.775 → 1.2.0-beta.2.canary.778
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/dist/approvalQueue.js +5 -0
- package/dist/approvalQueue.js.map +1 -1
- package/dist/evidenceRelationships.d.ts +86 -0
- package/dist/evidenceRelationships.js +255 -0
- package/dist/evidenceRelationships.js.map +1 -0
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/recipeOrchestration.js +27 -1
- package/dist/recipeOrchestration.js.map +1 -1
- package/dist/recipes/RecipeOrchestrator.d.ts +12 -0
- package/dist/recipes/RecipeOrchestrator.js +14 -0
- package/dist/recipes/RecipeOrchestrator.js.map +1 -1
- package/dist/recipes/chainedRunner.d.ts +13 -1
- package/dist/recipes/chainedRunner.js +4 -1
- package/dist/recipes/chainedRunner.js.map +1 -1
- package/dist/recipes/yamlRunner.d.ts +21 -4
- package/dist/recipes/yamlRunner.js +10 -1
- package/dist/recipes/yamlRunner.js.map +1 -1
- package/package.json +1 -1
package/dist/approvalQueue.js
CHANGED
|
@@ -434,6 +434,11 @@ export class ApprovalQueue {
|
|
|
434
434
|
riskSignals: e.riskSignals,
|
|
435
435
|
personalSignals: e.personalSignals,
|
|
436
436
|
correlationId: e.correlationId,
|
|
437
|
+
// Set by the worker gate on every queued approval so a consumer can
|
|
438
|
+
// tell a worker-gate approval from a plain client-session tool call.
|
|
439
|
+
// It reached disk and the restored entry but never this projection, so
|
|
440
|
+
// no reader has ever seen it. Found by the field round-trip guard.
|
|
441
|
+
recipeName: e.recipeName,
|
|
437
442
|
owned: e.owned,
|
|
438
443
|
// approvalToken intentionally omitted from list — never expose to untrusted callers
|
|
439
444
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approvalQueue.js","sourceRoot":"","sources":["../src/approvalQueue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"approvalQueue.js","sourceRoot":"","sources":["../src/approvalQueue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Can Patchwork prove the evidence relationships it claims should exist?
|
|
3
|
+
*
|
|
4
|
+
* `evidenceCoverage` answers a flatter question — how many rows carry a
|
|
5
|
+
* correlation id — and that question stops being the useful one as soon as the
|
|
6
|
+
* ledgers start joining. A row without a run reference is not automatically a
|
|
7
|
+
* gap, and a row with one is not automatically connected. Three facts from the
|
|
8
|
+
* live ledgers, each of which breaks the flat reading:
|
|
9
|
+
*
|
|
10
|
+
* 1. Six approval requests carry no correlation id and every one is CORRECT:
|
|
11
|
+
* they are MCP client-session tool calls that never belonged to a run. Two
|
|
12
|
+
* of the four paths into the queue have no run by construction.
|
|
13
|
+
* 2. Seven `privacy_shadow` rows at `rv:1` carry no correlation id, and they
|
|
14
|
+
* are orchestrator task dispatches (`claudeOrchestrator.ts`), not recipe
|
|
15
|
+
* steps. Same shape, different ledger.
|
|
16
|
+
* 3. `runs.jsonl` is an EVENT log: 974 rows resolve to 505 distinct `taskId`s.
|
|
17
|
+
* Anything counted over raw rows double-counts a healthy run.
|
|
18
|
+
*
|
|
19
|
+
* So the unit here is a RELATIONSHIP with an expectation attached, not a field.
|
|
20
|
+
* For each row: was this row supposed to reach a run at all, and if so, does the
|
|
21
|
+
* path resolve?
|
|
22
|
+
*
|
|
23
|
+
* ## The states, and why five rather than two
|
|
24
|
+
*
|
|
25
|
+
* - `connected` — the expected path resolves.
|
|
26
|
+
* - `legacy` — the row predates the version that promises the link.
|
|
27
|
+
* - `notApplicable` — the row was never supposed to have one (see 1 and 2).
|
|
28
|
+
* - `unresolved` — the link names a target that cannot be found.
|
|
29
|
+
* - `defect` — the writer should have supplied a usable link and did not.
|
|
30
|
+
*
|
|
31
|
+
* Collapsing `legacy` or `notApplicable` into `defect` is what makes a coverage
|
|
32
|
+
* number permanently red, and a permanently-red number is one nobody reads. The
|
|
33
|
+
* distinction is the whole point: six missing correlation ids sound broken until
|
|
34
|
+
* you establish that all six are client-session calls.
|
|
35
|
+
*
|
|
36
|
+
* `unresolved` is deliberately NOT folded into `defect` either. "The evidence
|
|
37
|
+
* named a run and the run is gone" is a different fact from "the writer never
|
|
38
|
+
* wrote one", and the difference will matter more once retention exists — an
|
|
39
|
+
* aged-out target is governance working as configured, not a broken chain.
|
|
40
|
+
*
|
|
41
|
+
* ## Integrity
|
|
42
|
+
*
|
|
43
|
+
* integrity = connected / (connected + defect + unresolved)
|
|
44
|
+
*
|
|
45
|
+
* Legacy and not-applicable rows are counted and shown, and excluded from the
|
|
46
|
+
* denominator. Scoring against every row ever written would let history make a
|
|
47
|
+
* healthy system look broken forever.
|
|
48
|
+
*
|
|
49
|
+
* ## Counts only, never contents
|
|
50
|
+
*
|
|
51
|
+
* Same rule as `evidenceCoverage`: a correlation id IS a run's `taskId`, so
|
|
52
|
+
* nothing here returns a row, an id or any value — only counts and names.
|
|
53
|
+
*/
|
|
54
|
+
export type RelationState = "connected" | "legacy" | "notApplicable" | "unresolved" | "defect";
|
|
55
|
+
export interface RelationshipCoverage {
|
|
56
|
+
/** e.g. "gate decision → run". */
|
|
57
|
+
name: string;
|
|
58
|
+
/** One line an operator can act on when this relationship is not clean. */
|
|
59
|
+
note: string;
|
|
60
|
+
connected: number;
|
|
61
|
+
legacy: number;
|
|
62
|
+
notApplicable: number;
|
|
63
|
+
unresolved: number;
|
|
64
|
+
defect: number;
|
|
65
|
+
/** `connected / (connected + defect + unresolved)`; null when nothing expected. */
|
|
66
|
+
integrity: number | null;
|
|
67
|
+
}
|
|
68
|
+
export interface EvidenceRelationships {
|
|
69
|
+
dir: string;
|
|
70
|
+
relationships: RelationshipCoverage[];
|
|
71
|
+
/** Distinct `taskId`s after collapsing the run event log. */
|
|
72
|
+
distinctRuns: number;
|
|
73
|
+
/** Raw rows in `runs.jsonl`, kept so the collapse is visible rather than implied. */
|
|
74
|
+
runRows: number;
|
|
75
|
+
/** Rows that would not parse, per file. Reported, never silently skipped. */
|
|
76
|
+
corrupt: number;
|
|
77
|
+
}
|
|
78
|
+
export declare function evidenceRelationships(dir?: string): EvidenceRelationships;
|
|
79
|
+
/**
|
|
80
|
+
* Render for a human.
|
|
81
|
+
*
|
|
82
|
+
* Leads with the raw counts and puts the percentage last, for the same reason
|
|
83
|
+
* `evidenceCoverage` leads with the denominator: "98%" reads as a verdict,
|
|
84
|
+
* "59 connected · 1 defect" is the fact someone can act on.
|
|
85
|
+
*/
|
|
86
|
+
export declare function formatEvidenceRelationships(r: EvidenceRelationships): string;
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Can Patchwork prove the evidence relationships it claims should exist?
|
|
3
|
+
*
|
|
4
|
+
* `evidenceCoverage` answers a flatter question — how many rows carry a
|
|
5
|
+
* correlation id — and that question stops being the useful one as soon as the
|
|
6
|
+
* ledgers start joining. A row without a run reference is not automatically a
|
|
7
|
+
* gap, and a row with one is not automatically connected. Three facts from the
|
|
8
|
+
* live ledgers, each of which breaks the flat reading:
|
|
9
|
+
*
|
|
10
|
+
* 1. Six approval requests carry no correlation id and every one is CORRECT:
|
|
11
|
+
* they are MCP client-session tool calls that never belonged to a run. Two
|
|
12
|
+
* of the four paths into the queue have no run by construction.
|
|
13
|
+
* 2. Seven `privacy_shadow` rows at `rv:1` carry no correlation id, and they
|
|
14
|
+
* are orchestrator task dispatches (`claudeOrchestrator.ts`), not recipe
|
|
15
|
+
* steps. Same shape, different ledger.
|
|
16
|
+
* 3. `runs.jsonl` is an EVENT log: 974 rows resolve to 505 distinct `taskId`s.
|
|
17
|
+
* Anything counted over raw rows double-counts a healthy run.
|
|
18
|
+
*
|
|
19
|
+
* So the unit here is a RELATIONSHIP with an expectation attached, not a field.
|
|
20
|
+
* For each row: was this row supposed to reach a run at all, and if so, does the
|
|
21
|
+
* path resolve?
|
|
22
|
+
*
|
|
23
|
+
* ## The states, and why five rather than two
|
|
24
|
+
*
|
|
25
|
+
* - `connected` — the expected path resolves.
|
|
26
|
+
* - `legacy` — the row predates the version that promises the link.
|
|
27
|
+
* - `notApplicable` — the row was never supposed to have one (see 1 and 2).
|
|
28
|
+
* - `unresolved` — the link names a target that cannot be found.
|
|
29
|
+
* - `defect` — the writer should have supplied a usable link and did not.
|
|
30
|
+
*
|
|
31
|
+
* Collapsing `legacy` or `notApplicable` into `defect` is what makes a coverage
|
|
32
|
+
* number permanently red, and a permanently-red number is one nobody reads. The
|
|
33
|
+
* distinction is the whole point: six missing correlation ids sound broken until
|
|
34
|
+
* you establish that all six are client-session calls.
|
|
35
|
+
*
|
|
36
|
+
* `unresolved` is deliberately NOT folded into `defect` either. "The evidence
|
|
37
|
+
* named a run and the run is gone" is a different fact from "the writer never
|
|
38
|
+
* wrote one", and the difference will matter more once retention exists — an
|
|
39
|
+
* aged-out target is governance working as configured, not a broken chain.
|
|
40
|
+
*
|
|
41
|
+
* ## Integrity
|
|
42
|
+
*
|
|
43
|
+
* integrity = connected / (connected + defect + unresolved)
|
|
44
|
+
*
|
|
45
|
+
* Legacy and not-applicable rows are counted and shown, and excluded from the
|
|
46
|
+
* denominator. Scoring against every row ever written would let history make a
|
|
47
|
+
* healthy system look broken forever.
|
|
48
|
+
*
|
|
49
|
+
* ## Counts only, never contents
|
|
50
|
+
*
|
|
51
|
+
* Same rule as `evidenceCoverage`: a correlation id IS a run's `taskId`, so
|
|
52
|
+
* nothing here returns a row, an id or any value — only counts and names.
|
|
53
|
+
*/
|
|
54
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
55
|
+
import path from "node:path";
|
|
56
|
+
import { patchworkHome } from "./patchworkHome.js";
|
|
57
|
+
function readRows(dir, file) {
|
|
58
|
+
const full = path.join(dir, file);
|
|
59
|
+
if (!existsSync(full))
|
|
60
|
+
return { rows: [], corrupt: 0 };
|
|
61
|
+
let text;
|
|
62
|
+
try {
|
|
63
|
+
text = readFileSync(full, "utf-8");
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return { rows: [], corrupt: 1 };
|
|
67
|
+
}
|
|
68
|
+
const rows = [];
|
|
69
|
+
let corrupt = 0;
|
|
70
|
+
for (const line of text.split("\n")) {
|
|
71
|
+
const t = line.trim();
|
|
72
|
+
if (!t)
|
|
73
|
+
continue;
|
|
74
|
+
try {
|
|
75
|
+
rows.push(JSON.parse(t));
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
corrupt++;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return { rows, corrupt };
|
|
82
|
+
}
|
|
83
|
+
const str = (r, k) => typeof r[k] === "string" && r[k] !== "" ? r[k] : undefined;
|
|
84
|
+
const num = (r, k) => typeof r[k] === "number" && Number.isFinite(r[k])
|
|
85
|
+
? r[k]
|
|
86
|
+
: undefined;
|
|
87
|
+
/**
|
|
88
|
+
* Collapse the run event log to the set of distinct `taskId`s.
|
|
89
|
+
*
|
|
90
|
+
* `runs.jsonl` writes a `running` row and then a terminal row for the same run,
|
|
91
|
+
* so the raw row count is ~2x the number of runs. A coverage denominator over
|
|
92
|
+
* rows would count a healthy run twice and drift as the ratio changes.
|
|
93
|
+
*/
|
|
94
|
+
function runIds(dir) {
|
|
95
|
+
// Reads the rotation archive alongside the live file, for the same reason
|
|
96
|
+
// trust replay does (#1337): `runs.jsonl` is capped by BYTES, so a run can
|
|
97
|
+
// rotate out while the evidence that names it is still current. Ignoring the
|
|
98
|
+
// archive would report a healthy join as `unresolved` purely because the log
|
|
99
|
+
// grew.
|
|
100
|
+
const live = readRows(dir, "runs.jsonl");
|
|
101
|
+
const archived = readRows(dir, "runs.jsonl.1");
|
|
102
|
+
const ids = new Set();
|
|
103
|
+
for (const r of [...live.rows, ...archived.rows]) {
|
|
104
|
+
const t = str(r, "taskId");
|
|
105
|
+
if (t)
|
|
106
|
+
ids.add(t);
|
|
107
|
+
}
|
|
108
|
+
return { ids, rows: live.rows.length + archived.rows.length };
|
|
109
|
+
}
|
|
110
|
+
function tally(name, note, items) {
|
|
111
|
+
const c = {
|
|
112
|
+
connected: 0,
|
|
113
|
+
legacy: 0,
|
|
114
|
+
notApplicable: 0,
|
|
115
|
+
unresolved: 0,
|
|
116
|
+
defect: 0,
|
|
117
|
+
};
|
|
118
|
+
for (const i of items)
|
|
119
|
+
c[i.state]++;
|
|
120
|
+
const denom = c.connected + c.defect + c.unresolved;
|
|
121
|
+
return {
|
|
122
|
+
name,
|
|
123
|
+
note,
|
|
124
|
+
...c,
|
|
125
|
+
integrity: denom === 0 ? null : c.connected / denom,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Classify a row whose link should point at a run.
|
|
130
|
+
*
|
|
131
|
+
* `expected` is decided by the CALLER, because whether a run was ever in scope
|
|
132
|
+
* is a property of the writing path and not of the row's shape.
|
|
133
|
+
*/
|
|
134
|
+
function toRun(row, field, expected, runs) {
|
|
135
|
+
if (expected === "legacy")
|
|
136
|
+
return { state: "legacy" };
|
|
137
|
+
if (expected === "notApplicable")
|
|
138
|
+
return { state: "notApplicable" };
|
|
139
|
+
const id = str(row, field);
|
|
140
|
+
if (!id)
|
|
141
|
+
return { state: "defect" };
|
|
142
|
+
return { state: runs.has(id) ? "connected" : "unresolved" };
|
|
143
|
+
}
|
|
144
|
+
export function evidenceRelationships(dir = patchworkHome()) {
|
|
145
|
+
const { ids: runs, rows: runRows } = runIds(dir);
|
|
146
|
+
let corrupt = 0;
|
|
147
|
+
const gate = readRows(dir, "worker_gate_decisions.jsonl");
|
|
148
|
+
const receipts = readRows(dir, "boundary_receipts.jsonl");
|
|
149
|
+
const shadow = readRows(dir, "privacy_shadow.jsonl");
|
|
150
|
+
const appr = readRows(dir, "approval_log.jsonl");
|
|
151
|
+
corrupt += gate.corrupt + receipts.corrupt + shadow.corrupt + appr.corrupt;
|
|
152
|
+
const rel = [];
|
|
153
|
+
// --- gate decisions -----------------------------------------------------
|
|
154
|
+
// Every gate decision happens inside a run — `buildWorkerAutonomyGate` is
|
|
155
|
+
// wired from one site — so at rv>=1 there is no legitimate "had no run".
|
|
156
|
+
rel.push(tally("gate decision → run", "a decision at rv>=1 with no run reference is a writer defect: every gate decision happens inside a run", gate.rows.map((r) => toRun(r, "correlationId", (num(r, "rv") ?? 0) >= 1 ? "yes" : "legacy", runs))));
|
|
157
|
+
rel.push(tally("gate decision → rule", "at rv>=2 every decision names the rule that decided it; absence is a writer defect", gate.rows.map((r) => {
|
|
158
|
+
if ((num(r, "rv") ?? 0) < 2)
|
|
159
|
+
return { state: "legacy" };
|
|
160
|
+
return {
|
|
161
|
+
state: str(r, "ruleId")
|
|
162
|
+
? "connected"
|
|
163
|
+
: "defect",
|
|
164
|
+
};
|
|
165
|
+
})));
|
|
166
|
+
// --- boundary receipts --------------------------------------------------
|
|
167
|
+
rel.push(tally("boundary receipt → run", "receipts are written from a dispatch that always has a run id in scope", receipts.rows.map((r) => toRun(r, "correlationId", (num(r, "rv") ?? 0) >= 1 ? "yes" : "legacy", runs))));
|
|
168
|
+
// --- privacy shadow -----------------------------------------------------
|
|
169
|
+
// Source-aware: a shadow row from the ORCHESTRATOR path is a task dispatch,
|
|
170
|
+
// not a recipe step, and has no run by construction. `recipeName` is the
|
|
171
|
+
// discriminator — the recipe path always sets it.
|
|
172
|
+
rel.push(tally("privacy shadow → run", "orchestrator dispatches legitimately have no run; only recipe-step rows are expected to join", shadow.rows.map((r) => toRun(r, "correlationId", (num(r, "rv") ?? 0) < 1
|
|
173
|
+
? "legacy"
|
|
174
|
+
: str(r, "recipeName")
|
|
175
|
+
? "yes"
|
|
176
|
+
: "notApplicable", runs))));
|
|
177
|
+
// --- approvals ----------------------------------------------------------
|
|
178
|
+
// Source-aware again: two of the four paths into the queue are MCP
|
|
179
|
+
// client-session tool calls with no run. `sessionId` is the discriminator.
|
|
180
|
+
const requests = appr.rows.filter((r) => str(r, "kind") === "request");
|
|
181
|
+
const requestIds = new Set(requests.map((r) => str(r, "callId")).filter((v) => !!v));
|
|
182
|
+
rel.push(tally("approval request → run", "client-session (MCP) approvals never belonged to a run; only recipe/worker requests are expected to join", requests.map((r) => {
|
|
183
|
+
const s = str(r, "sessionId") ?? "";
|
|
184
|
+
const fromRun = s.startsWith("recipe") || s.startsWith("worker:");
|
|
185
|
+
return toRun(r, "correlationId", (num(r, "rv") ?? 0) < 1
|
|
186
|
+
? "legacy"
|
|
187
|
+
: fromRun
|
|
188
|
+
? "yes"
|
|
189
|
+
: "notApplicable", runs);
|
|
190
|
+
})));
|
|
191
|
+
// Two-hop: a decision reaches its run THROUGH its request. Scoring decision
|
|
192
|
+
// rows by looking for a run id directly would mark every one of them broken.
|
|
193
|
+
for (const kind of ["decision", "attribution"]) {
|
|
194
|
+
const rows = appr.rows.filter((r) => str(r, "kind") === kind);
|
|
195
|
+
rel.push(tally(`approval ${kind} → request`, `a ${kind} reaches its run through its request; a callId with no request is a broken chain`, rows.map((r) => {
|
|
196
|
+
const cid = str(r, "callId");
|
|
197
|
+
if (!cid)
|
|
198
|
+
return { state: "defect" };
|
|
199
|
+
return {
|
|
200
|
+
state: requestIds.has(cid)
|
|
201
|
+
? "connected"
|
|
202
|
+
: "unresolved",
|
|
203
|
+
};
|
|
204
|
+
})));
|
|
205
|
+
}
|
|
206
|
+
return { dir, relationships: rel, distinctRuns: runs.size, runRows, corrupt };
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Render for a human.
|
|
210
|
+
*
|
|
211
|
+
* Leads with the raw counts and puts the percentage last, for the same reason
|
|
212
|
+
* `evidenceCoverage` leads with the denominator: "98%" reads as a verdict,
|
|
213
|
+
* "59 connected · 1 defect" is the fact someone can act on.
|
|
214
|
+
*/
|
|
215
|
+
export function formatEvidenceRelationships(r) {
|
|
216
|
+
const L = [];
|
|
217
|
+
L.push("[evidence] can the expected relationships be traversed?");
|
|
218
|
+
L.push(` ${r.runRows} run rows collapse to ${r.distinctRuns} distinct run(s)` +
|
|
219
|
+
(r.corrupt > 0 ? ` · ${r.corrupt} unparseable line(s)` : ""));
|
|
220
|
+
L.push("");
|
|
221
|
+
const w = Math.max(...r.relationships.map((x) => x.name.length));
|
|
222
|
+
L.push(` ${"relationship".padEnd(w)} conn legacy n/a unres defect integrity`);
|
|
223
|
+
for (const x of r.relationships) {
|
|
224
|
+
const pct = x.integrity === null
|
|
225
|
+
? " —"
|
|
226
|
+
: `${(x.integrity * 100).toFixed(1)}%`.padStart(6);
|
|
227
|
+
L.push(` ${x.name.padEnd(w)} ${String(x.connected).padStart(5)}` +
|
|
228
|
+
` ${String(x.legacy).padStart(6)}` +
|
|
229
|
+
` ${String(x.notApplicable).padStart(4)}` +
|
|
230
|
+
` ${String(x.unresolved).padStart(5)}` +
|
|
231
|
+
` ${String(x.defect).padStart(6)} ${pct}`);
|
|
232
|
+
}
|
|
233
|
+
L.push("");
|
|
234
|
+
const broken = r.relationships.filter((x) => x.defect > 0 || x.unresolved > 0);
|
|
235
|
+
if (broken.length === 0) {
|
|
236
|
+
L.push(" No defects and nothing unresolved — every expected link resolves.");
|
|
237
|
+
L.push(" `legacy` and `n/a` are counted above and excluded from integrity on purpose:");
|
|
238
|
+
L.push(" history and rows that never owed a link must not make a healthy system look broken.");
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
// Name what broke, not a percentage. A number tells you something is wrong;
|
|
242
|
+
// a sentence tells you what to go and look at.
|
|
243
|
+
for (const x of broken) {
|
|
244
|
+
if (x.defect > 0) {
|
|
245
|
+
L.push(` ${x.defect} × ${x.name}: link never written — ${x.note}`);
|
|
246
|
+
}
|
|
247
|
+
if (x.unresolved > 0) {
|
|
248
|
+
L.push(` ${x.unresolved} × ${x.name}: link names a target that cannot be found`);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
L.push("");
|
|
253
|
+
return `${L.join("\n")}\n`;
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=evidenceRelationships.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidenceRelationships.js","sourceRoot":"","sources":["../src/evidenceRelationships.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAoCnD,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACvD,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAClC,CAAC;IACD,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,CAAM,EAAE,CAAS,EAAsB,EAAE,CACpD,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,MAAM,GAAG,GAAG,CAAC,CAAM,EAAE,CAAS,EAAsB,EAAE,CACpD,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAE,CAAC,CAAC,CAAC,CAAY;IAClB,CAAC,CAAC,SAAS,CAAC;AAEhB;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,GAAW;IACzB,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,QAAQ;IACR,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,KAAK,CACZ,IAAY,EACZ,IAAY,EACZ,KAAsC;IAEtC,MAAM,CAAC,GAAG;QACR,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;QACT,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,CAAC;KACV,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC;IACpD,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,GAAG,CAAC;QACJ,SAAS,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK;KACpD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,KAAK,CACZ,GAAQ,EACR,KAAa,EACb,QAA4C,EAC5C,IAAiB;IAEjB,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACtD,IAAI,QAAQ,KAAK,eAAe;QAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IACpE,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,GAAG,GAAG,aAAa,EAAE;IAErB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACjD,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE3E,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,2EAA2E;IAC3E,0EAA0E;IAC1E,yEAAyE;IACzE,GAAG,CAAC,IAAI,CACN,KAAK,CACH,qBAAqB,EACrB,wGAAwG,EACxG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClB,KAAK,CACH,CAAC,EACD,eAAe,EACf,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAC3C,IAAI,CACL,CACF,CACF,CACF,CAAC;IACF,GAAG,CAAC,IAAI,CACN,KAAK,CACH,sBAAsB,EACtB,oFAAoF,EACpF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAClB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,QAAiB,EAAE,CAAC;QACjE,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC;gBACrB,CAAC,CAAE,WAAqB;gBACxB,CAAC,CAAE,QAAkB;SACxB,CAAC;IACJ,CAAC,CAAC,CACH,CACF,CAAC;IAEF,2EAA2E;IAC3E,GAAG,CAAC,IAAI,CACN,KAAK,CACH,wBAAwB,EACxB,wEAAwE,EACxE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtB,KAAK,CACH,CAAC,EACD,eAAe,EACf,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAC3C,IAAI,CACL,CACF,CACF,CACF,CAAC;IAEF,2EAA2E;IAC3E,4EAA4E;IAC5E,yEAAyE;IACzE,kDAAkD;IAClD,GAAG,CAAC,IAAI,CACN,KAAK,CACH,sBAAsB,EACtB,8FAA8F,EAC9F,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,KAAK,CACH,CAAC,EACD,eAAe,EACf,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QACrB,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;YACpB,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,eAAe,EACrB,IAAI,CACL,CACF,CACF,CACF,CAAC;IAEF,2EAA2E;IAC3E,mEAAmE;IACnE,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACtE,CAAC;IACF,GAAG,CAAC,IAAI,CACN,KAAK,CACH,wBAAwB,EACxB,0GAA0G,EAC1G,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACjB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClE,OAAO,KAAK,CACV,CAAC,EACD,eAAe,EACf,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;YACrB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,eAAe,EACrB,IAAI,CACL,CAAC;IACJ,CAAC,CAAC,CACH,CACF,CAAC;IAEF,4EAA4E;IAC5E,6EAA6E;IAC7E,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,aAAa,CAAU,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9D,GAAG,CAAC,IAAI,CACN,KAAK,CACH,YAAY,IAAI,YAAY,EAC5B,KAAK,IAAI,kFAAkF,EAC3F,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,KAAK,EAAE,QAAiB,EAAE,CAAC;YAC9C,OAAO;gBACL,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;oBACxB,CAAC,CAAE,WAAqB;oBACxB,CAAC,CAAE,YAAsB;aAC5B,CAAC;QACJ,CAAC,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,CAAwB;IAClE,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,CAAC,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IAClE,CAAC,CAAC,IAAI,CACJ,KAAK,CAAC,CAAC,OAAO,yBAAyB,CAAC,CAAC,YAAY,kBAAkB;QACrE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CACjE,CAAC;IACF,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,IAAI,CACJ,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,kDAAkD,CAChF,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QAChC,MAAM,GAAG,GACP,CAAC,CAAC,SAAS,KAAK,IAAI;YAClB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC,IAAI,CACJ,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACzD,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACnC,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC1C,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YACvC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAC/C,CAAC;IACJ,CAAC;IACD,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CACxC,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,CAAC,CAAC,IAAI,CACJ,qEAAqE,CACtE,CAAC;QACF,CAAC,CAAC,IAAI,CACJ,gFAAgF,CACjF,CAAC;QACF,CAAC,CAAC,IAAI,CACJ,uFAAuF,CACxF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,4EAA4E;QAC5E,+CAA+C;QAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBACrB,CAAC,CAAC,IAAI,CACJ,KAAK,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,IAAI,4CAA4C,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4399,10 +4399,16 @@ if (process.argv[2] === "evidence") {
|
|
|
4399
4399
|
const dirIdx = args.indexOf("--dir");
|
|
4400
4400
|
const dir = dirIdx !== -1 ? args[dirIdx + 1] : undefined;
|
|
4401
4401
|
const { evidenceCoverage, formatEvidenceCoverage } = await import("./evidenceCoverage.js");
|
|
4402
|
+
const { evidenceRelationships, formatEvidenceRelationships } = await import("./evidenceRelationships.js");
|
|
4402
4403
|
const report = dir ? evidenceCoverage(dir) : evidenceCoverage();
|
|
4404
|
+
// The raw per-ledger counts stay ABOVE the relationship view rather than
|
|
4405
|
+
// being replaced by it. The percentage is the summary; the counts are the
|
|
4406
|
+
// fact, and a reader who distrusts the first should be able to check it
|
|
4407
|
+
// against the second without a second command.
|
|
4408
|
+
const rel = dir ? evidenceRelationships(dir) : evidenceRelationships();
|
|
4403
4409
|
process.stdout.write(args.includes("--json")
|
|
4404
|
-
? `${JSON.stringify(report, null, 2)}\n`
|
|
4405
|
-
: formatEvidenceCoverage(report));
|
|
4410
|
+
? `${JSON.stringify({ ...report, relationships: rel }, null, 2)}\n`
|
|
4411
|
+
: formatEvidenceCoverage(report) + formatEvidenceRelationships(rel));
|
|
4406
4412
|
// Always 0: this is a REPORT, not a gate. Zero joinable rows is a true
|
|
4407
4413
|
// and expected state early on, and exiting non-zero for it would make a
|
|
4408
4414
|
// correct answer look like a failure.
|