@mmnto/totem 1.88.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.
Files changed (73) hide show
  1. package/dist/index.d.ts +7 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +6 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/sarif.d.ts +17 -0
  6. package/dist/sarif.d.ts.map +1 -1
  7. package/dist/sarif.js +71 -5
  8. package/dist/sarif.js.map +1 -1
  9. package/dist/sarif.test.js +94 -1
  10. package/dist/sarif.test.js.map +1 -1
  11. package/dist/spine/authored-controls.d.ts +8 -0
  12. package/dist/spine/authored-controls.d.ts.map +1 -1
  13. package/dist/spine/authored-controls.js +15 -5
  14. package/dist/spine/authored-controls.js.map +1 -1
  15. package/dist/spine/authored-controls.test.js +31 -0
  16. package/dist/spine/authored-controls.test.js.map +1 -1
  17. package/dist/spine/authored-freeze-gates.d.ts +45 -0
  18. package/dist/spine/authored-freeze-gates.d.ts.map +1 -0
  19. package/dist/spine/authored-freeze-gates.js +167 -0
  20. package/dist/spine/authored-freeze-gates.js.map +1 -0
  21. package/dist/spine/authored-freeze-gates.test.d.ts +2 -0
  22. package/dist/spine/authored-freeze-gates.test.d.ts.map +1 -0
  23. package/dist/spine/authored-freeze-gates.test.js +159 -0
  24. package/dist/spine/authored-freeze-gates.test.js.map +1 -0
  25. package/dist/spine/authored-rule.d.ts +10 -0
  26. package/dist/spine/authored-rule.d.ts.map +1 -1
  27. package/dist/spine/authored-rule.js +11 -0
  28. package/dist/spine/authored-rule.js.map +1 -1
  29. package/dist/spine/authoring-ledger.d.ts +28 -0
  30. package/dist/spine/authoring-ledger.d.ts.map +1 -1
  31. package/dist/spine/authoring-ledger.js +27 -0
  32. package/dist/spine/authoring-ledger.js.map +1 -1
  33. package/dist/spine/authoring-ledger.test.js +8 -0
  34. package/dist/spine/authoring-ledger.test.js.map +1 -1
  35. package/dist/spine/cert-corpus-seed.d.ts +38 -8
  36. package/dist/spine/cert-corpus-seed.d.ts.map +1 -1
  37. package/dist/spine/cert-corpus-seed.js +52 -1
  38. package/dist/spine/cert-corpus-seed.js.map +1 -1
  39. package/dist/spine/cert-corpus-seed.test.js +76 -0
  40. package/dist/spine/cert-corpus-seed.test.js.map +1 -1
  41. package/dist/spine/frozen-split.d.ts +541 -0
  42. package/dist/spine/frozen-split.d.ts.map +1 -0
  43. package/dist/spine/frozen-split.js +205 -0
  44. package/dist/spine/frozen-split.js.map +1 -0
  45. package/dist/spine/frozen-split.test.d.ts +2 -0
  46. package/dist/spine/frozen-split.test.d.ts.map +1 -0
  47. package/dist/spine/frozen-split.test.js +89 -0
  48. package/dist/spine/frozen-split.test.js.map +1 -0
  49. package/dist/spine/gate2-eligibility.d.ts +33 -0
  50. package/dist/spine/gate2-eligibility.d.ts.map +1 -0
  51. package/dist/spine/gate2-eligibility.js +54 -0
  52. package/dist/spine/gate2-eligibility.js.map +1 -0
  53. package/dist/spine/gate2-eligibility.test.d.ts +2 -0
  54. package/dist/spine/gate2-eligibility.test.d.ts.map +1 -0
  55. package/dist/spine/gate2-eligibility.test.js +252 -0
  56. package/dist/spine/gate2-eligibility.test.js.map +1 -0
  57. package/dist/spine/ledgers.d.ts +24 -0
  58. package/dist/spine/ledgers.d.ts.map +1 -1
  59. package/dist/spine/split.d.ts +16 -0
  60. package/dist/spine/split.d.ts.map +1 -1
  61. package/dist/spine/split.js +13 -0
  62. package/dist/spine/split.js.map +1 -1
  63. package/dist/spine/windtunnel-firing.d.ts +6 -2
  64. package/dist/spine/windtunnel-firing.d.ts.map +1 -1
  65. package/dist/spine/windtunnel-firing.js.map +1 -1
  66. package/dist/spine/windtunnel-lock.d.ts +4 -4
  67. package/dist/spine/windtunnel-scorer-authored.d.ts +25 -4
  68. package/dist/spine/windtunnel-scorer-authored.d.ts.map +1 -1
  69. package/dist/spine/windtunnel-scorer-authored.js +65 -13
  70. package/dist/spine/windtunnel-scorer-authored.js.map +1 -1
  71. package/dist/spine/windtunnel-scorer-authored.test.js +103 -1
  72. package/dist/spine/windtunnel-scorer-authored.test.js.map +1 -1
  73. package/package.json +1 -1
