@mmnto/totem 1.87.0 → 1.89.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/sarif.d.ts +17 -0
- package/dist/sarif.d.ts.map +1 -1
- package/dist/sarif.js +71 -5
- package/dist/sarif.js.map +1 -1
- package/dist/sarif.test.js +94 -1
- package/dist/sarif.test.js.map +1 -1
- package/dist/spine/authored-controls.d.ts +8 -0
- package/dist/spine/authored-controls.d.ts.map +1 -1
- package/dist/spine/authored-controls.js +15 -5
- package/dist/spine/authored-controls.js.map +1 -1
- package/dist/spine/authored-controls.test.js +31 -0
- package/dist/spine/authored-controls.test.js.map +1 -1
- package/dist/spine/authored-freeze-gates.d.ts +45 -0
- package/dist/spine/authored-freeze-gates.d.ts.map +1 -0
- package/dist/spine/authored-freeze-gates.js +167 -0
- package/dist/spine/authored-freeze-gates.js.map +1 -0
- package/dist/spine/authored-freeze-gates.test.d.ts +2 -0
- package/dist/spine/authored-freeze-gates.test.d.ts.map +1 -0
- package/dist/spine/authored-freeze-gates.test.js +159 -0
- package/dist/spine/authored-freeze-gates.test.js.map +1 -0
- package/dist/spine/authored-rule.d.ts +10 -0
- package/dist/spine/authored-rule.d.ts.map +1 -1
- package/dist/spine/authored-rule.js +11 -0
- package/dist/spine/authored-rule.js.map +1 -1
- package/dist/spine/authoring-ledger.d.ts +28 -0
- package/dist/spine/authoring-ledger.d.ts.map +1 -1
- package/dist/spine/authoring-ledger.js +27 -0
- package/dist/spine/authoring-ledger.js.map +1 -1
- package/dist/spine/authoring-ledger.test.js +8 -0
- package/dist/spine/authoring-ledger.test.js.map +1 -1
- package/dist/spine/cert-corpus-seed.d.ts +38 -8
- package/dist/spine/cert-corpus-seed.d.ts.map +1 -1
- package/dist/spine/cert-corpus-seed.js +52 -1
- package/dist/spine/cert-corpus-seed.js.map +1 -1
- package/dist/spine/cert-corpus-seed.test.js +76 -0
- package/dist/spine/cert-corpus-seed.test.js.map +1 -1
- package/dist/spine/frozen-split.d.ts +541 -0
- package/dist/spine/frozen-split.d.ts.map +1 -0
- package/dist/spine/frozen-split.js +205 -0
- package/dist/spine/frozen-split.js.map +1 -0
- package/dist/spine/frozen-split.test.d.ts +2 -0
- package/dist/spine/frozen-split.test.d.ts.map +1 -0
- package/dist/spine/frozen-split.test.js +89 -0
- package/dist/spine/frozen-split.test.js.map +1 -0
- package/dist/spine/gate2-eligibility.d.ts +33 -0
- package/dist/spine/gate2-eligibility.d.ts.map +1 -0
- package/dist/spine/gate2-eligibility.js +54 -0
- package/dist/spine/gate2-eligibility.js.map +1 -0
- package/dist/spine/gate2-eligibility.test.d.ts +2 -0
- package/dist/spine/gate2-eligibility.test.d.ts.map +1 -0
- package/dist/spine/gate2-eligibility.test.js +252 -0
- package/dist/spine/gate2-eligibility.test.js.map +1 -0
- package/dist/spine/ledgers.d.ts +24 -0
- package/dist/spine/ledgers.d.ts.map +1 -1
- package/dist/spine/split.d.ts +16 -0
- package/dist/spine/split.d.ts.map +1 -1
- package/dist/spine/split.js +13 -0
- package/dist/spine/split.js.map +1 -1
- package/dist/spine/windtunnel-firing.d.ts +6 -2
- package/dist/spine/windtunnel-firing.d.ts.map +1 -1
- package/dist/spine/windtunnel-firing.js.map +1 -1
- package/dist/spine/windtunnel-lock.d.ts +4 -4
- package/dist/spine/windtunnel-scorer-authored.d.ts +70 -0
- package/dist/spine/windtunnel-scorer-authored.d.ts.map +1 -0
- package/dist/spine/windtunnel-scorer-authored.js +204 -0
- package/dist/spine/windtunnel-scorer-authored.js.map +1 -0
- package/dist/spine/windtunnel-scorer-authored.test.d.ts +2 -0
- package/dist/spine/windtunnel-scorer-authored.test.d.ts.map +1 -0
- package/dist/spine/windtunnel-scorer-authored.test.js +455 -0
- package/dist/spine/windtunnel-scorer-authored.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windtunnel-firing.js","sourceRoot":"","sources":["../../src/spine/windtunnel-firing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"windtunnel-firing.js","sourceRoot":"","sources":["../../src/spine/windtunnel-firing.ts"],"names":[],"mappings":"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"}
|
|
@@ -298,8 +298,8 @@ export declare const WindtunnelLockSchema: z.ZodEffects<z.ZodObject<{
|
|
|
298
298
|
diffSha?: string | undefined;
|
|
299
299
|
}[];
|
|
300
300
|
};
|
|
301
|
-
canonicalPath: string;
|
|
302
301
|
gate: string;
|
|
302
|
+
canonicalPath: string;
|
|
303
303
|
phase: "harness" | "certifying";
|
|
304
304
|
fpDefinition: {
|
|
305
305
|
rubricRef: string;
|
|
@@ -368,8 +368,8 @@ export declare const WindtunnelLockSchema: z.ZodEffects<z.ZodObject<{
|
|
|
368
368
|
diffSha?: string | undefined;
|
|
369
369
|
}[];
|
|
370
370
|
};
|
|
371
|
-
canonicalPath: string;
|
|
372
371
|
gate: string;
|
|
372
|
+
canonicalPath: string;
|
|
373
373
|
phase: "harness" | "certifying";
|
|
374
374
|
fpDefinition: {
|
|
375
375
|
rubricRef: string;
|
|
@@ -438,8 +438,8 @@ export declare const WindtunnelLockSchema: z.ZodEffects<z.ZodObject<{
|
|
|
438
438
|
diffSha?: string | undefined;
|
|
439
439
|
}[];
|
|
440
440
|
};
|
|
441
|
-
canonicalPath: string;
|
|
442
441
|
gate: string;
|
|
442
|
+
canonicalPath: string;
|
|
443
443
|
phase: "harness" | "certifying";
|
|
444
444
|
fpDefinition: {
|
|
445
445
|
rubricRef: string;
|
|
@@ -508,8 +508,8 @@ export declare const WindtunnelLockSchema: z.ZodEffects<z.ZodObject<{
|
|
|
508
508
|
diffSha?: string | undefined;
|
|
509
509
|
}[];
|
|
510
510
|
};
|
|
511
|
-
canonicalPath: string;
|
|
512
511
|
gate: string;
|
|
512
|
+
canonicalPath: string;
|
|
513
513
|
phase: "harness" | "certifying";
|
|
514
514
|
fpDefinition: {
|
|
515
515
|
rubricRef: string;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { AuthoredControls } from './authored-controls.js';
|
|
2
|
+
import type { PerRuleControlResult } from './windtunnel-firing.js';
|
|
3
|
+
import type { RuleFiring, ScorerInput, WindtunnelVerdict } from './windtunnel-scorer.js';
|
|
4
|
+
/**
|
|
5
|
+
* Input to the authored scorer. Extends the mined `ScorerInput` MINUS
|
|
6
|
+
* `positiveControlTargets` (that field is DERIVED here from `authoredControls`),
|
|
7
|
+
* plus the §6 answer key and the held-out partition for the O3 metric.
|
|
8
|
+
*
|
|
9
|
+
* `firings` carries the MERGED train + held-out firings — a train-side FP fails the
|
|
10
|
+
* whole window (a window-wide verdict), and `heldOutPrs` partitions them for the O3
|
|
11
|
+
* metric only. `exposureFloors` and the first two `actualExposure` legs pass straight
|
|
12
|
+
* through to the mined scorer; the THIRD leg (`positiveControlsExercised`) is
|
|
13
|
+
* OVERRIDDEN with |authoredControls.positive| (the option-(i) ruling — the §4
|
|
14
|
+
* differential at emission is the exercise proof; held-out activations never
|
|
15
|
+
* inflate it because they are not emissions).
|
|
16
|
+
*/
|
|
17
|
+
export interface AuthoredScorerInput extends Omit<ScorerInput, 'positiveControlTargets'> {
|
|
18
|
+
/** The §6 answer key from `deriveAuthoredControls` — the emitted positives + the kept non-emissions. */
|
|
19
|
+
authoredControls: Pick<AuthoredControls, 'positive' | 'nonEmissions'>;
|
|
20
|
+
/** Held-out (scored-slice) PR numbers — the O3 partition. Supplied from `split.heldOutPrs` at D4. */
|
|
21
|
+
heldOutPrs: ReadonlySet<number>;
|
|
22
|
+
}
|
|
23
|
+
/** How the non-emission gate demoted the mined verdict ('none' = the mined verdict already met/exceeded the gate). */
|
|
24
|
+
export type AuthoredControlGateEffect = 'none' | 'fail-illegitimate' | 'honest-negative-not-certifiable';
|
|
25
|
+
/**
|
|
26
|
+
* The non-emission gate's audit record — observable so a consumed non-emission is
|
|
27
|
+
* NEVER a silent skip (Tenet-4). The counts report the raw `nonEmissions[]` tally
|
|
28
|
+
* regardless of `effect`; `effect` reports the demotion actually APPLIED to the
|
|
29
|
+
* mined verdict (so a more-severe mined FAIL can coexist with `effect: 'none'`
|
|
30
|
+
* while `illegitimate > 0` — the counts, not `effect`, are the presence signal).
|
|
31
|
+
*/
|
|
32
|
+
export interface AuthoredControlGate {
|
|
33
|
+
illegitimate: number;
|
|
34
|
+
undecidable: number;
|
|
35
|
+
deferred: number;
|
|
36
|
+
effect: AuthoredControlGateEffect;
|
|
37
|
+
}
|
|
38
|
+
/** The mined verdict + the two authored additions (both never re-consulted for the verdict). */
|
|
39
|
+
export interface AuthoredWindtunnelVerdict extends WindtunnelVerdict {
|
|
40
|
+
/** O3 (verdict-inert): `targetRuleId → held-out non-control activation count`. Join-back keyed. */
|
|
41
|
+
heldOutActivationsByRule: Record<string, number>;
|
|
42
|
+
/** The non-emission gate's audit record (§6 fold). */
|
|
43
|
+
authoredControlGate: AuthoredControlGate;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Score an AUTHORED wind-tunnel run. Pure function: no IO, no clock, no
|
|
47
|
+
* randomness, byte-identical across re-runs for identical inputs (Tenet-15).
|
|
48
|
+
* Reduces to `scoreWindtunnel` after normalizing the §6 controls, applies the
|
|
49
|
+
* non-emission gate (demote-only), and appends the verdict-inert O3 metric.
|
|
50
|
+
*/
|
|
51
|
+
export declare function scoreAuthoredWindtunnel(input: AuthoredScorerInput): AuthoredWindtunnelVerdict;
|
|
52
|
+
/**
|
|
53
|
+
* The AUTHORED sibling of `computePerRuleControlResults` (option-(i) ruling,
|
|
54
|
+
* operator 2026-07-04 / #2291): a rule's per-rule positive-control verdict is
|
|
55
|
+
* the §4 preimage-differential HELD AT EMISSION — the rule has ≥1 entry in
|
|
56
|
+
* `authoredControls.positive[]` (only `differential-holds` fixtures reach it) —
|
|
57
|
+
* never fire-on-window-diff (pre-window anchors have no window substrate by
|
|
58
|
+
* §5.2 design). The negative leg and the cull axis are IDENTICAL to the mined
|
|
59
|
+
* sibling: a rule firing on any negative control is culled (not a survivor,
|
|
60
|
+
* never stamped); survivors fired on none, so `negativeControl` is invariantly
|
|
61
|
+
* true. `evidenceRefs` carry §6-emission locus refs (`§6-emission:` prefixed) —
|
|
62
|
+
* record-only, deliberately NOT shaped like 64-hex firing labelIds so they can
|
|
63
|
+
* never be mistaken for (or joined against) the ground-truth key space.
|
|
64
|
+
*/
|
|
65
|
+
export declare function computeAuthoredPerRuleControlResults(input: {
|
|
66
|
+
firings: RuleFiring[];
|
|
67
|
+
mintedRuleIds: string[];
|
|
68
|
+
authoredControls: Pick<AuthoredControls, 'positive'>;
|
|
69
|
+
}): Map<string, PerRuleControlResult>;
|
|
70
|
+
//# sourceMappingURL=windtunnel-scorer-authored.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windtunnel-scorer-authored.d.ts","sourceRoot":"","sources":["../../src/spine/windtunnel-scorer-authored.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EAElB,MAAM,wBAAwB,CAAC;AAKhC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC;IACtF,wGAAwG;IACxG,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,cAAc,CAAC,CAAC;IACtE,qGAAqG;IACrG,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,sHAAsH;AACtH,MAAM,MAAM,yBAAyB,GACjC,MAAM,GACN,mBAAmB,GACnB,iCAAiC,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,yBAAyB,CAAC;CACnC;AAED,gGAAgG;AAChG,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,mGAAmG;IACnG,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,sDAAsD;IACtD,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C;AAaD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,mBAAmB,GAAG,yBAAyB,CAmH7F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE;IAC1D,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;CACtD,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CA0BpC"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
// ─── ADR-112 §5.3/§6/§8 — the AUTHORED window-tunnel scorer (slice D3) ────────
|
|
2
|
+
//
|
|
3
|
+
// The sibling scorer for an AUTHORED rule window. Per strategy's Q1 ruling
|
|
4
|
+
// (2026-07-01) it REDUCES to the mined `scoreWindtunnel`, it does NOT fork it — a
|
|
5
|
+
// fork would violate the §5.3 content-blind-scorer invariant + §9 one-PASS/FAIL-
|
|
6
|
+
// meaning (contract-illegal). The mined cascade is reused BYTE-UNCHANGED; this
|
|
7
|
+
// layer only (a) normalizes the §6 authored controls into a `ScorerInput`, (b)
|
|
8
|
+
// applies a pre-scorer non-emission gate, and (c) appends a verdict-inert O3
|
|
9
|
+
// generalization metric.
|
|
10
|
+
//
|
|
11
|
+
// It is INERT like D1–D2.6: nothing here is wired into a cert run. The CLI
|
|
12
|
+
// `spine-windtunnel` command stays on the mined scorer until slice D4 flips the
|
|
13
|
+
// authored path reachable (D4 owes the whole-path couple-on-merge — scorer + the
|
|
14
|
+
// #793 no-mint gate + the §6 deriver, end-to-end). D3 is the pure inert core,
|
|
15
|
+
// offline-unit-tested in `@mmnto/core`.
|
|
16
|
+
//
|
|
17
|
+
// The three reduction moves (converged 4-seat panel, design in
|
|
18
|
+
// `.totem/specs/d3-authored-scorer.md`):
|
|
19
|
+
// 1. [REVISED by the option-(i) ruling, operator 2026-07-04 (#2291) — the D3
|
|
20
|
+
// projection was structurally unsatisfiable]: the §4 preimage-differential
|
|
21
|
+
// recorded AT EMISSION is the authored exercise + non-vacuity proof — only
|
|
22
|
+
// `differential-holds` fixtures reach `positive[]` (discharged in
|
|
23
|
+
// authored-controls.ts). The mined target-must-FIRE machinery is the MINED
|
|
24
|
+
// sibling's proof and is never consulted here: authored anchors may be
|
|
25
|
+
// strictly pre-window (§5.2), whose diffs are not window substrate BY
|
|
26
|
+
// DESIGN, so a projected target could never fire (every authored run would
|
|
27
|
+
// vacuous-FAIL). `positiveControlsExercised` := |authoredControls.positive|
|
|
28
|
+
// (the §6 emission channel); `positiveControlTargets` passed to the mined
|
|
29
|
+
// cascade is [] — its Step-3 check is vacuously true, and the authored
|
|
30
|
+
// vacuity guard is Move 2 below plus the exercised floor.
|
|
31
|
+
// 2. Non-emission gate (codex's load-bearing fold): a culled differential (empty
|
|
32
|
+
// `positive[]` + a recorded `nonEmissions[]`) must NOT reach the mined scorer
|
|
33
|
+
// as `positiveControlTargets: []` and silently PASS. An `illegitimate` class
|
|
34
|
+
// is a Gate-1 FAIL-equivalent; `undecidable`/`deferred` is not-certifiable
|
|
35
|
+
// (HONEST-NEGATIVE). The gate is DEMOTE-ONLY (mirrors the mined "a guard may
|
|
36
|
+
// demote a would-be PASS, never upgrade a FAIL") and PER-non-emission (a
|
|
37
|
+
// holding control on one fixture does not launder an illegitimate sibling).
|
|
38
|
+
// 3. O3 metric (verdict-inert post-pass): `heldOutActivationsByRule` — per
|
|
39
|
+
// authored rule under test, the count of its non-control (`corpus`) firings on
|
|
40
|
+
// held-out PRs. Keys are JOIN-BACK-derived from the positive controls'
|
|
41
|
+
// `targetRuleId` (Tenet-20; a firing-only derivation would drop a rule with
|
|
42
|
+
// zero held-out activations — the rare-defect case). Strategy Q2: the metric
|
|
43
|
+
// is NEVER consulted for the verdict, and the Gate-2-eligible SET derivation
|
|
44
|
+
// is DEFERRED to D4 (D3 emits only the raw metric).
|
|
45
|
+
import { scoreWindtunnel } from './windtunnel-scorer.js';
|
|
46
|
+
// ─── Verdict-severity ladder (demote-only combination) ───────────────────────
|
|
47
|
+
/** PASS < HONEST-NEGATIVE < FAIL. The gate may only raise severity, never lower it. */
|
|
48
|
+
const VERDICT_SEVERITY = {
|
|
49
|
+
PASS: 0,
|
|
50
|
+
'HONEST-NEGATIVE': 1,
|
|
51
|
+
FAIL: 2,
|
|
52
|
+
};
|
|
53
|
+
// ─── Public API ─────────────────────────────────────
|
|
54
|
+
/**
|
|
55
|
+
* Score an AUTHORED wind-tunnel run. Pure function: no IO, no clock, no
|
|
56
|
+
* randomness, byte-identical across re-runs for identical inputs (Tenet-15).
|
|
57
|
+
* Reduces to `scoreWindtunnel` after normalizing the §6 controls, applies the
|
|
58
|
+
* non-emission gate (demote-only), and appends the verdict-inert O3 metric.
|
|
59
|
+
*/
|
|
60
|
+
export function scoreAuthoredWindtunnel(input) {
|
|
61
|
+
const { firings, groundTruth, mintedRuleIds, cullRateThreshold, exposureFloors, actualExposure, authoredControls, heldOutPrs, } = input;
|
|
62
|
+
// Move 1 (option-(i) ruling) — the §6 emission channel IS the exercise proof:
|
|
63
|
+
// `positiveControlsExercised` = |positive[]| (each entry is differential-held
|
|
64
|
+
// by construction). The input's exercised leg is a mined-lane artifact of the
|
|
65
|
+
// shared `ScorerInput` shape and is OVERRIDDEN here — the authored scorer owns
|
|
66
|
+
// this leg (Tenet-20 single source; a caller-supplied count would be a second
|
|
67
|
+
// home). No targets go to the mined cascade: its fire-on-window-diff proof is
|
|
68
|
+
// unsatisfiable for pre-window anchors (§5.2) — the run-level `nonVacuity`
|
|
69
|
+
// field therefore reads vacuously true on an authored verdict; the authored
|
|
70
|
+
// vacuity guards are the Move-2 non-emission gate + the exercised floor.
|
|
71
|
+
const mined = scoreWindtunnel({
|
|
72
|
+
firings,
|
|
73
|
+
groundTruth,
|
|
74
|
+
positiveControlTargets: [],
|
|
75
|
+
mintedRuleIds,
|
|
76
|
+
cullRateThreshold,
|
|
77
|
+
exposureFloors,
|
|
78
|
+
actualExposure: {
|
|
79
|
+
...actualExposure,
|
|
80
|
+
positiveControlsExercised: authoredControls.positive.length,
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
// Move 2 — the non-emission gate. Tally the classes, then combine the gate's
|
|
84
|
+
// implied verdict with the mined verdict on the severity ladder (demote-only).
|
|
85
|
+
let illegitimate = 0;
|
|
86
|
+
let undecidable = 0;
|
|
87
|
+
let deferred = 0;
|
|
88
|
+
for (const ne of authoredControls.nonEmissions) {
|
|
89
|
+
switch (ne.class) {
|
|
90
|
+
case 'illegitimate':
|
|
91
|
+
illegitimate += 1;
|
|
92
|
+
break;
|
|
93
|
+
case 'undecidable':
|
|
94
|
+
undecidable += 1;
|
|
95
|
+
break;
|
|
96
|
+
case 'deferred':
|
|
97
|
+
deferred += 1;
|
|
98
|
+
break;
|
|
99
|
+
default: {
|
|
100
|
+
// Exhaustiveness guard (Tenet-4; mirrors authored-controls.ts's
|
|
101
|
+
// NON_EMISSION_CLASS_BY_OUTCOME Record-over-Exclude). A future 4th class
|
|
102
|
+
// breaks THIS build instead of silently laundering into `deferred` → a
|
|
103
|
+
// spurious HONEST-NEGATIVE. The Zod boundary rejects it at runtime; the
|
|
104
|
+
// `never` binding makes a schema addition a COMPILE error here.
|
|
105
|
+
const _exhaustive = ne.class;
|
|
106
|
+
throw new Error(`[Totem Error] scoreAuthoredWindtunnel: unhandled non-emission class '${String(_exhaustive)}'`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// The gate's implied verdict: an illegitimate control is a Gate-1 FAIL-equivalent
|
|
111
|
+
// (outranks undecidable/deferred); an undecidable/deferred control is not-
|
|
112
|
+
// certifiable → HONEST-NEGATIVE. No blocking non-emission ⇒ no constraint.
|
|
113
|
+
let gateKind = null;
|
|
114
|
+
let gateLabel = null;
|
|
115
|
+
if (illegitimate > 0) {
|
|
116
|
+
gateKind = 'FAIL';
|
|
117
|
+
gateLabel = 'fail-illegitimate';
|
|
118
|
+
}
|
|
119
|
+
else if (undecidable + deferred > 0) {
|
|
120
|
+
gateKind = 'HONEST-NEGATIVE';
|
|
121
|
+
gateLabel = 'honest-negative-not-certifiable';
|
|
122
|
+
}
|
|
123
|
+
// Demote-only: the gate applies ONLY when strictly more severe than the mined
|
|
124
|
+
// verdict. When equal (e.g. an illegitimate non-emission co-occurring with a real
|
|
125
|
+
// FP FAIL), the mined verdict is kept — a structural control defect does not erase
|
|
126
|
+
// a real FP measurement (build-altitude micro-decision, flagged for strategy).
|
|
127
|
+
let verdict = mined;
|
|
128
|
+
let effect = 'none';
|
|
129
|
+
if (gateKind !== null && VERDICT_SEVERITY[gateKind] > VERDICT_SEVERITY[mined.verdict]) {
|
|
130
|
+
// A gate demotion is a structural, no-claim verdict → precision null (#2189):
|
|
131
|
+
// a 0 would falsely read as an all-FP measurement.
|
|
132
|
+
verdict = { ...mined, verdict: gateKind, precision: null };
|
|
133
|
+
effect = gateLabel;
|
|
134
|
+
}
|
|
135
|
+
// Move 3 — the verdict-inert O3 metric. Keys are the authored rules under test
|
|
136
|
+
// (join-back from the positive controls), minus any culled rule. Values count each
|
|
137
|
+
// rule's non-control (`corpus`) firings on held-out PRs — 0 is a valid observable
|
|
138
|
+
// (the rare-defect case), so a keyed rule always appears even with no activation.
|
|
139
|
+
const culled = new Set(mined.cullLedger.map((e) => e.ruleId));
|
|
140
|
+
const heldOutActivationsByRule = {};
|
|
141
|
+
for (const c of authoredControls.positive) {
|
|
142
|
+
if (culled.has(c.targetRuleId))
|
|
143
|
+
continue; // (d) cull symmetry — out of the metric AND its keys
|
|
144
|
+
if (!Object.hasOwn(heldOutActivationsByRule, c.targetRuleId)) {
|
|
145
|
+
heldOutActivationsByRule[c.targetRuleId] = 0;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
for (const f of firings) {
|
|
149
|
+
if (f.controlKind !== 'corpus')
|
|
150
|
+
continue; // (c) a rule's own control firing is excluded
|
|
151
|
+
if (!heldOutPrs.has(f.pr))
|
|
152
|
+
continue; // held-out slice only
|
|
153
|
+
if (culled.has(f.ruleId))
|
|
154
|
+
continue; // (d) culled rule contributes nothing
|
|
155
|
+
if (!Object.hasOwn(heldOutActivationsByRule, f.ruleId))
|
|
156
|
+
continue; // only rules with a positive control
|
|
157
|
+
heldOutActivationsByRule[f.ruleId] += 1;
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
...verdict,
|
|
161
|
+
heldOutActivationsByRule,
|
|
162
|
+
authoredControlGate: { illegitimate, undecidable, deferred, effect },
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* The AUTHORED sibling of `computePerRuleControlResults` (option-(i) ruling,
|
|
167
|
+
* operator 2026-07-04 / #2291): a rule's per-rule positive-control verdict is
|
|
168
|
+
* the §4 preimage-differential HELD AT EMISSION — the rule has ≥1 entry in
|
|
169
|
+
* `authoredControls.positive[]` (only `differential-holds` fixtures reach it) —
|
|
170
|
+
* never fire-on-window-diff (pre-window anchors have no window substrate by
|
|
171
|
+
* §5.2 design). The negative leg and the cull axis are IDENTICAL to the mined
|
|
172
|
+
* sibling: a rule firing on any negative control is culled (not a survivor,
|
|
173
|
+
* never stamped); survivors fired on none, so `negativeControl` is invariantly
|
|
174
|
+
* true. `evidenceRefs` carry §6-emission locus refs (`§6-emission:` prefixed) —
|
|
175
|
+
* record-only, deliberately NOT shaped like 64-hex firing labelIds so they can
|
|
176
|
+
* never be mistaken for (or joined against) the ground-truth key space.
|
|
177
|
+
*/
|
|
178
|
+
export function computeAuthoredPerRuleControlResults(input) {
|
|
179
|
+
const { firings, mintedRuleIds, authoredControls } = input;
|
|
180
|
+
const culled = new Set();
|
|
181
|
+
for (const f of firings) {
|
|
182
|
+
if (f.controlKind === 'negative')
|
|
183
|
+
culled.add(f.ruleId);
|
|
184
|
+
}
|
|
185
|
+
const emissionRefsByRule = new Map();
|
|
186
|
+
for (const c of authoredControls.positive) {
|
|
187
|
+
const refs = emissionRefsByRule.get(c.targetRuleId) ?? [];
|
|
188
|
+
refs.push(`§6-emission:${c.pr}:${c.filePath}:${c.matchedSpan}`);
|
|
189
|
+
emissionRefsByRule.set(c.targetRuleId, refs);
|
|
190
|
+
}
|
|
191
|
+
const result = new Map();
|
|
192
|
+
for (const ruleId of mintedRuleIds) {
|
|
193
|
+
if (culled.has(ruleId))
|
|
194
|
+
continue; // not a survivor — never stamped (mined parity)
|
|
195
|
+
const refs = emissionRefsByRule.get(ruleId) ?? [];
|
|
196
|
+
result.set(ruleId, {
|
|
197
|
+
positiveControl: refs.length > 0,
|
|
198
|
+
negativeControl: true,
|
|
199
|
+
evidenceRefs: refs,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
return result;
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=windtunnel-scorer-authored.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windtunnel-scorer-authored.js","sourceRoot":"","sources":["../../src/spine/windtunnel-scorer-authored.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windtunnel-scorer-authored.test.d.ts","sourceRoot":"","sources":["../../src/spine/windtunnel-scorer-authored.test.ts"],"names":[],"mappings":""}
|