@dzhechkov/harness-core 0.3.119 → 0.3.121
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/discrimination-gate.d.ts +81 -0
- package/dist/discrimination-gate.d.ts.map +1 -0
- package/dist/discrimination-gate.js +164 -0
- package/dist/discrimination-gate.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/provenance.d.ts +102 -0
- package/dist/provenance.d.ts.map +1 -0
- package/dist/provenance.js +141 -0
- package/dist/provenance.js.map +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +2 -0
- package/dist/registry.js.map +1 -1
- package/dist/sbom.d.ts +42 -0
- package/dist/sbom.d.ts.map +1 -0
- package/dist/sbom.js +120 -0
- package/dist/sbom.js.map +1 -0
- package/dist/sign.d.ts +13 -0
- package/dist/sign.d.ts.map +1 -1
- package/dist/sign.js +13 -1
- package/dist/sign.js.map +1 -1
- package/package.json +3 -3
- package/src/discrimination-gate.ts +238 -0
- package/src/index.ts +1 -0
- package/src/registry.ts +1 -0
- package/src/sign.ts +22 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/** The outcome of running one property test in the base (pre-feature) worktree. */
|
|
2
|
+
export type BaseOutcome = 'pass' | 'fail' | 'error';
|
|
3
|
+
/** Per-property verdict after classification. */
|
|
4
|
+
export type DiscriminationVerdict = 'DISCRIMINATES' | 'DISCRIMINATES_VIA_ERROR' | 'NON_DISCRIMINATING' | 'CANNOT_ISOLATE';
|
|
5
|
+
/** A property test mapped from the ADR Confirmation `Required automated check`. */
|
|
6
|
+
export interface PropertyTestRef {
|
|
7
|
+
/** repo-relative path to the NEW test file written for the feature. */
|
|
8
|
+
readonly file: string;
|
|
9
|
+
/** optional test-name filter (e.g. vitest `-t`) to run just the property case. */
|
|
10
|
+
readonly name?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface DiscriminationPlanInput {
|
|
13
|
+
/** the git ref of pre-feature HEAD — the "base" the property test must fail against. */
|
|
14
|
+
readonly baseRef: string;
|
|
15
|
+
/** property test(s) mapped from the ADR Confirmation. Empty ⇒ CANNOT_ISOLATE. */
|
|
16
|
+
readonly propertyTests: readonly PropertyTestRef[];
|
|
17
|
+
/** test-runner command template; sanitized. Default `npx vitest run`. */
|
|
18
|
+
readonly runner?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface DiscriminationPlan {
|
|
21
|
+
/** false ⇒ nothing to run (no isolable test, or every ref rejected as unsafe). */
|
|
22
|
+
readonly runnable: boolean;
|
|
23
|
+
/** why not runnable, when `runnable` is false. */
|
|
24
|
+
readonly reason?: string;
|
|
25
|
+
/** the sanitized base ref actually used. */
|
|
26
|
+
readonly baseRef: string;
|
|
27
|
+
/** the accepted, sanitized targets. */
|
|
28
|
+
readonly targets: readonly PropertyTestRef[];
|
|
29
|
+
/** refs rejected by sanitation, with the reason — surfaced so a rejection is never silent. */
|
|
30
|
+
readonly rejected: readonly {
|
|
31
|
+
readonly file: string;
|
|
32
|
+
readonly reason: string;
|
|
33
|
+
}[];
|
|
34
|
+
/**
|
|
35
|
+
* Ordered shell steps the caller runs: add a detached worktree at baseRef, copy each NEW property test
|
|
36
|
+
* file into it (they do not exist at base), run the runner over the targets, then remove the worktree.
|
|
37
|
+
* `{{WORKTREE}}` is a placeholder the caller substitutes with a fresh temp dir path it owns — the engine
|
|
38
|
+
* never invents a filesystem path. Commands use only sanitized tokens.
|
|
39
|
+
*/
|
|
40
|
+
readonly commands: readonly string[];
|
|
41
|
+
}
|
|
42
|
+
export interface ClassifyInput {
|
|
43
|
+
readonly propertyTests: readonly PropertyTestRef[];
|
|
44
|
+
/** observed base outcome per target file (+optional name), same identity the plan used. */
|
|
45
|
+
readonly results: readonly {
|
|
46
|
+
readonly file: string;
|
|
47
|
+
readonly name?: string;
|
|
48
|
+
readonly outcome: BaseOutcome;
|
|
49
|
+
}[];
|
|
50
|
+
}
|
|
51
|
+
export interface PerTestVerdict {
|
|
52
|
+
readonly file: string;
|
|
53
|
+
readonly name?: string;
|
|
54
|
+
readonly verdict: DiscriminationVerdict;
|
|
55
|
+
}
|
|
56
|
+
export interface DiscriminationFinding {
|
|
57
|
+
/** high only for a proven false green; the rest are advisory. Never a hard blocker (owner decides). */
|
|
58
|
+
readonly severity: 'high' | 'info';
|
|
59
|
+
readonly title: string;
|
|
60
|
+
readonly detail: string;
|
|
61
|
+
}
|
|
62
|
+
export interface DiscriminationResult {
|
|
63
|
+
readonly perTest: readonly PerTestVerdict[];
|
|
64
|
+
/** the gate's overall verdict (worst case across targets). */
|
|
65
|
+
readonly aggregate: DiscriminationVerdict;
|
|
66
|
+
/** the Step-8 finding to fold into 08_qe_report.md — null when everything discriminates cleanly. */
|
|
67
|
+
readonly finding: DiscriminationFinding | null;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Plan the discrimination check. Pure: validates inputs, drops unsafe refs (never silently), and emits the
|
|
71
|
+
* ordered worktree commands. Returns `runnable:false` with a reason when there is nothing safe to run.
|
|
72
|
+
*/
|
|
73
|
+
export declare function planDiscriminationCheck(input: DiscriminationPlanInput): DiscriminationPlan;
|
|
74
|
+
/**
|
|
75
|
+
* Classify observed base outcomes into per-test and aggregate verdicts + a Step-8 finding. A green-at-base
|
|
76
|
+
* property test is the load-bearing failure this gate exists to catch: it is surfaced as a HIGH finding but
|
|
77
|
+
* NEVER auto-aborts (dz's rule — a false gate kills trust; the owner decides). CANNOT_ISOLATE folds into the
|
|
78
|
+
* existing "property untested" finding rather than minting a new severity concept.
|
|
79
|
+
*/
|
|
80
|
+
export declare function classifyDiscrimination(input: ClassifyInput): DiscriminationResult;
|
|
81
|
+
//# sourceMappingURL=discrimination-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discrimination-gate.d.ts","sourceRoot":"","sources":["../src/discrimination-gate.ts"],"names":[],"mappings":"AAcA,mFAAmF;AACnF,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,MAAM,GACN,OAAO,CAAC;AAEZ,iDAAiD;AACjD,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,yBAAyB,GACzB,oBAAoB,GACpB,gBAAgB,CAAC;AAErB,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,SAAS,eAAe,EAAE,CAAC;IACnD,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,8FAA8F;IAC9F,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjF;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,aAAa,EAAE,SAAS,eAAe,EAAE,CAAC;IACnD,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;KAAE,EAAE,CAAC;CAC/G;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,uGAAuG;IACvG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,oGAAoG;IACpG,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAChD;AAsBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CA0C1F;AAiBD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAyDjF"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
// §42 test-discrimination gate for feature-adr Step-8.
|
|
2
|
+
//
|
|
3
|
+
// Grounded in cve-bench/scripts/evaluate.mjs (RuvNet), whose §42 loop proves a regression test actually
|
|
4
|
+
// CATCHES the defect: `base+test → FAIL`, `gold+test → PASS`. feature-adr Step-8 already asserts the ADR's
|
|
5
|
+
// named safety property *has* a test; this gate asserts that test *discriminates* — run the property test(s)
|
|
6
|
+
// in an isolated git worktree at pre-feature HEAD (the "base"), and they MUST go red. A test that stays green
|
|
7
|
+
// without the feature diff does not exercise the property; it is a false green.
|
|
8
|
+
//
|
|
9
|
+
// This module is PURE: it plans the check (which worktree, which targets, what commands) and classifies an
|
|
10
|
+
// observed result. The worktree creation + test execution is I/O performed by the caller (the CLI / the
|
|
11
|
+
// sandboxed workflow), which feeds the observed per-target outcome back into `classifyDiscrimination`. Same
|
|
12
|
+
// pure-engine + injected-data shape as challenge-panel.ts and routing-outcomes.ts, so it is deterministic and
|
|
13
|
+
// unit-testable without a git repo or a test runner.
|
|
14
|
+
/** git-ref-safe characters only; rejects shell metacharacters and traversal that would break out of a token. */
|
|
15
|
+
const SAFE_REF = /^[A-Za-z0-9_][A-Za-z0-9_./~^@{}-]{0,199}$/;
|
|
16
|
+
/**
|
|
17
|
+
* A repo-relative test path. Rejects: absolute / drive / `~`; a `..` segment; a segment starting with `-`
|
|
18
|
+
* (would become an argv option like `--config` injected into the runner); whitespace (word-splitting); and any
|
|
19
|
+
* NUL/backtick/quote/backslash/shell metacharacter. Deliberately strict — a property test path is a plain
|
|
20
|
+
* relative file, and anything exotic is safer rejected (and surfaced) than quoted-and-hoped.
|
|
21
|
+
*/
|
|
22
|
+
const UNSAFE_PATH = /(^\/)|(^[A-Za-z]:)|(^~)|(^-)|(\/-)|(\.\.(\/|\\|$))|[\0`$;&|<>*?"'\n\r\t \\]/;
|
|
23
|
+
const DEFAULT_RUNNER = 'npx vitest run';
|
|
24
|
+
/** a runner must be a plain command with flags — no shell metacharacters that could chain a second command. */
|
|
25
|
+
const UNSAFE_RUNNER = /[\0`$;&|<>()\n\r]/;
|
|
26
|
+
function sanitizeName(name) {
|
|
27
|
+
// a test-name filter is passed as a single-quoted argv; forbid the quote/metacharacters that would escape it.
|
|
28
|
+
if (name.length === 0 || name.length > 200)
|
|
29
|
+
return null;
|
|
30
|
+
if (/[\0`$;&|<>*?"'\n\r\\]/.test(name))
|
|
31
|
+
return null;
|
|
32
|
+
return name;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Plan the discrimination check. Pure: validates inputs, drops unsafe refs (never silently), and emits the
|
|
36
|
+
* ordered worktree commands. Returns `runnable:false` with a reason when there is nothing safe to run.
|
|
37
|
+
*/
|
|
38
|
+
export function planDiscriminationCheck(input) {
|
|
39
|
+
const baseRef = typeof input.baseRef === 'string' ? input.baseRef.trim() : '';
|
|
40
|
+
const rejected = [];
|
|
41
|
+
if (!SAFE_REF.test(baseRef)) {
|
|
42
|
+
return { runnable: false, reason: 'unsafe-or-missing-base-ref', baseRef, targets: [], rejected, commands: [] };
|
|
43
|
+
}
|
|
44
|
+
const runnerRaw = typeof input.runner === 'string' && input.runner.trim() ? input.runner.trim() : DEFAULT_RUNNER;
|
|
45
|
+
const runner = UNSAFE_RUNNER.test(runnerRaw) ? DEFAULT_RUNNER : runnerRaw;
|
|
46
|
+
const targets = [];
|
|
47
|
+
const seen = new Set();
|
|
48
|
+
for (const t of Array.isArray(input.propertyTests) ? input.propertyTests : []) {
|
|
49
|
+
const file = t && typeof t.file === 'string' ? t.file.trim() : '';
|
|
50
|
+
if (!file) {
|
|
51
|
+
rejected.push({ file: String(t?.file ?? ''), reason: 'empty-path' });
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (UNSAFE_PATH.test(file)) {
|
|
55
|
+
rejected.push({ file, reason: 'unsafe-path' });
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
const name = t && typeof t.name === 'string' ? sanitizeName(t.name) : null;
|
|
59
|
+
if (t && typeof t.name === 'string' && name === null) {
|
|
60
|
+
rejected.push({ file, reason: 'unsafe-test-name' });
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
const key = `${file}|${name ?? ''}`;
|
|
64
|
+
if (seen.has(key))
|
|
65
|
+
continue;
|
|
66
|
+
seen.add(key);
|
|
67
|
+
targets.push(name !== null ? { file, name } : { file });
|
|
68
|
+
}
|
|
69
|
+
if (targets.length === 0) {
|
|
70
|
+
return { runnable: false, reason: 'no-isolable-test', baseRef, targets, rejected, commands: [] };
|
|
71
|
+
}
|
|
72
|
+
// `{{WORKTREE}}` is substituted by the caller with a temp dir IT owns; the engine never invents a path.
|
|
73
|
+
// Paths are already metacharacter-free (UNSAFE_PATH), but quote them + use `--` so a leading-dash or spaced
|
|
74
|
+
// path can never become a runner option or split a word — belt-and-suspenders over the sanitation above.
|
|
75
|
+
const commands = [`git worktree add --detach {{WORKTREE}} ${baseRef}`];
|
|
76
|
+
for (const t of targets) {
|
|
77
|
+
commands.push(`mkdir -p "{{WORKTREE}}/$(dirname -- '${t.file}')" && cp -- '${t.file}' "{{WORKTREE}}/${t.file}"`);
|
|
78
|
+
}
|
|
79
|
+
const fileArgs = [...new Set(targets.map((t) => t.file))].map((f) => `'${f}'`).join(' ');
|
|
80
|
+
const nameFilters = targets.filter((t) => t.name).map((t) => `-t '${t.name}'`).join(' ');
|
|
81
|
+
commands.push(`( cd {{WORKTREE}} && ${runner}${nameFilters ? ' ' + nameFilters : ''} -- ${fileArgs} )`);
|
|
82
|
+
commands.push(`git worktree remove --force {{WORKTREE}}`);
|
|
83
|
+
return { runnable: true, baseRef, targets, rejected, commands };
|
|
84
|
+
}
|
|
85
|
+
function verdictFor(outcome) {
|
|
86
|
+
if (outcome === 'fail')
|
|
87
|
+
return 'DISCRIMINATES';
|
|
88
|
+
if (outcome === 'error')
|
|
89
|
+
return 'DISCRIMINATES_VIA_ERROR';
|
|
90
|
+
if (outcome === 'pass')
|
|
91
|
+
return 'NON_DISCRIMINATING';
|
|
92
|
+
return 'CANNOT_ISOLATE'; // no observed result for this target
|
|
93
|
+
}
|
|
94
|
+
/** Severity rank for aggregation — a proven false green is the worst outcome the gate reports. */
|
|
95
|
+
const RANK = {
|
|
96
|
+
NON_DISCRIMINATING: 3,
|
|
97
|
+
CANNOT_ISOLATE: 2,
|
|
98
|
+
DISCRIMINATES_VIA_ERROR: 1,
|
|
99
|
+
DISCRIMINATES: 0,
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Classify observed base outcomes into per-test and aggregate verdicts + a Step-8 finding. A green-at-base
|
|
103
|
+
* property test is the load-bearing failure this gate exists to catch: it is surfaced as a HIGH finding but
|
|
104
|
+
* NEVER auto-aborts (dz's rule — a false gate kills trust; the owner decides). CANNOT_ISOLATE folds into the
|
|
105
|
+
* existing "property untested" finding rather than minting a new severity concept.
|
|
106
|
+
*/
|
|
107
|
+
export function classifyDiscrimination(input) {
|
|
108
|
+
const results = Array.isArray(input.results) ? input.results : [];
|
|
109
|
+
const byKey = new Map();
|
|
110
|
+
for (const r of results) {
|
|
111
|
+
if (r && typeof r.file === 'string')
|
|
112
|
+
byKey.set(`${r.file}|${r.name ?? ''}`, r.outcome);
|
|
113
|
+
}
|
|
114
|
+
const propertyTests = Array.isArray(input.propertyTests) ? input.propertyTests : [];
|
|
115
|
+
if (propertyTests.length === 0) {
|
|
116
|
+
return {
|
|
117
|
+
perTest: [],
|
|
118
|
+
aggregate: 'CANNOT_ISOLATE',
|
|
119
|
+
finding: {
|
|
120
|
+
severity: 'info',
|
|
121
|
+
title: 'discrimination gate: no property test to check',
|
|
122
|
+
detail: 'No test was mapped to the ADR safety property, so discrimination could not be evaluated — this is the existing "property untested" finding.',
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
const perTest = propertyTests.map((t) => {
|
|
127
|
+
const file = typeof t.file === 'string' ? t.file : '';
|
|
128
|
+
const name = typeof t.name === 'string' ? t.name : undefined;
|
|
129
|
+
const outcome = byKey.get(`${file}|${name ?? ''}`);
|
|
130
|
+
const verdict = verdictFor(outcome);
|
|
131
|
+
return name !== undefined ? { file, name, verdict } : { file, verdict };
|
|
132
|
+
});
|
|
133
|
+
let aggregate = 'DISCRIMINATES';
|
|
134
|
+
for (const p of perTest)
|
|
135
|
+
if (RANK[p.verdict] > RANK[aggregate])
|
|
136
|
+
aggregate = p.verdict;
|
|
137
|
+
const falseGreens = perTest.filter((p) => p.verdict === 'NON_DISCRIMINATING');
|
|
138
|
+
let finding = null;
|
|
139
|
+
if (falseGreens.length > 0) {
|
|
140
|
+
finding = {
|
|
141
|
+
severity: 'high',
|
|
142
|
+
title: 'non-discriminating property test (false green)',
|
|
143
|
+
detail: `${falseGreens.length} property test(s) PASS at pre-feature base — they do not exercise the ADR safety property and would stay green even if the fix regressed: ` +
|
|
144
|
+
falseGreens.map((p) => (p.name ? `${p.file} (${p.name})` : p.file)).join(', ') +
|
|
145
|
+
'. Strengthen the assertion so it fails without the feature diff. (Advisory — the pipeline continues; the owner decides.)',
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
else if (aggregate === 'CANNOT_ISOLATE') {
|
|
149
|
+
finding = {
|
|
150
|
+
severity: 'info',
|
|
151
|
+
title: 'discrimination gate: could not run a mapped test',
|
|
152
|
+
detail: 'One or more mapped property tests produced no observed base outcome — folds into the existing "property untested" finding.',
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
else if (aggregate === 'DISCRIMINATES_VIA_ERROR') {
|
|
156
|
+
finding = {
|
|
157
|
+
severity: 'info',
|
|
158
|
+
title: 'discrimination inferred via load error',
|
|
159
|
+
detail: 'The property test could not load at pre-feature base (it references feature code that does not exist yet), so discrimination is INFERRED, not proven by an assertion. Acceptable, but a green-path assertion would be stronger.',
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return { perTest, aggregate, finding };
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=discrimination-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discrimination-gate.js","sourceRoot":"","sources":["../src/discrimination-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export interface ManifestEntry {
|
|
2
|
+
/** pack-relative file path — the stable sort/identity key. */
|
|
3
|
+
readonly path: string;
|
|
4
|
+
/** lowercase hex SHA-256 of the file contents. */
|
|
5
|
+
readonly sha256: string;
|
|
6
|
+
}
|
|
7
|
+
/** The signed payload. */
|
|
8
|
+
export interface Manifest {
|
|
9
|
+
readonly version: 1;
|
|
10
|
+
readonly pack: string;
|
|
11
|
+
readonly packVersion: string;
|
|
12
|
+
/** caller-supplied ISO timestamp (part of the signed payload; no wall-clock inside → deterministic). */
|
|
13
|
+
readonly createdAt?: string;
|
|
14
|
+
/** file digests, sorted by path for a canonical, reproducible payload. */
|
|
15
|
+
readonly entries: readonly ManifestEntry[];
|
|
16
|
+
}
|
|
17
|
+
/** The on-disk `witness.json`: the manifest + its attached verification anchor + signature. */
|
|
18
|
+
export interface Witness extends Manifest {
|
|
19
|
+
/** spki PEM public key (the verification anchor). */
|
|
20
|
+
readonly publicKey: string;
|
|
21
|
+
/** base64 Ed25519 signature over `canonicalPayload(manifest)`. */
|
|
22
|
+
readonly signature: string;
|
|
23
|
+
}
|
|
24
|
+
export interface KeyPairPem {
|
|
25
|
+
readonly publicKey: string;
|
|
26
|
+
readonly privateKey: string;
|
|
27
|
+
}
|
|
28
|
+
/** A file to include in a manifest — content injected, so hashing stays pure. */
|
|
29
|
+
export interface FileInput {
|
|
30
|
+
readonly path: string;
|
|
31
|
+
readonly content: string | Buffer;
|
|
32
|
+
}
|
|
33
|
+
/** Generate an Ed25519 keypair as PEM strings (spki public / pkcs8 private). */
|
|
34
|
+
export declare function generateKeyPairPem(): KeyPairPem;
|
|
35
|
+
/** SHA-256 (lowercase hex) of a buffer or string. */
|
|
36
|
+
export declare function sha256Hex(data: Buffer | string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Build a canonical manifest over injected file contents. Entries are sorted by path so the signed payload is
|
|
39
|
+
* stable regardless of input order. Duplicate paths collapse to the last one seen (after sort, deterministic).
|
|
40
|
+
*/
|
|
41
|
+
export declare function buildManifest(input: {
|
|
42
|
+
pack: string;
|
|
43
|
+
packVersion: string;
|
|
44
|
+
createdAt?: string;
|
|
45
|
+
files: readonly FileInput[];
|
|
46
|
+
}): Manifest;
|
|
47
|
+
/** Sign a manifest with an Ed25519 private-key PEM. Returns a base64 signature. Ed25519 uses a null algorithm. */
|
|
48
|
+
export declare function signManifest(m: Manifest, privateKeyPem: string): string;
|
|
49
|
+
/** Verify a base64 Ed25519 signature over a manifest. Fail-safe: malformed sig/key ⇒ false, never throws. */
|
|
50
|
+
export declare function verifyManifest(m: Manifest, signatureBase64: string, publicKeyPem: string): boolean;
|
|
51
|
+
/** Build + sign into an on-disk witness. */
|
|
52
|
+
export declare function signWitness(input: {
|
|
53
|
+
pack: string;
|
|
54
|
+
packVersion: string;
|
|
55
|
+
createdAt?: string;
|
|
56
|
+
files: readonly FileInput[];
|
|
57
|
+
}, keys: {
|
|
58
|
+
privateKey: string;
|
|
59
|
+
publicKey: string;
|
|
60
|
+
}): Witness;
|
|
61
|
+
export interface DriftEntry {
|
|
62
|
+
readonly path: string;
|
|
63
|
+
readonly expected: string;
|
|
64
|
+
/** current on-disk hash, or null if the file is missing/unreadable. */
|
|
65
|
+
readonly actual: string | null;
|
|
66
|
+
}
|
|
67
|
+
export interface VerifyResult {
|
|
68
|
+
readonly signatureValid: boolean;
|
|
69
|
+
readonly filesIntact: boolean;
|
|
70
|
+
readonly drift: readonly DriftEntry[];
|
|
71
|
+
/** true when an anchor was supplied AND matches the witness's public key; null when no anchor was supplied. */
|
|
72
|
+
readonly anchorMatches: boolean | null;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Verify a witness against the CURRENT on-disk files (injected as {path, content|null}) and, when a trusted
|
|
76
|
+
* anchor public key is supplied, that the witness was signed by THAT key. Pure + fail-safe.
|
|
77
|
+
*/
|
|
78
|
+
export declare function verifyWitness(witness: Witness, currentFiles: readonly {
|
|
79
|
+
path: string;
|
|
80
|
+
content: string | Buffer | null;
|
|
81
|
+
}[], opts?: {
|
|
82
|
+
anchorPublicKey?: string;
|
|
83
|
+
}): VerifyResult;
|
|
84
|
+
export type VerifyStatus = 'pass' | 'block' | 'warn';
|
|
85
|
+
export interface GateVerdict {
|
|
86
|
+
readonly status: VerifyStatus;
|
|
87
|
+
readonly reason: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Classify a verify outcome into the ADR gate posture:
|
|
91
|
+
* - no witness at all → WARN (transitional: the existing unsigned packs must not break)
|
|
92
|
+
* - signature invalid → BLOCK (tamper / corruption)
|
|
93
|
+
* - anchor supplied + mismatch → BLOCK (signed by the wrong key — a re-signed tampered pack)
|
|
94
|
+
* - files drifted → BLOCK (on-disk files differ from what was signed)
|
|
95
|
+
* - signature valid + intact + (no anchor OR anchor matches) → PASS
|
|
96
|
+
* NEVER throws; a hostile/partial input degrades to BLOCK (safe default) rather than a false PASS.
|
|
97
|
+
*/
|
|
98
|
+
export declare function classifyVerify(input: {
|
|
99
|
+
hasWitness: boolean;
|
|
100
|
+
result?: VerifyResult | null;
|
|
101
|
+
}): GateVerdict;
|
|
102
|
+
//# sourceMappingURL=provenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
// Ed25519 witness signing + verification for skill packs (rUv-scout #4).
|
|
2
|
+
//
|
|
3
|
+
// Ported near-verbatim from the shipped TypeScript `agentic-flow/src/harness/provenance.ts` (RuvNet, ADR-075),
|
|
4
|
+
// adapted to a per-pack witness. Ed25519 (Edwards-curve Digital Signature Algorithm) + SHA-256 come from Node's
|
|
5
|
+
// built-in `crypto` — ZERO new dependencies. This module is PURE: build/sign/verify operate over INJECTED file
|
|
6
|
+
// contents (not the filesystem), so they are deterministic and unit-testable without a keypair on disk. The
|
|
7
|
+
// CLI (`dz sign` / `dz verify`) does the filesystem + key I/O. Same pure-engine shape as discrimination-gate.ts.
|
|
8
|
+
//
|
|
9
|
+
// A witness is `{ version, pack, packVersion, createdAt?, entries:[{path, sha256}], publicKey, signature }`. The
|
|
10
|
+
// SIGNED payload is the manifest (everything except publicKey + signature); the publicKey is the attached
|
|
11
|
+
// verification anchor. Because a tamperer could swap the publicKey AND re-sign with their own key, verification
|
|
12
|
+
// ALSO cross-checks the witness's publicKey against a trusted anchor (the committed `keys/dz.pub`) — without
|
|
13
|
+
// that anchor a re-signed tampered pack would verify clean. That cross-check is the load-bearing guard.
|
|
14
|
+
import { generateKeyPairSync, sign as cryptoSign, verify as cryptoVerify, createHash } from 'node:crypto';
|
|
15
|
+
/** Generate an Ed25519 keypair as PEM strings (spki public / pkcs8 private). */
|
|
16
|
+
export function generateKeyPairPem() {
|
|
17
|
+
const { publicKey, privateKey } = generateKeyPairSync('ed25519');
|
|
18
|
+
return {
|
|
19
|
+
publicKey: publicKey.export({ type: 'spki', format: 'pem' }).toString(),
|
|
20
|
+
privateKey: privateKey.export({ type: 'pkcs8', format: 'pem' }).toString(),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/** SHA-256 (lowercase hex) of a buffer or string. */
|
|
24
|
+
export function sha256Hex(data) {
|
|
25
|
+
return createHash('sha256').update(data).digest('hex');
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Build a canonical manifest over injected file contents. Entries are sorted by path so the signed payload is
|
|
29
|
+
* stable regardless of input order. Duplicate paths collapse to the last one seen (after sort, deterministic).
|
|
30
|
+
*/
|
|
31
|
+
export function buildManifest(input) {
|
|
32
|
+
const byPath = new Map();
|
|
33
|
+
for (const f of Array.isArray(input.files) ? input.files : []) {
|
|
34
|
+
if (!f || typeof f.path !== 'string' || f.path.length === 0)
|
|
35
|
+
continue;
|
|
36
|
+
byPath.set(f.path, sha256Hex(f.content ?? ''));
|
|
37
|
+
}
|
|
38
|
+
const entries = [...byPath.entries()]
|
|
39
|
+
.map(([path, sha256]) => ({ path, sha256 }))
|
|
40
|
+
.sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0));
|
|
41
|
+
return {
|
|
42
|
+
version: 1,
|
|
43
|
+
pack: input.pack,
|
|
44
|
+
packVersion: input.packVersion,
|
|
45
|
+
...(input.createdAt ? { createdAt: input.createdAt } : {}),
|
|
46
|
+
entries,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/** Canonical bytes that get signed/verified — stable JSON with a fixed key order; entries already sorted. */
|
|
50
|
+
function canonicalPayload(m) {
|
|
51
|
+
return JSON.stringify({
|
|
52
|
+
version: m.version,
|
|
53
|
+
pack: m.pack,
|
|
54
|
+
packVersion: m.packVersion,
|
|
55
|
+
createdAt: m.createdAt ?? null,
|
|
56
|
+
entries: m.entries.map((e) => ({ path: e.path, sha256: e.sha256 })),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/** Sign a manifest with an Ed25519 private-key PEM. Returns a base64 signature. Ed25519 uses a null algorithm. */
|
|
60
|
+
export function signManifest(m, privateKeyPem) {
|
|
61
|
+
return cryptoSign(null, Buffer.from(canonicalPayload(m), 'utf8'), privateKeyPem).toString('base64');
|
|
62
|
+
}
|
|
63
|
+
/** Verify a base64 Ed25519 signature over a manifest. Fail-safe: malformed sig/key ⇒ false, never throws. */
|
|
64
|
+
export function verifyManifest(m, signatureBase64, publicKeyPem) {
|
|
65
|
+
try {
|
|
66
|
+
return cryptoVerify(null, Buffer.from(canonicalPayload(m), 'utf8'), publicKeyPem, Buffer.from(signatureBase64, 'base64'));
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/** Build + sign into an on-disk witness. */
|
|
73
|
+
export function signWitness(input, keys) {
|
|
74
|
+
const manifest = buildManifest(input);
|
|
75
|
+
return { ...manifest, publicKey: keys.publicKey, signature: signManifest(manifest, keys.privateKey) };
|
|
76
|
+
}
|
|
77
|
+
/** Strip the witness wrapper back to the signed manifest (for re-verification). */
|
|
78
|
+
function manifestOf(w) {
|
|
79
|
+
return {
|
|
80
|
+
version: w.version,
|
|
81
|
+
pack: w.pack,
|
|
82
|
+
packVersion: w.packVersion,
|
|
83
|
+
...(w.createdAt ? { createdAt: w.createdAt } : {}),
|
|
84
|
+
entries: w.entries,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/** Normalise two PEM keys for comparison (ignore surrounding whitespace / line-ending differences). */
|
|
88
|
+
function samePem(a, b) {
|
|
89
|
+
if (typeof a !== 'string' || typeof b !== 'string')
|
|
90
|
+
return false;
|
|
91
|
+
const norm = (s) => s.replace(/\s+/g, '');
|
|
92
|
+
return norm(a).length > 0 && norm(a) === norm(b);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Verify a witness against the CURRENT on-disk files (injected as {path, content|null}) and, when a trusted
|
|
96
|
+
* anchor public key is supplied, that the witness was signed by THAT key. Pure + fail-safe.
|
|
97
|
+
*/
|
|
98
|
+
export function verifyWitness(witness, currentFiles, opts = {}) {
|
|
99
|
+
const signatureValid = verifyManifest(manifestOf(witness), witness.signature, witness.publicKey);
|
|
100
|
+
const current = new Map();
|
|
101
|
+
for (const f of Array.isArray(currentFiles) ? currentFiles : []) {
|
|
102
|
+
if (f && typeof f.path === 'string')
|
|
103
|
+
current.set(f.path, f.content);
|
|
104
|
+
}
|
|
105
|
+
const drift = [];
|
|
106
|
+
for (const e of witness.entries) {
|
|
107
|
+
const c = current.has(e.path) ? current.get(e.path) : null;
|
|
108
|
+
const actual = c === null || c === undefined ? null : sha256Hex(c);
|
|
109
|
+
if (actual !== e.sha256)
|
|
110
|
+
drift.push({ path: e.path, expected: e.sha256, actual });
|
|
111
|
+
}
|
|
112
|
+
const anchorMatches = opts.anchorPublicKey === undefined ? null : samePem(witness.publicKey, opts.anchorPublicKey);
|
|
113
|
+
return { signatureValid, filesIntact: drift.length === 0, drift, anchorMatches };
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Classify a verify outcome into the ADR gate posture:
|
|
117
|
+
* - no witness at all → WARN (transitional: the existing unsigned packs must not break)
|
|
118
|
+
* - signature invalid → BLOCK (tamper / corruption)
|
|
119
|
+
* - anchor supplied + mismatch → BLOCK (signed by the wrong key — a re-signed tampered pack)
|
|
120
|
+
* - files drifted → BLOCK (on-disk files differ from what was signed)
|
|
121
|
+
* - signature valid + intact + (no anchor OR anchor matches) → PASS
|
|
122
|
+
* NEVER throws; a hostile/partial input degrades to BLOCK (safe default) rather than a false PASS.
|
|
123
|
+
*/
|
|
124
|
+
export function classifyVerify(input) {
|
|
125
|
+
if (!input.hasWitness)
|
|
126
|
+
return { status: 'warn', reason: 'no witness.json — pack is unsigned (transitional; not blocked)' };
|
|
127
|
+
const r = input.result;
|
|
128
|
+
if (!r || typeof r !== 'object')
|
|
129
|
+
return { status: 'block', reason: 'witness present but could not be verified' };
|
|
130
|
+
if (!r.signatureValid)
|
|
131
|
+
return { status: 'block', reason: 'Ed25519 signature does not verify — tampered or corrupt witness' };
|
|
132
|
+
if (r.anchorMatches === false)
|
|
133
|
+
return { status: 'block', reason: 'witness public key does not match the trusted keys/dz.pub anchor — signed by the wrong key' };
|
|
134
|
+
if (!r.filesIntact) {
|
|
135
|
+
const n = r.drift.length;
|
|
136
|
+
const missing = r.drift.filter((d) => d.actual === null).length;
|
|
137
|
+
return { status: 'block', reason: `${n} file(s) differ from the signed manifest${missing ? ` (${missing} missing)` : ''} — tampered` };
|
|
138
|
+
}
|
|
139
|
+
return { status: 'pass', reason: r.anchorMatches === true ? 'signature valid, files intact, anchor matches' : 'signature valid, files intact (no anchor supplied)' };
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=provenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../src/provenance.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAoCvD;AAeD,sGAAsG;AACtG,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAmBlF;AAED,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,yBAAyB;AACzB,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAoCvD;AAeD,sGAAsG;AACtG,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAmBlF;AAED,sCAAsC;AACtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,yBAAyB;AACzB,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AA8ED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAmCnD;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAK1F;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAE/F"}
|
package/dist/registry.js
CHANGED