@@ -0,0 +1,252 @@
1
+ // ─── ADR-112 §5.3 / §1(k) — Gate-2 eligibility derivation (slice D4) tests ────
2
+ //
3
+ // Pins the strategy D4 Q1/Q2/Q4 ruling (2026-07-01):
4
+ // • §1(k): a survivor with ZERO held-out activations (absent-from-map ≡ explicit
5
+ // 0) is EXCLUDED — never admitted "as if held-out-certified".
6
+ // • Q4: `authoredControlGate.illegitimate > 0` disqualifies the WHOLE window,
7
+ // keyed on the COUNT, never on `.effect` (a co-severe mined FP FAIL can mask
8
+ // the illegitimate control: `effect: 'none'` while `illegitimate > 0`).
9
+ // • Culled rules are never survivors, even with held-out activations.
10
+ // • Deterministic: output preserves `mintedRuleIds` input order (Tenet-15).
11
+ //
12
+ // Drafted via a Fable draft-then-verify trial (model-tiering #697), verified
13
+ // assertion-by-assertion against the source contract before landing.
14
+ import { describe, expect, it } from 'vitest';
15
+ import { deriveGate2Eligibility } from './gate2-eligibility.js';
16
+ /**
17
+ * A baseline verdict Pick: clean window (illegitimate 0, effect 'none'), nothing
18
+ * culled, no held-out entries. Each test overrides only what it exercises.
19
+ */
20
+ function makeVerdict(overrides) {
21
+ return {
22
+ cullLedger: overrides?.cullLedger ?? [],
23
+ heldOutActivationsByRule: overrides?.heldOutActivationsByRule ?? {},
24
+ authoredControlGate: {
25
+ illegitimate: 0,
26
+ undecidable: 0,
27
+ deferred: 0,
28
+ effect: 'none',
29
+ ...overrides?.authoredControlGate,
30
+ },
31
+ };
32
+ }
33
+ function cullEntry(ruleId, pr = 10) {
34
+ return {
35
+ ruleId,
36
+ pr,
37
+ filePath: 'src/foo.ts',
38
+ matchedLine: 'const x = 1;',
39
+ reason: 'negative-control-fired',
40
+ };
41
+ }
42
+ // ─── §5.3: a survivor with held-out activations in a clean window ─────────────
43
+ describe('§5.3 eligibility: survivors with held-out activations in a clean window', () => {
44
+ it('a survivor with heldOutActivations > 0 in a non-disqualified window is eligible', () => {
45
+ const result = deriveGate2Eligibility({
46
+ mintedRuleIds: ['r1'],
47
+ verdict: makeVerdict({ heldOutActivationsByRule: { r1: 3 } }),
48
+ });
49
+ expect(result).toEqual({
50
+ eligibleRuleIds: ['r1'],
51
+ survivors: [{ ruleId: 'r1', heldOutActivations: 3, gate2Eligible: true }],
52
+ windowDisqualified: false,
53
+ });
54
+ });
55
+ });
56
+ // ─── §1(k): zero held-out activations — never admitted "as if certified" ──────
57
+ describe('§1(k): zero held-out activations are never admitted', () => {
58
+ it('§1(k): a survivor absent from heldOutActivationsByRule reports 0 and is excluded', () => {
59
+ const result = deriveGate2Eligibility({
60
+ mintedRuleIds: ['r1'],
61
+ verdict: makeVerdict(),
62
+ });
63
+ expect(result.eligibleRuleIds).toEqual([]);
64
+ expect(result.survivors).toEqual([
65
+ { ruleId: 'r1', heldOutActivations: 0, gate2Eligible: false },
66
+ ]);
67
+ expect(result.windowDisqualified).toBe(false);
68
+ });
69
+ it('§1(k): an explicit 0 entry (the common shape) is excluded, identical to absent', () => {
70
+ const explicit = deriveGate2Eligibility({
71
+ mintedRuleIds: ['r1'],
72
+ verdict: makeVerdict({ heldOutActivationsByRule: { r1: 0 } }),
73
+ });
74
+ expect(explicit.eligibleRuleIds).toEqual([]);
75
+ expect(explicit.survivors).toEqual([
76
+ { ruleId: 'r1', heldOutActivations: 0, gate2Eligible: false },
77
+ ]);
78
+ // Absent-from-map ≡ explicit 0 — the two shapes produce an identical emission.
79
+ const absent = deriveGate2Eligibility({
80
+ mintedRuleIds: ['r1'],
81
+ verdict: makeVerdict({ heldOutActivationsByRule: {} }),
82
+ });
83
+ expect(explicit).toEqual(absent);
84
+ });
85
+ });
86
+ // ─── Cull exclusion: a culled rule is never a survivor (codex case (d)) ───────
87
+ describe('cull exclusion: culled rules are not survivors', () => {
88
+ it('a culled rule is not a survivor even with heldOutActivations > 0', () => {
89
+ const result = deriveGate2Eligibility({
90
+ mintedRuleIds: ['r1'],
91
+ verdict: makeVerdict({
92
+ cullLedger: [cullEntry('r1')],
93
+ heldOutActivationsByRule: { r1: 5 },
94
+ }),
95
+ });
96
+ // Absent from BOTH survivors[] and eligibleRuleIds — not merely ineligible.
97
+ expect(result).toEqual({
98
+ eligibleRuleIds: [],
99
+ survivors: [],
100
+ windowDisqualified: false,
101
+ });
102
+ });
103
+ it('multiple cull entries for one rule exclude it once, without disturbing others', () => {
104
+ const result = deriveGate2Eligibility({
105
+ mintedRuleIds: ['r1', 'r2'],
106
+ verdict: makeVerdict({
107
+ cullLedger: [cullEntry('r1', 10), cullEntry('r1', 11)],
108
+ heldOutActivationsByRule: { r1: 4, r2: 1 },
109
+ }),
110
+ });
111
+ expect(result).toEqual({
112
+ eligibleRuleIds: ['r2'],
113
+ survivors: [{ ruleId: 'r2', heldOutActivations: 1, gate2Eligible: true }],
114
+ windowDisqualified: false,
115
+ });
116
+ });
117
+ });
118
+ // ─── Q4: window disqualifier — keyed on the illegitimate COUNT, never .effect ─
119
+ describe('Q4: window disqualifier keys on the illegitimate count, never on effect', () => {
120
+ it("Q4: illegitimate > 0 empties eligibility EVEN WHEN effect === 'none'", () => {
121
+ // The masked-control case (`1a80655e`): a co-severe mined FP FAIL absorbed the
122
+ // gate, so `effect` stayed 'none' while `illegitimate > 0`.
123
+ const heldOutActivationsByRule = { r1: 2 };
124
+ const disqualified = deriveGate2Eligibility({
125
+ mintedRuleIds: ['r1'],
126
+ verdict: makeVerdict({
127
+ heldOutActivationsByRule,
128
+ authoredControlGate: { illegitimate: 1, effect: 'none' },
129
+ }),
130
+ });
131
+ expect(disqualified.windowDisqualified).toBe(true);
132
+ expect(disqualified.eligibleRuleIds).toEqual([]);
133
+ // The audit trail stays legible: the survivor row reports the TRUE count, ineligible.
134
+ expect(disqualified.survivors).toEqual([
135
+ { ruleId: 'r1', heldOutActivations: 2, gate2Eligible: false },
136
+ ]);
137
+ // Companion: the SAME survivors with illegitimate === 0 (and the SAME effect)
138
+ // ARE eligible — the COUNT drives disqualification, not `.effect`.
139
+ const clean = deriveGate2Eligibility({
140
+ mintedRuleIds: ['r1'],
141
+ verdict: makeVerdict({
142
+ heldOutActivationsByRule,
143
+ authoredControlGate: { illegitimate: 0, effect: 'none' },
144
+ }),
145
+ });
146
+ expect(clean.windowDisqualified).toBe(false);
147
+ expect(clean.eligibleRuleIds).toEqual(['r1']);
148
+ expect(clean.survivors).toEqual([{ ruleId: 'r1', heldOutActivations: 2, gate2Eligible: true }]);
149
+ });
150
+ it('Q4: only the illegitimate count disqualifies — not undecidable/deferred/effect', () => {
151
+ // Reachable state: undecidable non-emissions demote to honest-negative while
152
+ // illegitimate === 0. The window is NOT disqualified for Gate-2 purposes.
153
+ const result = deriveGate2Eligibility({
154
+ mintedRuleIds: ['r1'],
155
+ verdict: makeVerdict({
156
+ heldOutActivationsByRule: { r1: 1 },
157
+ authoredControlGate: {
158
+ illegitimate: 0,
159
+ undecidable: 2,
160
+ deferred: 1,
161
+ effect: 'honest-negative-not-certifiable',
162
+ },
163
+ }),
164
+ });
165
+ expect(result.windowDisqualified).toBe(false);
166
+ expect(result.eligibleRuleIds).toEqual(['r1']);
167
+ expect(result.survivors).toEqual([
168
+ { ruleId: 'r1', heldOutActivations: 1, gate2Eligible: true },
169
+ ]);
170
+ });
171
+ });
172
+ // ─── Order / determinism (Tenet-15) ───────────────────────────────────────────
173
+ describe('order / determinism (Tenet-15)', () => {
174
+ it('preserves mintedRuleIds input order in eligibleRuleIds and survivors', () => {
175
+ // Input order differs from sorted order — a sorted (or Set-iterated) impl fails.
176
+ const result = deriveGate2Eligibility({
177
+ mintedRuleIds: ['r3', 'r1', 'r2'],
178
+ verdict: makeVerdict({ heldOutActivationsByRule: { r1: 1, r2: 2, r3: 3 } }),
179
+ });
180
+ expect(result.eligibleRuleIds).toEqual(['r3', 'r1', 'r2']);
181
+ expect(result.survivors).toEqual([
182
+ { ruleId: 'r3', heldOutActivations: 3, gate2Eligible: true },
183
+ { ruleId: 'r1', heldOutActivations: 1, gate2Eligible: true },
184
+ { ruleId: 'r2', heldOutActivations: 2, gate2Eligible: true },
185
+ ]);
186
+ });
187
+ it('a mid-list cull removes its rule without disturbing the order of the rest', () => {
188
+ const result = deriveGate2Eligibility({
189
+ mintedRuleIds: ['r3', 'r1', 'r2'],
190
+ verdict: makeVerdict({
191
+ cullLedger: [cullEntry('r1')],
192
+ heldOutActivationsByRule: { r2: 2, r3: 3 },
193
+ }),
194
+ });
195
+ expect(result.eligibleRuleIds).toEqual(['r3', 'r2']);
196
+ expect(result.survivors.map((s) => s.ruleId)).toEqual(['r3', 'r2']);
197
+ });
198
+ });
199
+ // ─── Mixed window: the exact partition ────────────────────────────────────────
200
+ describe('mixed window', () => {
201
+ it('partitions culled / eligible / zero-held-out rules exactly', () => {
202
+ const result = deriveGate2Eligibility({
203
+ mintedRuleIds: ['r1', 'r2', 'r3', 'r4', 'r5'],
204
+ verdict: makeVerdict({
205
+ // r2 is culled DESPITE held-out activations; r3 is an explicit 0; r4 is
206
+ // absent-from-map; r1/r5 are eligible.
207
+ cullLedger: [cullEntry('r2')],
208
+ heldOutActivationsByRule: { r1: 3, r2: 7, r3: 0, r5: 1 },
209
+ }),
210
+ });
211
+ expect(result).toEqual({
212
+ eligibleRuleIds: ['r1', 'r5'],
213
+ survivors: [
214
+ { ruleId: 'r1', heldOutActivations: 3, gate2Eligible: true },
215
+ { ruleId: 'r3', heldOutActivations: 0, gate2Eligible: false },
216
+ { ruleId: 'r4', heldOutActivations: 0, gate2Eligible: false },
217
+ { ruleId: 'r5', heldOutActivations: 1, gate2Eligible: true },
218
+ ],
219
+ windowDisqualified: false,
220
+ });
221
+ });
222
+ });
223
+ // ─── Empty window + non-minted inputs ─────────────────────────────────────────
224
+ describe('empty window and non-minted inputs', () => {
225
+ it('empty mintedRuleIds → empty eligible set, empty survivors, not disqualified', () => {
226
+ const result = deriveGate2Eligibility({ mintedRuleIds: [], verdict: makeVerdict() });
227
+ expect(result).toEqual({ eligibleRuleIds: [], survivors: [], windowDisqualified: false });
228
+ });
229
+ it('empty mintedRuleIds still reports windowDisqualified when illegitimate > 0', () => {
230
+ // The Q4 flag is a window-level fact — reported even with nothing minted.
231
+ const result = deriveGate2Eligibility({
232
+ mintedRuleIds: [],
233
+ verdict: makeVerdict({ authoredControlGate: { illegitimate: 1 } }),
234
+ });
235
+ expect(result).toEqual({ eligibleRuleIds: [], survivors: [], windowDisqualified: true });
236
+ });
237
+ it('held-out keys and cull entries for non-minted rules never reach the output', () => {
238
+ const result = deriveGate2Eligibility({
239
+ mintedRuleIds: ['r1'],
240
+ verdict: makeVerdict({
241
+ cullLedger: [cullEntry('ghost-culled')],
242
+ heldOutActivationsByRule: { r1: 1, 'ghost-held-out': 5 },
243
+ }),
244
+ });
245
+ expect(result).toEqual({
246
+ eligibleRuleIds: ['r1'],
247
+ survivors: [{ ruleId: 'r1', heldOutActivations: 1, gate2Eligible: true }],
248
+ windowDisqualified: false,
249
+ });
250
+ });
251
+ });
252
+ //# sourceMappingURL=gate2-eligibility.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate2-eligibility.test.js","sourceRoot":"","sources":["../../src/spine/gate2-eligibility.test.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,qDAAqD;AACrD,mFAAmF;AACnF,kEAAkE;AAClE,gFAAgF;AAChF,iFAAiF;AACjF,4EAA4E;AAC5E,wEAAwE;AACxE,8EAA8E;AAC9E,EAAE;AACF,6EAA6E;AAC7E,qEAAqE;AAErE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAchE;;;GAGG;AACH,SAAS,WAAW,CAAC,SAIpB;IACC,OAAO;QACL,UAAU,EAAE,SAAS,EAAE,UAAU,IAAI,EAAE;QACvC,wBAAwB,EAAE,SAAS,EAAE,wBAAwB,IAAI,EAAE;QACnE,mBAAmB,EAAE;YACnB,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,MAAM;YACd,GAAG,SAAS,EAAE,mBAAmB;SAClC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAc,EAAE,EAAE,GAAG,EAAE;IACxC,OAAO;QACL,MAAM;QACN,EAAE;QACF,QAAQ,EAAE,YAAY;QACtB,WAAW,EAAE,cAAc;QAC3B,MAAM,EAAE,wBAAwB;KACjC,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,QAAQ,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACvF,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,WAAW,CAAC,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;SAC9D,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,eAAe,EAAE,CAAC,IAAI,CAAC;YACvB,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YACzE,kBAAkB,EAAE,KAAK;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;IACnE,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,WAAW,EAAE;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAC/B,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE;SAC9D,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACxF,MAAM,QAAQ,GAAG,sBAAsB,CAAC;YACtC,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,WAAW,CAAC,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;SAC9D,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACjC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE;SAC9D,CAAC,CAAC;QAEH,+EAA+E;QAC/E,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,WAAW,CAAC,EAAE,wBAAwB,EAAE,EAAE,EAAE,CAAC;SACvD,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC9D,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,WAAW,CAAC;gBACnB,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7B,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;aACpC,CAAC;SACH,CAAC,CAAC;QACH,4EAA4E;QAC5E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,EAAE;YACb,kBAAkB,EAAE,KAAK;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YAC3B,OAAO,EAAE,WAAW,CAAC;gBACnB,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtD,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;aAC3C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,eAAe,EAAE,CAAC,IAAI,CAAC;YACvB,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YACzE,kBAAkB,EAAE,KAAK;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACvF,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,+EAA+E;QAC/E,4DAA4D;QAC5D,MAAM,wBAAwB,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,sBAAsB,CAAC;YAC1C,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,WAAW,CAAC;gBACnB,wBAAwB;gBACxB,mBAAmB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;aACzD,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjD,sFAAsF;QACtF,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACrC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE;SAC9D,CAAC,CAAC;QAEH,8EAA8E;QAC9E,mEAAmE;QACnE,MAAM,KAAK,GAAG,sBAAsB,CAAC;YACnC,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,WAAW,CAAC;gBACnB,wBAAwB;gBACxB,mBAAmB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;aACzD,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACxF,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,WAAW,CAAC;gBACnB,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;gBACnC,mBAAmB,EAAE;oBACnB,YAAY,EAAE,CAAC;oBACf,WAAW,EAAE,CAAC;oBACd,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,iCAAiC;iBAC1C;aACF,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAC/B,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,iFAAiF;QACjF,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACjC,OAAO,EAAE,WAAW,CAAC,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;SAC5E,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAC/B,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;YAC5D,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;YAC5D,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;SAC7D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACnF,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YACjC,OAAO,EAAE,WAAW,CAAC;gBACnB,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7B,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;aAC3C,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC7C,OAAO,EAAE,WAAW,CAAC;gBACnB,wEAAwE;gBACxE,uCAAuC;gBACvC,UAAU,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7B,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;aACzD,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YAC7B,SAAS,EAAE;gBACT,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;gBAC5D,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE;gBAC7D,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE;gBAC7D,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;aAC7D;YACD,kBAAkB,EAAE,KAAK;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,MAAM,GAAG,sBAAsB,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,0EAA0E;QAC1E,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,WAAW,CAAC,EAAE,mBAAmB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC;SACnE,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACpC,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,OAAO,EAAE,WAAW,CAAC;gBACnB,UAAU,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBACvC,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;aACzD,CAAC;SACH,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,eAAe,EAAE,CAAC,IAAI,CAAC;YACvB,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YACzE,kBAAkB,EAAE,KAAK;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -468,6 +468,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
468
468
  predicate: string;
