@mmnto/totem 1.80.0 → 1.81.1
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/compiler-schema.d.ts +24 -2
- package/dist/compiler-schema.d.ts.map +1 -1
- package/dist/compiler-schema.js +12 -1
- package/dist/compiler-schema.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/spine/authored-rule.d.ts +1 -0
- package/dist/spine/authored-rule.d.ts.map +1 -1
- package/dist/spine/authored-rule.js +9 -1
- package/dist/spine/authored-rule.js.map +1 -1
- package/dist/spine/candidate-rule.d.ts +11 -0
- package/dist/spine/candidate-rule.d.ts.map +1 -1
- package/dist/spine/candidate-rule.js.map +1 -1
- package/dist/spine/compile.d.ts.map +1 -1
- package/dist/spine/compile.js +30 -2
- package/dist/spine/compile.js.map +1 -1
- package/dist/spine/compile.test.js +86 -0
- package/dist/spine/compile.test.js.map +1 -1
- package/dist/spine/preimage-differential.d.ts +112 -0
- package/dist/spine/preimage-differential.d.ts.map +1 -0
- package/dist/spine/preimage-differential.js +122 -0
- package/dist/spine/preimage-differential.js.map +1 -0
- package/dist/spine/preimage-differential.test.d.ts +2 -0
- package/dist/spine/preimage-differential.test.d.ts.map +1 -0
- package/dist/spine/preimage-differential.test.js +223 -0
- package/dist/spine/preimage-differential.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -399,5 +399,91 @@ describe('runCompileStage — ADR-112 authored compile-feed', () => {
|
|
|
399
399
|
const feed = [base.candidates[0], base.candidates[0]];
|
|
400
400
|
await expect(runCompileStage({ ...base, candidates: feed }, compileDeps({ 'src/a.ts': 'forbiddenCall()' }))).rejects.toThrow(/duplicate classifierLedgerRef/);
|
|
401
401
|
});
|
|
402
|
+
// ── ADR-112 §8/§9 id-unification: firingLabelId ← ruleId (slice C2a) ──
|
|
403
|
+
it('threads the persisted ruleId onto the compiled identity (lessonHash ← ruleId), not the dslSource hash', async () => {
|
|
404
|
+
const rec = authored('alr-id', REGEX_DSL);
|
|
405
|
+
const r = await runCompileStage(toCompileFeed([rec]), compileDeps({ 'src/a.ts': 'forbiddenCall()' }));
|
|
406
|
+
// The compiled rule's identity IS the minted ruleId — the wind-tunnel firingLabelId
|
|
407
|
+
// embeds it, and controls.positive[].targetRuleId joins on it (§6/§8).
|
|
408
|
+
expect(r.compiled[0].rule.lessonHash).toBe(rec.ruleId);
|
|
409
|
+
});
|
|
410
|
+
it('keeps the authored identity STABLE across a dslSource (matcher) edit — §8 no-orphan', () => {
|
|
411
|
+
// Same author + targetDefect → same minted ruleId; only the matcher changes.
|
|
412
|
+
const REGEX_DSL_EDITED = REGEX_DSL.replace('forbiddenCall\\(', 'forbiddenCall2\\(');
|
|
413
|
+
const before = authored('alr-stable', REGEX_DSL);
|
|
414
|
+
const after = authored('alr-stable', REGEX_DSL_EDITED);
|
|
415
|
+
expect(after.ruleId).toBe(before.ruleId); // the id does NOT derive from dslSource
|
|
416
|
+
const compiledBefore = compileCandidate(toCompileFeed([before]).candidates[0], { now: NOW });
|
|
417
|
+
const compiledAfter = compileCandidate(toCompileFeed([after]).candidates[0], { now: NOW });
|
|
418
|
+
expect(compiledBefore.kind).toBe('compiled');
|
|
419
|
+
expect(compiledAfter.kind).toBe('compiled');
|
|
420
|
+
if (compiledBefore.kind === 'compiled' && compiledAfter.kind === 'compiled') {
|
|
421
|
+
// A tightened matcher never orphans the rule's ground-truth labels / controls —
|
|
422
|
+
// the §8 reason dslSource is excluded from identity.
|
|
423
|
+
expect(compiledBefore.rule.lessonHash).toBe(before.ruleId);
|
|
424
|
+
expect(compiledAfter.rule.lessonHash).toBe(before.ruleId);
|
|
425
|
+
}
|
|
426
|
+
});
|
|
427
|
+
it('round-trips a collision-suffixed ruleId (-N) onto the identity verbatim', () => {
|
|
428
|
+
// A second rule by one author on one targetDefect mints `<seed>-1` (§8 disambiguation);
|
|
429
|
+
// the suffix must survive onto lessonHash so distinct matchers never share a firing key.
|
|
430
|
+
const rec = {
|
|
431
|
+
...authored('alr-collide', REGEX_DSL),
|
|
432
|
+
ruleId: '0123456789abcdef-1',
|
|
433
|
+
};
|
|
434
|
+
const out = compileCandidate(toCompileFeed([rec]).candidates[0], { now: NOW });
|
|
435
|
+
expect(out.kind).toBe('compiled');
|
|
436
|
+
if (out.kind === 'compiled')
|
|
437
|
+
expect(out.rule.lessonHash).toBe('0123456789abcdef-1');
|
|
438
|
+
});
|
|
439
|
+
it('leaves a MINED rule keyed on the content hash (no ruleId → dslSource-derived), unchanged', () => {
|
|
440
|
+
// The unification is authored-only: a mined candidate carries no ruleId, so its identity
|
|
441
|
+
// stays the content hash — byte-identical to pre-C2a, and never the authored ruleId.
|
|
442
|
+
const out = compileCandidate(candidateRule(1, REGEX_DSL), { now: NOW });
|
|
443
|
+
expect(out.kind).toBe('compiled');
|
|
444
|
+
if (out.kind === 'compiled') {
|
|
445
|
+
expect(out.rule.lessonHash).toMatch(/^[0-9a-f]{16}$/); // bare content hash, no -N suffix
|
|
446
|
+
expect(out.rule.lessonHash).not.toBe(authored('alr-id', REGEX_DSL).ruleId);
|
|
447
|
+
}
|
|
448
|
+
});
|
|
449
|
+
it('fails loud if an authored candidate reaches the compiler without its persisted ruleId (threading regression)', () => {
|
|
450
|
+
// toCompileFeed always threads it; a hand-built authored candidate missing it would
|
|
451
|
+
// silently re-derive a dslSource-keyed identity and orphan its controls — reject up front.
|
|
452
|
+
const candidate = {
|
|
453
|
+
provenance: authored('alr-missing', REGEX_DSL).provenance,
|
|
454
|
+
classifierDisposition: 'structural',
|
|
455
|
+
classifierLedgerRef: 'authored:alr-missing',
|
|
456
|
+
dslSource: REGEX_DSL,
|
|
457
|
+
declaredEngine: 'regex',
|
|
458
|
+
unverified: true,
|
|
459
|
+
// ruleId intentionally omitted
|
|
460
|
+
};
|
|
461
|
+
expect(() => compileCandidate(candidate, { now: NOW })).toThrow(/missing its persisted ruleId/);
|
|
462
|
+
});
|
|
463
|
+
it('fails loud if a MINED candidate carries a ruleId — the authored-only contract is enforced, not assumed', () => {
|
|
464
|
+
// A mined candidate's identity stays the dslSource-derived hash; a stray ruleId
|
|
465
|
+
// (well-formed or not) must NOT silently re-key it. Gated on isAuthoredProvenance,
|
|
466
|
+
// not the permissive `?? hashLesson` (bot-round: gemini/greptile-P1/CR).
|
|
467
|
+
const candidate = {
|
|
468
|
+
...candidateRule(7, REGEX_DSL),
|
|
469
|
+
ruleId: '0123456789abcdef', // well-formed, yet still rejected for a mined candidate
|
|
470
|
+
};
|
|
471
|
+
expect(() => compileCandidate(candidate, { now: NOW })).toThrow(/must not carry a ruleId/);
|
|
472
|
+
});
|
|
473
|
+
it('fails loud if an authored candidate carries a malformed ruleId — id-shape precondition (greptile-P2)', () => {
|
|
474
|
+
// The seam enthrones the ruleId as the firingLabelId basis, so a malformed id
|
|
475
|
+
// (would orphan controls.positive[].targetRuleId) is rejected at the use site,
|
|
476
|
+
// not just at the schema parse boundary.
|
|
477
|
+
const candidate = {
|
|
478
|
+
provenance: authored('alr-bad', REGEX_DSL).provenance,
|
|
479
|
+
classifierDisposition: 'structural',
|
|
480
|
+
classifierLedgerRef: 'authored:alr-bad',
|
|
481
|
+
dslSource: REGEX_DSL,
|
|
482
|
+
declaredEngine: 'regex',
|
|
483
|
+
ruleId: 'not-a-valid-rule-id',
|
|
484
|
+
unverified: true,
|
|
485
|
+
};
|
|
486
|
+
expect(() => compileCandidate(candidate, { now: NOW })).toThrow(/malformed ruleId/);
|
|
487
|
+
});
|
|
402
488
|
});
|
|
403
489
|
//# sourceMappingURL=compile.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compile.test.js","sourceRoot":"","sources":["../../src/spine/compile.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compile.test.js","sourceRoot":"","sources":["../../src/spine/compile.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADR-112 §4/§6 — the preimage-differential materializer (slice C1: the inert primitive).
|
|
3
|
+
*
|
|
4
|
+
* An authored rule is only a legitimate positive control if its matcher **fires
|
|
5
|
+
* on the defect preimage** and is **silent on the fixed postimage** (§4). A
|
|
6
|
+
* matcher that fires on the *fixed* form is "fix-shaped" — the exact failure
|
|
7
|
+
* mode the miner's honest-negative is made of — and must never be admitted as a
|
|
8
|
+
* legitimate control (Falsifying Metric §1(i)).
|
|
9
|
+
*
|
|
10
|
+
* This module evaluates that differential against a fixture's declared
|
|
11
|
+
* `preimageSource` (lesson-anchored PRIMARY / commit-pair FALLBACK) and reports
|
|
12
|
+
* the raw evidence + a differential-level classification. It is deliberately
|
|
13
|
+
* INERT: it wires nothing into the cert path, mints no §5 run verdict, and emits
|
|
14
|
+
* no controls. Slice C2 consumes this to gate control emission; slice D maps the
|
|
15
|
+
* differential to the ADR-110 §5 terminal vocabulary (PASS / FAIL /
|
|
16
|
+
* HONEST-NEGATIVE). The boundary is load-bearing — `over-match` / `vacuous` here
|
|
17
|
+
* are DIFFERENTIAL outcomes, NOT run verdicts (the scorer owns that).
|
|
18
|
+
*
|
|
19
|
+
* Seam (Tenet-21 reuse): firing goes through `runSmokeGate`, the same
|
|
20
|
+
* role-agnostic engine entry point the compiler's #1408 under-match / #1580
|
|
21
|
+
* over-match checks use — regex and ast-grep, in-memory, no temp file, no diff
|
|
22
|
+
* fabrication, no `firingLabelId` minted here. The lesson source evaluates
|
|
23
|
+
* against the in-record `badExample`/`goodExample` exemplars (contract §5.4), so
|
|
24
|
+
* the lesson path is pure and hermetic — no clock, no network, no filesystem.
|
|
25
|
+
*/
|
|
26
|
+
import type { AuthoredFixture, CompiledRule, PreimageSource } from '../compiler-schema.js';
|
|
27
|
+
/**
|
|
28
|
+
* Differential-level classification of a single fixture's preimage/postimage
|
|
29
|
+
* evaluation. NOT an ADR-110 §5 run verdict (PASS/FAIL/HONEST-NEGATIVE) — the
|
|
30
|
+
* scorer (slice D) maps these to that vocabulary. Keep the boundary explicit.
|
|
31
|
+
*/
|
|
32
|
+
export type PreimageDifferentialOutcome =
|
|
33
|
+
/** Fires on the preimage, silent on the postimage — the legitimate positive control (§4). */
|
|
34
|
+
'differential-holds'
|
|
35
|
+
/**
|
|
36
|
+
* Fires on the postimage (the fixed form) and NOT on the preimage — fix-shaped,
|
|
37
|
+
* the literal Falsifying Metric §1(i). Never a charitable pass.
|
|
38
|
+
*/
|
|
39
|
+
| 'fix-shaped'
|
|
40
|
+
/**
|
|
41
|
+
* Fires on BOTH the preimage and the postimage. The matcher establishes no
|
|
42
|
+
* differential. This is the cert-critical escape the scorer cannot catch on a
|
|
43
|
+
* synthetic exemplar (its positive-control check is fire-on-preimage only, and
|
|
44
|
+
* a single-occurrence defect's fixed form never appears in the real window) —
|
|
45
|
+
* so the silent-on-postimage leg here is the ONLY signal that surfaces it
|
|
46
|
+
* (contract review, ADR-112 §4/§5.3). C2 must gate on it.
|
|
47
|
+
*/
|
|
48
|
+
| 'over-match'
|
|
49
|
+
/** Fires on NEITHER side — the matcher catches nothing (a vacuous control). */
|
|
50
|
+
| 'vacuous-silent'
|
|
51
|
+
/**
|
|
52
|
+
* The engine refused to execute on at least one side (invalid regex, ast-grep
|
|
53
|
+
* runtime throw, an unparseable exemplar, or an engine the smoke gate does not
|
|
54
|
+
* cover) — the differential could not be established. Fail-loud, distinct from
|
|
55
|
+
* a clean no-match; routes to operator adjudication, never a silent pass.
|
|
56
|
+
*/
|
|
57
|
+
| 'needs-adjudication'
|
|
58
|
+
/**
|
|
59
|
+
* The fixture declares a `commit`-pair preimage source — deferred to slice C2
|
|
60
|
+
* (the land-then-fix fallback; lc cert-#1 is lesson-anchored). A typed
|
|
61
|
+
* non-pass that keeps the union total; never treated as a passing control.
|
|
62
|
+
*/
|
|
63
|
+
| 'unsupported-source';
|
|
64
|
+
export interface PreimageDifferentialResult {
|
|
65
|
+
/** The differential-level classification (see `PreimageDifferentialOutcome`). */
|
|
66
|
+
outcome: PreimageDifferentialOutcome;
|
|
67
|
+
/** The fixture's declared preimage-source kind. */
|
|
68
|
+
sourceKind: PreimageSource['kind'];
|
|
69
|
+
/**
|
|
70
|
+
* The matcher fired on the defect preimage. `null` when the preimage could not
|
|
71
|
+
* be evaluated (engine refusal, or an unsupported `commit` source).
|
|
72
|
+
*/
|
|
73
|
+
firesOnPreimage: boolean | null;
|
|
74
|
+
/**
|
|
75
|
+
* The matcher stayed silent on the fixed postimage. `null` when the postimage
|
|
76
|
+
* could not be evaluated (engine refusal, or an unsupported `commit` source).
|
|
77
|
+
*/
|
|
78
|
+
silentOnPostimage: boolean | null;
|
|
79
|
+
/** Engine match count on the preimage exemplar (evidence). `null` when not evaluated. */
|
|
80
|
+
preimageMatchCount: number | null;
|
|
81
|
+
/** Engine match count on the postimage exemplar (evidence). `null` when not evaluated. */
|
|
82
|
+
postimageMatchCount: number | null;
|
|
83
|
+
/** First-line engine/defer reason — present for `needs-adjudication` / `unsupported-source`. */
|
|
84
|
+
reason?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Injection port for the COMMIT-pair preimage source (slice C2). The lesson
|
|
88
|
+
* source (C1) needs none of this — it evaluates against in-record exemplars and
|
|
89
|
+
* stays I/O-free. Declared here so C2's git-tree reads inject through an explicit
|
|
90
|
+
* port (mirroring the cert corpus builder's `Stage4VerifierDeps`) and core never
|
|
91
|
+
* does filesystem/git directly. `evaluatePreimageDifferential` is already async
|
|
92
|
+
* so wiring this in C2 is a non-breaking, additive change.
|
|
93
|
+
*/
|
|
94
|
+
export interface PreimageDifferentialDeps {
|
|
95
|
+
/** Read a file's content as of a given commit SHA (the pre-fix / post-fix tree). */
|
|
96
|
+
readFileAtCommit(commitSha: string, filePath: string): Promise<string>;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Evaluate the ADR-112 §4 preimage-differential for one authored fixture against
|
|
100
|
+
* a compiled rule, switching on the fixture's declared `preimageSource.kind`.
|
|
101
|
+
*
|
|
102
|
+
* Returns the raw evidence (`firesOnPreimage`, `silentOnPostimage`, match counts)
|
|
103
|
+
* plus a differential-level `outcome`. It does NOT mint a §5 run verdict and does
|
|
104
|
+
* NOT emit controls — those are slice C2/D. The `commit` source is a typed
|
|
105
|
+
* non-pass (`unsupported-source`) deferred to C2; the union stays total.
|
|
106
|
+
*
|
|
107
|
+
* Async-from-the-start so C2 can inject `PreimageDifferentialDeps` for git-tree
|
|
108
|
+
* reads without a breaking signature change; the C1 lesson path resolves
|
|
109
|
+
* synchronously under the hood (pure, hermetic).
|
|
110
|
+
*/
|
|
111
|
+
export declare function evaluatePreimageDifferential(rule: CompiledRule, fixture: AuthoredFixture): Promise<PreimageDifferentialResult>;
|
|
112
|
+
//# sourceMappingURL=preimage-differential.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preimage-differential.d.ts","sourceRoot":"","sources":["../../src/spine/preimage-differential.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI3F;;;;GAIG;AACH,MAAM,MAAM,2BAA2B;AACrC,6FAA6F;AAC3F,oBAAoB;AACtB;;;GAGG;GACD,YAAY;AACd;;;;;;;GAOG;GACD,YAAY;AACd,+EAA+E;GAC7E,gBAAgB;AAClB;;;;;GAKG;GACD,oBAAoB;AACtB;;;;GAIG;GACD,oBAAoB,CAAC;AAEzB,MAAM,WAAW,0BAA0B;IACzC,iFAAiF;IACjF,OAAO,EAAE,2BAA2B,CAAC;IACrC,mDAAmD;IACnD,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACnC;;;OAGG;IACH,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,yFAAyF;IACzF,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,0FAA0F;IAC1F,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,oFAAoF;IACpF,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxE;AAkFD;;;;;;;;;;;;GAYG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,0BAA0B,CAAC,CAgBrC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADR-112 §4/§6 — the preimage-differential materializer (slice C1: the inert primitive).
|
|
3
|
+
*
|
|
4
|
+
* An authored rule is only a legitimate positive control if its matcher **fires
|
|
5
|
+
* on the defect preimage** and is **silent on the fixed postimage** (§4). A
|
|
6
|
+
* matcher that fires on the *fixed* form is "fix-shaped" — the exact failure
|
|
7
|
+
* mode the miner's honest-negative is made of — and must never be admitted as a
|
|
8
|
+
* legitimate control (Falsifying Metric §1(i)).
|
|
9
|
+
*
|
|
10
|
+
* This module evaluates that differential against a fixture's declared
|
|
11
|
+
* `preimageSource` (lesson-anchored PRIMARY / commit-pair FALLBACK) and reports
|
|
12
|
+
* the raw evidence + a differential-level classification. It is deliberately
|
|
13
|
+
* INERT: it wires nothing into the cert path, mints no §5 run verdict, and emits
|
|
14
|
+
* no controls. Slice C2 consumes this to gate control emission; slice D maps the
|
|
15
|
+
* differential to the ADR-110 §5 terminal vocabulary (PASS / FAIL /
|
|
16
|
+
* HONEST-NEGATIVE). The boundary is load-bearing — `over-match` / `vacuous` here
|
|
17
|
+
* are DIFFERENTIAL outcomes, NOT run verdicts (the scorer owns that).
|
|
18
|
+
*
|
|
19
|
+
* Seam (Tenet-21 reuse): firing goes through `runSmokeGate`, the same
|
|
20
|
+
* role-agnostic engine entry point the compiler's #1408 under-match / #1580
|
|
21
|
+
* over-match checks use — regex and ast-grep, in-memory, no temp file, no diff
|
|
22
|
+
* fabrication, no `firingLabelId` minted here. The lesson source evaluates
|
|
23
|
+
* against the in-record `badExample`/`goodExample` exemplars (contract §5.4), so
|
|
24
|
+
* the lesson path is pure and hermetic — no clock, no network, no filesystem.
|
|
25
|
+
*/
|
|
26
|
+
import { runSmokeGate } from '../compile-smoke-gate.js';
|
|
27
|
+
// ─── Classification ─────────────────────────────────
|
|
28
|
+
function classifyDifferential(firesOnPreimage, silentOnPostimage) {
|
|
29
|
+
if (firesOnPreimage && silentOnPostimage)
|
|
30
|
+
return 'differential-holds';
|
|
31
|
+
if (firesOnPreimage && !silentOnPostimage)
|
|
32
|
+
return 'over-match';
|
|
33
|
+
if (!firesOnPreimage && silentOnPostimage)
|
|
34
|
+
return 'vacuous-silent';
|
|
35
|
+
return 'fix-shaped';
|
|
36
|
+
}
|
|
37
|
+
// ─── Lesson-anchored differential (C1) ──────────────
|
|
38
|
+
function evaluateLessonDifferential(rule, source) {
|
|
39
|
+
const pre = runSmokeGate(rule, source.badExample);
|
|
40
|
+
const post = runSmokeGate(rule, source.goodExample);
|
|
41
|
+
// An exemplar with no evaluable code cannot establish a differential. Two
|
|
42
|
+
// ways that happens: (1) the engine REFUSES to run — invalid regex, ast-grep
|
|
43
|
+
// throw, uncovered engine — which `runSmokeGate` reports via `reason`; (2) the
|
|
44
|
+
// exemplar is empty/whitespace-only, which `runSmokeGate` instead reports as a
|
|
45
|
+
// CLEAN no-match (no `reason`) — and that would vacuously read as
|
|
46
|
+
// silent-on-postimage / fires-on-neither, masking that one side had nothing to
|
|
47
|
+
// evaluate (an empty postimage falsely reading as `differential-holds` is the
|
|
48
|
+
// dishonest control this primitive exists to catch). The schema enforces
|
|
49
|
+
// non-empty exemplars, but this is a public primitive reachable by direct
|
|
50
|
+
// (unparsed) construction, so it defends its own contract: either condition on
|
|
51
|
+
// either side → `needs-adjudication`, fail-loud, never a silent clean result.
|
|
52
|
+
const preUnevaluable = source.badExample.trim().length === 0 || pre.reason !== undefined;
|
|
53
|
+
const postUnevaluable = source.goodExample.trim().length === 0 || post.reason !== undefined;
|
|
54
|
+
if (preUnevaluable || postUnevaluable) {
|
|
55
|
+
const reason = (source.badExample.trim().length === 0
|
|
56
|
+
? 'badExample (the defect preimage) is empty or whitespace-only — no evaluable code to establish the differential'
|
|
57
|
+
: pre.reason) ??
|
|
58
|
+
(source.goodExample.trim().length === 0
|
|
59
|
+
? 'goodExample (the fixed postimage) is empty or whitespace-only — no evaluable code to establish the differential'
|
|
60
|
+
: post.reason);
|
|
61
|
+
return {
|
|
62
|
+
outcome: 'needs-adjudication',
|
|
63
|
+
sourceKind: 'lesson',
|
|
64
|
+
firesOnPreimage: preUnevaluable ? null : pre.matched,
|
|
65
|
+
silentOnPostimage: postUnevaluable ? null : !post.matched,
|
|
66
|
+
preimageMatchCount: preUnevaluable ? null : pre.matchCount,
|
|
67
|
+
postimageMatchCount: postUnevaluable ? null : post.matchCount,
|
|
68
|
+
reason,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
const firesOnPreimage = pre.matched;
|
|
72
|
+
const silentOnPostimage = !post.matched;
|
|
73
|
+
return {
|
|
74
|
+
outcome: classifyDifferential(firesOnPreimage, silentOnPostimage),
|
|
75
|
+
sourceKind: 'lesson',
|
|
76
|
+
firesOnPreimage,
|
|
77
|
+
silentOnPostimage,
|
|
78
|
+
preimageMatchCount: pre.matchCount,
|
|
79
|
+
postimageMatchCount: post.matchCount,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function deferredCommitResult() {
|
|
83
|
+
return {
|
|
84
|
+
outcome: 'unsupported-source',
|
|
85
|
+
sourceKind: 'commit',
|
|
86
|
+
firesOnPreimage: null,
|
|
87
|
+
silentOnPostimage: null,
|
|
88
|
+
preimageMatchCount: null,
|
|
89
|
+
postimageMatchCount: null,
|
|
90
|
+
reason: 'commit-pair preimage source is deferred to slice C2 (land-then-fix fallback); lc cert-#1 is lesson-anchored',
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
// ─── Public API ─────────────────────────────────────
|
|
94
|
+
/**
|
|
95
|
+
* Evaluate the ADR-112 §4 preimage-differential for one authored fixture against
|
|
96
|
+
* a compiled rule, switching on the fixture's declared `preimageSource.kind`.
|
|
97
|
+
*
|
|
98
|
+
* Returns the raw evidence (`firesOnPreimage`, `silentOnPostimage`, match counts)
|
|
99
|
+
* plus a differential-level `outcome`. It does NOT mint a §5 run verdict and does
|
|
100
|
+
* NOT emit controls — those are slice C2/D. The `commit` source is a typed
|
|
101
|
+
* non-pass (`unsupported-source`) deferred to C2; the union stays total.
|
|
102
|
+
*
|
|
103
|
+
* Async-from-the-start so C2 can inject `PreimageDifferentialDeps` for git-tree
|
|
104
|
+
* reads without a breaking signature change; the C1 lesson path resolves
|
|
105
|
+
* synchronously under the hood (pure, hermetic).
|
|
106
|
+
*/
|
|
107
|
+
export async function evaluatePreimageDifferential(rule, fixture) {
|
|
108
|
+
const source = fixture.preimageSource;
|
|
109
|
+
switch (source.kind) {
|
|
110
|
+
case 'lesson':
|
|
111
|
+
return evaluateLessonDifferential(rule, source);
|
|
112
|
+
case 'commit':
|
|
113
|
+
return deferredCommitResult();
|
|
114
|
+
default: {
|
|
115
|
+
// Exhaustiveness backstop: a future `PreimageSource` kind must be handled
|
|
116
|
+
// explicitly, never silently admitted as a passing control.
|
|
117
|
+
const _exhaustive = source;
|
|
118
|
+
throw new Error(`[Totem Error] evaluatePreimageDifferential: unknown preimageSource kind '${String(_exhaustive.kind)}'`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=preimage-differential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preimage-differential.js","sourceRoot":"","sources":["../../src/spine/preimage-differential.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preimage-differential.test.d.ts","sourceRoot":"","sources":["../../src/spine/preimage-differential.test.ts"],"names":[],"mappings":""}
|