469
469
  cutIndex: number;
470
470
  }>;
471
+ frozenAt: z.ZodOptional<z.ZodString>;
471
472
  }, "strip", z.ZodTypeAny, {
472
473
  asOfCommit: string;
473
474
  trainPrs: number[];
@@ -479,6 +480,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
479
480
  predicate: string;
480
481
  cutIndex: number;
481
482
  };
483
+ frozenAt?: string | undefined;
482
484
  }, {
483
485
  asOfCommit: string;
484
486
  trainPrs: number[];
@@ -490,6 +492,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
490
492
  predicate: string;
491
493
  cutIndex: number;
492
494
  };
495
+ frozenAt?: string | undefined;
493
496
  }>, {
494
497
  asOfCommit: string;
495
498
  trainPrs: number[];
@@ -501,6 +504,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
501
504
  predicate: string;
502
505
  cutIndex: number;
503
506
  };
507
+ frozenAt?: string | undefined;
504
508
  }, {
505
509
  asOfCommit: string;
506
510
  trainPrs: number[];
@@ -512,6 +516,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
512
516
  predicate: string;
513
517
  cutIndex: number;
514
518
  };
519
+ frozenAt?: string | undefined;
515
520
  }>;
516
521
  /** The frozen corpus = `selectionRule(asOfCommit)` the cover is checked against. */
517
522
  corpus: z.ZodArray<z.ZodNumber, "many">;
@@ -538,6 +543,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
538
543
  predicate: string;
539
544
  cutIndex: number;
540
545
  };
546
+ frozenAt?: string | undefined;
541
547
  };
542
548
  corpus: number[];
543
549
  corpusMergeCommits: {
@@ -556,6 +562,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
556
562
  predicate: string;
557
563
  cutIndex: number;
558
564
  };
565
+ frozenAt?: string | undefined;
559
566
  };
560
567
  corpus: number[];
561
568
  corpusMergeCommits: {
@@ -574,6 +581,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
574
581
  predicate: string;
575
582
  cutIndex: number;
576
583
  };
584
+ frozenAt?: string | undefined;
577
585
  };
578
586
  corpus: number[];
579
587
  corpusMergeCommits: {
@@ -592,6 +600,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
592
600
  predicate: string;
593
601
  cutIndex: number;
594
602
  };
603
+ frozenAt?: string | undefined;
595
604
  };
596
605
  corpus: number[];
597
606
  corpusMergeCommits: {
@@ -610,6 +619,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
610
619
  predicate: string;
611
620
  cutIndex: number;
612
621
  };
622
+ frozenAt?: string | undefined;
613
623
  };
614
624
  corpus: number[];
615
625
  corpusMergeCommits: {
@@ -628,6 +638,7 @@ export declare const SplitLedgerSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
628
638
  predicate: string;
629
639
  cutIndex: number;
630
640
  };
641
+ frozenAt?: string | undefined;
631
642
  };
632
643
  corpus: number[];
633
644
  corpusMergeCommits: {
@@ -930,6 +941,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
930
941
  predicate: string;
931
942
  cutIndex: number;
932
943
  }>;
944
+ frozenAt: z.ZodOptional<z.ZodString>;
933
945
  }, "strip", z.ZodTypeAny, {
934
946
  asOfCommit: string;
935
947
  trainPrs: number[];
@@ -941,6 +953,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
941
953
  predicate: string;
942
954
  cutIndex: number;
943
955
  };
956
+ frozenAt?: string | undefined;
944
957
  }, {
945
958
  asOfCommit: string;
946
959
  trainPrs: number[];
@@ -952,6 +965,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
952
965
  predicate: string;
953
966
  cutIndex: number;
954
967
  };
968
+ frozenAt?: string | undefined;
955
969
  }>, {
956
970
  asOfCommit: string;
957
971
  trainPrs: number[];
@@ -963,6 +977,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
963
977
  predicate: string;
964
978
  cutIndex: number;
965
979
  };
980
+ frozenAt?: string | undefined;
966
981
  }, {
967
982
  asOfCommit: string;
968
983
  trainPrs: number[];
@@ -974,6 +989,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
974
989
  predicate: string;
975
990
  cutIndex: number;
976
991
  };
992
+ frozenAt?: string | undefined;
977
993
  }>;
978
994
  /** The frozen corpus = `selectionRule(asOfCommit)` the cover is checked against. */
979
995
  corpus: z.ZodArray<z.ZodNumber, "many">;
@@ -1000,6 +1016,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
1000
1016
  predicate: string;
1001
1017
  cutIndex: number;
1002
1018
  };
1019
+ frozenAt?: string | undefined;
1003
1020
  };
1004
1021
  corpus: number[];
1005
1022
  corpusMergeCommits: {
@@ -1018,6 +1035,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
1018
1035
  predicate: string;
1019
1036
  cutIndex: number;
1020
1037
  };
1038
+ frozenAt?: string | undefined;
1021
1039
  };
1022
1040
  corpus: number[];
1023
1041
  corpusMergeCommits: {
@@ -1036,6 +1054,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
1036
1054
  predicate: string;
1037
1055
  cutIndex: number;
1038
1056
  };
1057
+ frozenAt?: string | undefined;
1039
1058
  };
1040
1059
  corpus: number[];
1041
1060
  corpusMergeCommits: {
@@ -1054,6 +1073,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
1054
1073
  predicate: string;
1055
1074
  cutIndex: number;
1056
1075
  };
1076
+ frozenAt?: string | undefined;
1057
1077
  };
1058
1078
  corpus: number[];
1059
1079
  corpusMergeCommits: {
@@ -1072,6 +1092,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
1072
1092
  predicate: string;
1073
1093
  cutIndex: number;
1074
1094
  };
1095
+ frozenAt?: string | undefined;
1075
1096
  };
1076
1097
  corpus: number[];
1077
1098
  corpusMergeCommits: {
@@ -1090,6 +1111,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
1090
1111
  predicate: string;
1091
1112
  cutIndex: number;
1092
1113
  };
1114
+ frozenAt?: string | undefined;
1093
1115
  };
1094
1116
  corpus: number[];
1095
1117
  corpusMergeCommits: {
@@ -1141,6 +1163,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
1141
1163
  predicate: string;
1142
1164
  cutIndex: number;
1143
1165
  };
1166
+ frozenAt?: string | undefined;
1144
1167
  };
1145
1168
  corpus: number[];
1146
1169
  corpusMergeCommits: {
@@ -1206,6 +1229,7 @@ export declare const MinerLedgersSchema: z.ZodObject<{
1206
1229
  predicate: string;
1207
1230
  cutIndex: number;
1208
1231
  };
1232
+ frozenAt?: string | undefined;
1209
1233
  };
1210
1234
  corpus: number[];
1211
1235
  corpusMergeCommits: {
@@ -1 +1 @@
1
- {"version":3,"file":"ledgers.d.ts","sourceRoot":"","sources":["../../src/spine/ledgers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledgers.d.ts","sourceRoot":"","sources":["../../src/spine/ledgers.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,16 @@ export declare const SplitArtifactSchema: z.ZodEffects<z.ZodObject<{
33
33
  predicate: string;
34
34
  cutIndex: number;
35
35
  }>;
36
+ /**
37
+ * ADR-112 §5.1 Slice D5 — the mechanical FREEZE INSTANT, stamped by the authored
38
+ * producer at materialize. Full ISO-8601 (offset-bearing); the Q3 temporal gate
39
+ * (`assertAuthoredFreezePreconditions`) asserts this precedes every effective
40
+ * authoring-ledger `authoredAt` — §5.1's "frozen BEFORE authoring" embargo made
41
+ * MECHANICAL, not attestational. Dereferenced from the split artifact (Tenet-20),
42
+ * never recomputed. Additive-optional, no `.default()`: a mined/legacy split omits
43
+ * it and parses/serializes BYTE-UNCHANGED.
44
+ */
45
+ frozenAt: z.ZodOptional<z.ZodString>;
36
46
  }, "strip", z.ZodTypeAny, {
37
47
  asOfCommit: string;
38
48
  trainPrs: number[];
@@ -44,6 +54,7 @@ export declare const SplitArtifactSchema: z.ZodEffects<z.ZodObject<{
44
54
  predicate: string;
45
55
  cutIndex: number;
46
56
  };
57
+ frozenAt?: string | undefined;
47
58
  }, {
48
59
  asOfCommit: string;
49
60
  trainPrs: number[];
@@ -55,6 +66,7 @@ export declare const SplitArtifactSchema: z.ZodEffects<z.ZodObject<{
55
66
  predicate: string;
56
67
  cutIndex: number;
57
68
  };
69
+ frozenAt?: string | undefined;
58
70
  }>, {
59
71
  asOfCommit: string;
60
72
  trainPrs: number[];
@@ -66,6 +78,7 @@ export declare const SplitArtifactSchema: z.ZodEffects<z.ZodObject<{
66
78
  predicate: string;
67
79
  cutIndex: number;
68
80
  };
81
+ frozenAt?: string | undefined;
69
82
  }, {
70
83
  asOfCommit: string;
71
84
  trainPrs: number[];
@@ -77,6 +90,7 @@ export declare const SplitArtifactSchema: z.ZodEffects<z.ZodObject<{
77
90
  predicate: string;
78
91
  cutIndex: number;
79
92
  };
93
+ frozenAt?: string | undefined;
80
94
  }>;
81
95
  export type SplitArtifact = z.infer<typeof SplitArtifactSchema>;
82
96
  /** Thrown when `resolveSplit` cannot produce a clean three-way disjoint cover (Tenet 4, fail-loud). */
@@ -143,6 +157,8 @@ export declare function resolveSplit(params: {
143
157
  negativeControlPrs?: number[];
144
158
  predicate: string;
145
159
  mergeCommitByPr: ReadonlyMap<number, string>;
160
+ /** ADR-112 §5.1 D5 — the mechanical freeze instant (full ISO-8601), stamped by the authored producer. Omitted ⇒ mined/legacy split (byte-unchanged). */
161
+ frozenAt?: string;
146
162
  }): SplitArtifact;
147
163
  /** Re-export for callers building the `mergeCommitByPr` map from enumerated metas. */
148
164
  export declare function mergeCommitMap(metas: PrMeta[]): Map<number, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../src/spine/split.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAc,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAO9E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;IAG5B,qDAAqD;;IAErD,sFAAsF;;IAEtF,6DAA6D;;IAE7D,oGAAoG;;IAEpG,qEAAqE;;;QAGnE,+HAA+H;;QAI/H;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBL,CAAC;AAEL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,uGAAuG;AACvG,qBAAa,eAAgB,SAAQ,KAAK;aACZ,MAAM,EAAE,gBAAgB;gBAAxB,MAAM,EAAE,gBAAgB;CAMrD;AAED,6GAA6G;AAC7G,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ;;;;OAIG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB,0GAA0G;IAC1G,QAAQ,EAAE;QAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzF,+GAA+G;IAC/G,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,+GAA+G;IAC/G,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kIAAkI;IAClI,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AA0BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3C,gBAAgB,CA6BlB;AAuBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C,GAAG,aAAa,CAiEhB;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEnE"}
1
+ {"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../src/spine/split.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAc,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAO9E;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;IAG5B,qDAAqD;;IAErD,sFAAsF;;IAEtF,6DAA6D;;IAE7D,oGAAoG;;IAEpG,qEAAqE;;;QAGnE,+HAA+H;;QAI/H;;;;WAIG;;;;;;;;;IAGL;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBH,CAAC;AAEL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,uGAAuG;AACvG,qBAAa,eAAgB,SAAQ,KAAK;aACZ,MAAM,EAAE,gBAAgB;gBAAxB,MAAM,EAAE,gBAAgB;CAMrD;AAED,6GAA6G;AAC7G,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ;;;;OAIG;IACH,KAAK,EAAE,SAAS,CAAC;IACjB,0GAA0G;IAC1G,QAAQ,EAAE;QAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzF,+GAA+G;IAC/G,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,+GAA+G;IAC/G,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kIAAkI;IAClI,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AA0BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3C,gBAAgB,CA6BlB;AAuBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,wJAAwJ;IACxJ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,aAAa,CAoEhB;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAEnE"}
@@ -49,6 +49,16 @@ export const SplitArtifactSchema = z
49
49
  */
50
50
  cutIndex: z.number().int().nonnegative(),
51
51
  }),
52
+ /**
53
+ * ADR-112 §5.1 Slice D5 — the mechanical FREEZE INSTANT, stamped by the authored
54
+ * producer at materialize. Full ISO-8601 (offset-bearing); the Q3 temporal gate
55
+ * (`assertAuthoredFreezePreconditions`) asserts this precedes every effective
56
+ * authoring-ledger `authoredAt` — §5.1's "frozen BEFORE authoring" embargo made
57
+ * MECHANICAL, not attestational. Dereferenced from the split artifact (Tenet-20),
58
+ * never recomputed. Additive-optional, no `.default()`: a mined/legacy split omits
59
+ * it and parses/serializes BYTE-UNCHANGED.
60
+ */
61
+ frozenAt: z.string().datetime({ offset: true }).optional(),
52
62
  })
53
63
  .superRefine((s, ctx) => {
54
64
  // Disjoint cover is a BAG/ROW property, but the cover/overlap checks dedupe via
@@ -222,6 +232,9 @@ export function resolveSplit(params) {
222
232
  positiveControlPrs: uniqueSorted(params.positiveControlPrs ?? []),
223
233
  negativeControlPrs: uniqueSorted(params.negativeControlPrs ?? []),
224
234
  splitRule: { predicate: params.predicate, cutIndex: params.cutIndex },
235
+ // Conditional-spread (not `key: undefined`): a mined split omits `frozenAt` entirely,
236
+ // so `canonicalStringify` emits BYTE-IDENTICAL output to the pre-D5 shape.
237
+ ...(params.frozenAt !== undefined ? { frozenAt: params.frozenAt } : {}),
225
238
  });
226
239
  const validation = validateSplitCover(split, params.corpus, params.mergeCommitByPr);
227
240
  if (!validation.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"split.js","sourceRoot":"","sources":["../../src/spine/split.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"split.js","sourceRoot":"","sources":["../../src/spine/split.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,15 @@ export interface ResolvedPrDiff {
29
29
  * to stamp legitimacy per-rule, survivor-only.
30
30
  */
31
31
  export interface PerRuleControlResult {
32
- /** True iff this rule fired its positive-control target (per-rule, not global). */
32
+ /** True iff this rule's positive control is proven (per-rule, not global): a target firing (mined) or a §4 differential held at emission (authored). */
33
33
  positiveControl: boolean;
34
34
  /** True iff this rule did NOT fire on any negative control (clean = passed). */
35
35
  negativeControl: boolean;
36
- /** Evidence: the firingLabelIds that establish each control result. */
36
+ /**
37
+ * Evidence for the positive result: MINED — the establishing firingLabelIds;
38
+ * AUTHORED — `§6-emission:`-prefixed locus refs (option (i), #2291; see
39
+ * `computeAuthoredPerRuleControlResults`). Never both shapes in one map.
40
+ */
37
41
  evidenceRefs: string[];
38
42
  }
39
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"windtunnel-firing.d.ts","sourceRoot":"","sources":["../../src/spine/windtunnel-firing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,uBAAuB,CAAC;AAEnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;IAChD,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,eAAe,EAAE,OAAO,CAAC;IACzB,gFAAgF;IAChF,eAAe,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,YAAY,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5F;AAED,0EAA0E;AAC1E,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,UAAU,EAAE,oBAAoB,EAAE,CAAC;gBAChC,UAAU,EAAE,oBAAoB,EAAE;CAkB/C;AAED,6EAA6E;AAC7E,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;gBACvB,eAAe,EAAE,MAAM,EAAE;CAStC;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AASD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAKjE;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAwBpE;AAID,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,mEAAmE;IACnE,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,iFAAiF;IACjF,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvD,mEAAmE;IACnE,aAAa,EAAE,iBAAiB,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,uEAAuE;IACvE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,sBAAsB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsDxF;AAwDD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrE,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CA4CpC"}
1
+ {"version":3,"file":"windtunnel-firing.d.ts","sourceRoot":"","sources":["../../src/spine/windtunnel-firing.ts"],"names":[],"mappings":"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"}