@mmnto/totem 1.101.2 → 1.102.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.
@@ -14,9 +14,11 @@
14
14
  * (Tenet 4). Version tolerance within the major + the migration-on-read
15
15
  * registry implement the F1 evolution policy from the #2100 design review.
16
16
  */
17
- import type { RunArtifact } from './schema.js';
17
+ import type { InvocationFailureArtifact, RunArtifact } from './schema.js';
18
18
  /** Absolute runs directory for a given absolute totem dir. */
19
19
  export declare function runsDir(totemDirAbs: string): string;
20
+ /** Absolute terminal-invocation failure directory for a given absolute totem dir. */
21
+ export declare function failureRunsDir(totemDirAbs: string): string;
20
22
  /**
21
23
  * Content address of an artifact: deterministic hash over everything EXCEPT
22
24
  * `createdAt` (observability, not identity — see schema docstring).
@@ -30,6 +32,16 @@ export interface SaveRunArtifactResult {
30
32
  /** True when an identical logical run was already recorded (no write happened). */
31
33
  existed: boolean;
32
34
  }
35
+ /** Content address of a terminal failure artifact, excluding emission time. */
36
+ export declare function computeInvocationFailureArtifactContentHash(artifact: InvocationFailureArtifact): string;
37
+ export interface SaveInvocationFailureArtifactResult {
38
+ /** The content address (= filename stem). */
39
+ hash: string;
40
+ /** Absolute path of the stored artifact. */
41
+ path: string;
42
+ /** True when an identical logical failure was already recorded. */
43
+ existed: boolean;
44
+ }
33
45
  /**
34
46
  * Persist an artifact at its content address, write-if-absent. An existing
35
47
  * file is NEVER rewritten: same hash ⇒ same logical content by construction,
@@ -37,10 +49,18 @@ export interface SaveRunArtifactResult {
37
49
  * append-only means the FIRST write wins forever.
38
50
  */
39
51
  export declare function saveRunArtifact(totemDirAbs: string, artifact: RunArtifact): SaveRunArtifactResult;
52
+ /**
53
+ * Persist a terminal invocation failure at its content address. As with
54
+ * successful run artifacts, atomic create-exclusive makes the ledger
55
+ * append-only and the first write (including its `createdAt`) wins.
56
+ */
57
+ export declare function saveInvocationFailureArtifact(totemDirAbs: string, artifact: InvocationFailureArtifact): SaveInvocationFailureArtifactResult;
40
58
  /**
41
59
  * Load + validate an artifact by content address. Throws `TotemParseError`
42
60
  * on a missing file, corrupt JSON, or schema violation (including an unknown
43
61
  * major with no migration entry) — loud, never a silent partial.
44
62
  */
45
63
  export declare function loadRunArtifact(totemDirAbs: string, hash: string): RunArtifact;
64
+ /** Load and validate a terminal invocation failure by content address. */
65
+ export declare function loadInvocationFailureArtifact(totemDirAbs: string, hash: string): InvocationFailureArtifact;
46
66
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/artifacts/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAkB/C,8DAA8D;AAC9D,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAG3E;AAED,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,qBAAqB,CAgCjG;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CA6B9E"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/artifacts/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAmB1E,8DAA8D;AAC9D,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAG3E;AAED,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,+EAA+E;AAC/E,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,yBAAyB,GAClC,MAAM,CAGR;AAED,MAAM,WAAW,mCAAmC;IAClD,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,qBAAqB,CAgCjG;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,yBAAyB,GAClC,mCAAmC,CAyBrC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CA6B9E;AAED,0EAA0E;AAC1E,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,yBAAyB,CAoB3B"}
@@ -19,9 +19,10 @@ import * as path from 'node:path';
19
19
  import { rethrowAsParseError, TotemParseError } from '../errors.js';
20
20
  import { readJsonSafe } from '../sys/fs.js';
21
21
  import { calculateDeterministicHash } from './hash.js';
22
- import { RunArtifactSchema } from './schema.js';
22
+ import { InvocationFailureArtifactSchema, RunArtifactSchema } from './schema.js';
23
23
  /** Storage layout segments under the totem dir (exact layout = impl call, #2100). */
24
24
  const RUNS_DIR_SEGMENTS = ['artifacts', 'runs'];
25
+ const FAILURE_RUNS_DIR_SEGMENTS = ['artifacts', 'runs', 'failures'];
25
26
  /** Filename guard — the id IS a filesystem path segment, so gate it hard. */
26
27
  const SHA256_HEX = /^[0-9a-f]{64}$/;
27
28
  /**
@@ -36,6 +37,10 @@ const MIGRATIONS = new Map();
36
37
  export function runsDir(totemDirAbs) {
37
38
  return path.join(totemDirAbs, ...RUNS_DIR_SEGMENTS);
38
39
  }
40
+ /** Absolute terminal-invocation failure directory for a given absolute totem dir. */
41
+ export function failureRunsDir(totemDirAbs) {
42
+ return path.join(totemDirAbs, ...FAILURE_RUNS_DIR_SEGMENTS);
43
+ }
39
44
  /**
40
45
  * Content address of an artifact: deterministic hash over everything EXCEPT
41
46
  * `createdAt` (observability, not identity — see schema docstring).
@@ -44,6 +49,11 @@ export function computeRunArtifactContentHash(artifact) {
44
49
  const { createdAt: _excluded, ...identity } = artifact;
45
50
  return calculateDeterministicHash(identity);
46
51
  }
52
+ /** Content address of a terminal failure artifact, excluding emission time. */
53
+ export function computeInvocationFailureArtifactContentHash(artifact) {
54
+ const { createdAt: _excluded, ...identity } = artifact;
55
+ return calculateDeterministicHash(identity);
56
+ }
47
57
  /**
48
58
  * Persist an artifact at its content address, write-if-absent. An existing
49
59
  * file is NEVER rewritten: same hash ⇒ same logical content by construction,
@@ -82,6 +92,35 @@ export function saveRunArtifact(totemDirAbs, artifact) {
82
92
  }
83
93
  return { hash, path: filePath, existed: false };
84
94
  }
95
+ /**
96
+ * Persist a terminal invocation failure at its content address. As with
97
+ * successful run artifacts, atomic create-exclusive makes the ledger
98
+ * append-only and the first write (including its `createdAt`) wins.
99
+ */
100
+ export function saveInvocationFailureArtifact(totemDirAbs, artifact) {
101
+ const validated = InvocationFailureArtifactSchema.parse(artifact);
102
+ const hash = computeInvocationFailureArtifactContentHash(validated);
103
+ const dir = failureRunsDir(totemDirAbs);
104
+ const filePath = path.join(dir, `${hash}.json`);
105
+ if (fs.existsSync(filePath)) {
106
+ return { hash, path: filePath, existed: true };
107
+ }
108
+ fs.mkdirSync(dir, { recursive: true });
109
+ try {
110
+ fs.writeFileSync(filePath, JSON.stringify(validated, null, 2), {
111
+ encoding: 'utf-8',
112
+ mode: 0o600,
113
+ flag: 'wx',
114
+ });
115
+ }
116
+ catch (err) {
117
+ if (err.code === 'EEXIST') {
118
+ return { hash, path: filePath, existed: true };
119
+ }
120
+ throw err;
121
+ }
122
+ return { hash, path: filePath, existed: false };
123
+ }
85
124
  /**
86
125
  * Load + validate an artifact by content address. Throws `TotemParseError`
87
126
  * on a missing file, corrupt JSON, or schema violation (including an unknown
@@ -110,6 +149,21 @@ export function loadRunArtifact(totemDirAbs, hash) {
110
149
  rethrowAsParseError(`Run artifact ${hash} failed schema validation`, err, 'The artifact may be corrupted or written by an incompatible totem version; re-emit it (or add the migration entry for its major).');
111
150
  }
112
151
  }
152
+ /** Load and validate a terminal invocation failure by content address. */
153
+ export function loadInvocationFailureArtifact(totemDirAbs, hash) {
154
+ if (!SHA256_HEX.test(hash)) {
155
+ throw new TotemParseError(`Invalid invocation-failure artifact id "${hash}" — expected a 64-char sha256 hex content address.`, 'Pass the hash exactly as reported at emission (or from the artifacts/runs/failures filename).');
156
+ }
157
+ const filePath = path.join(failureRunsDir(totemDirAbs), `${hash}.json`);
158
+ const raw = readJsonSafe(filePath);
159
+ try {
160
+ return InvocationFailureArtifactSchema.parse(raw);
161
+ // totem-context: rethrowAsParseError returns never; this catch normalizes schema failures into the public TotemParseError load contract and swallows nothing.
162
+ }
163
+ catch (err) {
164
+ rethrowAsParseError(`Invocation failure artifact ${hash} failed schema validation`, err, 'The artifact may be corrupted or written by an incompatible totem version; re-emit it.');
165
+ }
166
+ }
113
167
  /** Best-effort major extraction from a raw parsed payload; undefined when absent/garbled. */
114
168
  function readMajor(raw) {
115
169
  if (typeof raw !== 'object' || raw === null)
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/artifacts/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/artifacts/storage.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,20 @@ import * as path from 'node:path';
4
4
  import { afterEach, beforeEach, describe, expect, it } from 'vitest';
5
5
  import { TotemParseError } from '../errors.js';
6
6
  import { cleanTmpDir } from '../test-utils.js';
7
- import { RUN_ARTIFACT_SCHEMA_VERSION } from './schema.js';
8
- import { computeRunArtifactContentHash, loadRunArtifact, runsDir, saveRunArtifact, } from './storage.js';
7
+ import { INVOCATION_FAILURE_ARTIFACT_SCHEMA_VERSION, INVOKE_MESSAGE_EVIDENCE_LIMIT_BYTES, RUN_ARTIFACT_SCHEMA_VERSION, } from './schema.js';
8
+ import { computeInvocationFailureArtifactContentHash, computeRunArtifactContentHash, failureRunsDir, loadInvocationFailureArtifact, loadRunArtifact, runsDir, saveInvocationFailureArtifact, saveRunArtifact, } from './storage.js';
9
+ function textEvidence(text, limitBytes = 64 * 1024) {
10
+ const bytes = Buffer.byteLength(text, 'utf-8');
11
+ return {
12
+ encoding: 'utf-8',
13
+ head: text,
14
+ observedBytes: bytes,
15
+ retainedBytes: bytes,
16
+ limitBytes,
17
+ truncated: false,
18
+ dlp: 'masked',
19
+ };
20
+ }
9
21
  function artifact(overrides = {}) {
10
22
  return {
11
23
  schemaVersion: RUN_ARTIFACT_SCHEMA_VERSION,
@@ -24,6 +36,46 @@ function artifact(overrides = {}) {
24
36
  ...overrides,
25
37
  };
26
38
  }
39
+ function failureArtifact(overrides = {}) {
40
+ return {
41
+ schemaVersion: INVOCATION_FAILURE_ARTIFACT_SCHEMA_VERSION,
42
+ inputBundle: { maskedPrompt: 'prompt after DLP' },
43
+ inputHash: 'c'.repeat(64),
44
+ grounding: { hash: 'd'.repeat(64), provenanceSummary: 'similarity-only' },
45
+ requestedBackend: {
46
+ provider: 'anthropic',
47
+ model: 'claude-sonnet-5',
48
+ qualifiedModel: 'anthropic:claude-sonnet-5',
49
+ admissionClass: 'completion_only',
50
+ taskProfile: 'Review',
51
+ },
52
+ attempts: [
53
+ {
54
+ sequence: 1,
55
+ route: 'cli-fallback',
56
+ provider: 'anthropic',
57
+ model: 'claude-sonnet-5',
58
+ status: 'failed',
59
+ durationMs: 900,
60
+ failureKind: 'process-exit',
61
+ process: {
62
+ exitCode: 1,
63
+ signal: null,
64
+ timedOut: false,
65
+ stdout: textEvidence('partial'),
66
+ stderr: textEvidence('rejected'),
67
+ },
68
+ },
69
+ ],
70
+ terminal: {
71
+ kind: 'process-exit',
72
+ attempt: 1,
73
+ message: textEvidence('Claude CLI exited with code 1', INVOKE_MESSAGE_EVIDENCE_LIMIT_BYTES),
74
+ },
75
+ createdAt: '2026-07-19T12:00:00.000Z',
76
+ ...overrides,
77
+ };
78
+ }
27
79
  describe('run-artifact storage', () => {
28
80
  let totemDir;
29
81
  beforeEach(() => {
@@ -76,4 +128,46 @@ describe('run-artifact storage', () => {
76
128
  expect(() => loadRunArtifact(totemDir, '../../secrets')).toThrow(/sha256/i);
77
129
  });
78
130
  });
131
+ describe('invocation-failure artifact storage', () => {
132
+ let totemDir;
133
+ beforeEach(() => {
134
+ totemDir = fs.mkdtempSync(path.join(os.tmpdir(), 'totem-invoke-failures-'));
135
+ });
136
+ afterEach(() => {
137
+ cleanTmpDir(totemDir);
138
+ });
139
+ it('stores under runs/failures, mode 0600, and loads the artifact back', () => {
140
+ const failure = failureArtifact();
141
+ const saved = saveInvocationFailureArtifact(totemDir, failure);
142
+ expect(saved.existed).toBe(false);
143
+ expect(saved.path).toBe(path.join(totemDir, 'artifacts', 'runs', 'failures', `${saved.hash}.json`));
144
+ expect(loadInvocationFailureArtifact(totemDir, saved.hash)).toEqual(failure);
145
+ if (process.platform !== 'win32') {
146
+ expect(fs.statSync(saved.path).mode & 0o777).toBe(0o600);
147
+ }
148
+ });
149
+ it('excludes createdAt from identity and preserves the first write', () => {
150
+ const early = failureArtifact({ createdAt: '2026-07-19T12:00:00.000Z' });
151
+ const late = failureArtifact({ createdAt: '2026-07-20T12:00:00.000Z' });
152
+ expect(computeInvocationFailureArtifactContentHash(early)).toBe(computeInvocationFailureArtifactContentHash(late));
153
+ const first = saveInvocationFailureArtifact(totemDir, early);
154
+ const second = saveInvocationFailureArtifact(totemDir, late);
155
+ expect(second).toEqual({ ...first, existed: true });
156
+ expect(loadInvocationFailureArtifact(totemDir, first.hash).createdAt).toBe(early.createdAt);
157
+ });
158
+ it('changes identity when persisted diagnostic evidence changes', () => {
159
+ const original = failureArtifact();
160
+ const changed = failureArtifact({
161
+ terminal: {
162
+ ...original.terminal,
163
+ message: textEvidence('different bounded message', INVOKE_MESSAGE_EVIDENCE_LIMIT_BYTES),
164
+ },
165
+ });
166
+ expect(computeInvocationFailureArtifactContentHash(original)).not.toBe(computeInvocationFailureArtifactContentHash(changed));
167
+ });
168
+ it('rejects invalid ids before reading the failure directory', () => {
169
+ expect(failureRunsDir(totemDir)).toBe(path.join(totemDir, 'artifacts', 'runs', 'failures'));
170
+ expect(() => loadInvocationFailureArtifact(totemDir, '../../secrets')).toThrow(/sha256/i);
171
+ });
172
+ });
79
173
  //# sourceMappingURL=storage.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../../src/artifacts/storage.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../../src/artifacts/storage.test.ts"],"names":[],"mappings":"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"}
@@ -70,15 +70,15 @@ export declare const VerdictDiffScopeSchema: z.ZodDiscriminatedUnion<"source", [
70
70
  base: z.ZodString;
71
71
  head: z.ZodString;
72
72
  }, "strip", z.ZodTypeAny, {
73
+ head: string;
73
74
  source: "explicit-range";
74
75
  diffHash: string;
75
76
  base: string;
76
- head: string;
77
77
  }, {
78
+ head: string;
78
79
  source: "explicit-range";
79
80
  diffHash: string;
80
81
  base: string;
81
- head: string;
82
82
  }>, z.ZodObject<{
83
83
  source: z.ZodLiteral<"branch-vs-base">;
84
84
  diffHash: z.ZodString;
@@ -441,6 +441,23 @@ export declare function deriveSettled(v: VerdictPredicateInput): boolean;
441
441
  * deliberately STRICTER than cache-eligible (no CRITICALs).
442
442
  */
443
443
  export declare function deriveCacheEligible(v: VerdictPredicateInput): boolean;
444
+ /**
445
+ * The exit-contract's non-pass gate (mmnto-ai/totem#2452): a fan produced ZERO
446
+ * `completed` verdict lanes. `completed` is the ONLY lane status that carries a
447
+ * usable structured verdict — an `abstained` lane invoked but its output was not
448
+ * extractable (sensor-down), and a `failed` lane never produced one — so neither
449
+ * is a verdict. A zero-completed fan is therefore NEVER a review pass (Tenets
450
+ * 12/13: a provider-unsettled round is honest-absent, never an external pass);
451
+ * the CLI writes the honest verdict, then hard-errors on this predicate BEFORE
452
+ * any cache stamp so `--override` can never mint a push authorization from it.
453
+ *
454
+ * Expressed over `lanes` as the SINGLE SOURCE OF TRUTH the artifact's
455
+ * `completedLaneCount` is validated against (`VerdictArtifactSchema` superRefine
456
+ * binds `completedLaneCount === #completed`), so `hasNoCompletedLane(v.lanes)`
457
+ * and `v.completedLaneCount === 0` are equal by construction. An empty fan
458
+ * (guarded upstream as a distinct pre-attempt error) trivially has none.
459
+ */
460
+ export declare function hasNoCompletedLane(lanes: readonly VerdictLane[]): boolean;
444
461
  /**
445
462
  * The verdict artifact. See the module docstring for the LANE-BLINDNESS
446
463
  * invariant (Prop 302): NO warm/cold runner-lane discriminator field exists,
@@ -468,15 +485,15 @@ export declare const VerdictArtifactSchema: z.ZodEffects<z.ZodObject<{
468
485
  base: z.ZodString;
469
486
  head: z.ZodString;
470
487
  }, "strip", z.ZodTypeAny, {
488
+ head: string;
471
489
  source: "explicit-range";
472
490
  diffHash: string;
473
491
  base: string;
474
- head: string;
475
492
  }, {
493
+ head: string;
476
494
  source: "explicit-range";
477
495
  diffHash: string;
478
496
  base: string;
479
- head: string;
480
497
  }>, z.ZodObject<{
481
498
  source: z.ZodLiteral<"branch-vs-base">;
482
499
  diffHash: z.ZodString;
@@ -737,10 +754,10 @@ export declare const VerdictArtifactSchema: z.ZodEffects<z.ZodObject<{
737
754
  }, "strip", z.ZodTypeAny, {
738
755
  createdAt: string;
739
756
  diffScope: {
757
+ head: string;
740
758
  source: "explicit-range";
741
759
  diffHash: string;
742
760
  base: string;
743
- head: string;
744
761
  } | {
745
762
  source: "branch-vs-base";
746
763
  diffHash: string;
@@ -817,10 +834,10 @@ export declare const VerdictArtifactSchema: z.ZodEffects<z.ZodObject<{
817
834
  }, {
818
835
  createdAt: string;
819
836
  diffScope: {
837
+ head: string;
820
838
  source: "explicit-range";
821
839
  diffHash: string;
822
840
  base: string;
823
- head: string;
824
841
  } | {
825
842
  source: "branch-vs-base";
826
843
  diffHash: string;
@@ -897,10 +914,10 @@ export declare const VerdictArtifactSchema: z.ZodEffects<z.ZodObject<{
897
914
  }>, {
898
915
  createdAt: string;
899
916
  diffScope: {
917
+ head: string;
900
918
  source: "explicit-range";
901
919
  diffHash: string;
902
920
  base: string;
903
- head: string;
904
921
  } | {
905
922
  source: "branch-vs-base";
906
923
  diffHash: string;
@@ -977,10 +994,10 @@ export declare const VerdictArtifactSchema: z.ZodEffects<z.ZodObject<{
977
994
  }, {
978
995
  createdAt: string;
979
996
  diffScope: {
997
+ head: string;
980
998
  source: "explicit-range";
981
999
  diffHash: string;
982
1000
  base: string;
983
- head: string;
984
1001
  } | {
985
1002
  source: "branch-vs-base";
986
1003
  diffHash: string;
@@ -1 +1 @@
1
- {"version":3,"file":"verdict.d.ts","sourceRoot":"","sources":["../../src/artifacts/verdict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verdict.d.ts","sourceRoot":"","sources":["../../src/artifacts/verdict.ts"],"names":[],"mappings":"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"}
@@ -340,6 +340,25 @@ export function deriveCacheEligible(v) {
340
340
  !hasDecidablePostCheckFail(v.postChecks) &&
341
341
  v.reviewedState === 'matched');
342
342
  }
343
+ /**
344
+ * The exit-contract's non-pass gate (mmnto-ai/totem#2452): a fan produced ZERO
345
+ * `completed` verdict lanes. `completed` is the ONLY lane status that carries a
346
+ * usable structured verdict — an `abstained` lane invoked but its output was not
347
+ * extractable (sensor-down), and a `failed` lane never produced one — so neither
348
+ * is a verdict. A zero-completed fan is therefore NEVER a review pass (Tenets
349
+ * 12/13: a provider-unsettled round is honest-absent, never an external pass);
350
+ * the CLI writes the honest verdict, then hard-errors on this predicate BEFORE
351
+ * any cache stamp so `--override` can never mint a push authorization from it.
352
+ *
353
+ * Expressed over `lanes` as the SINGLE SOURCE OF TRUTH the artifact's
354
+ * `completedLaneCount` is validated against (`VerdictArtifactSchema` superRefine
355
+ * binds `completedLaneCount === #completed`), so `hasNoCompletedLane(v.lanes)`
356
+ * and `v.completedLaneCount === 0` are equal by construction. An empty fan
357
+ * (guarded upstream as a distinct pre-attempt error) trivially has none.
358
+ */
359
+ export function hasNoCompletedLane(lanes) {
360
+ return !lanes.some((l) => l.status === 'completed');
361
+ }
343
362
  // ─── Verdict artifact ──────────────────────────────────────────────────────
344
363
  /**
345
364
  * The verdict artifact. See the module docstring for the LANE-BLINDNESS
@@ -1 +1 @@
1
- {"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../src/artifacts/verdict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../src/artifacts/verdict.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ import { TotemError, TotemParseError } from '../errors.js';
29
29
  import { cleanTmpDir } from '../test-utils.js';
30
30
  import { calculateDeterministicHash } from './hash.js';
31
31
  import { classifyDiversity } from './panel.js';
32
- import { computeLineageKey, computeVerdictArtifactContentHash, deriveCacheEligible, deriveLessonsConsulted, deriveSettled, findLatestVerdictForLineage, listVerdictArtifacts, loadVerdictArtifact, renderCovariateLine, saveVerdictArtifact, VERDICT_ARTIFACT_SCHEMA_VERSION, VerdictArtifactSchema, verdictsDir, } from './verdict.js';
32
+ import { computeLineageKey, computeVerdictArtifactContentHash, deriveCacheEligible, deriveLessonsConsulted, deriveSettled, findLatestVerdictForLineage, hasNoCompletedLane, listVerdictArtifacts, loadVerdictArtifact, renderCovariateLine, saveVerdictArtifact, VERDICT_ARTIFACT_SCHEMA_VERSION, VerdictArtifactSchema, verdictsDir, } from './verdict.js';
33
33
  // ─── Fixtures ──────────────────────────────────────────────────────────────
34
34
  //
35
35
  // laneIds follow the backend-derived vocabulary `lane-<index>:<backend>` (G1),
@@ -445,6 +445,34 @@ describe('deriveSettled / deriveCacheEligible (pure predicates)', () => {
445
445
  expect(deriveCacheEligible(drift)).toBe(false);
446
446
  });
447
447
  });
448
+ // ─── hasNoCompletedLane — exit-contract non-pass gate (mmnto-ai/totem#2452) ───
449
+ describe('hasNoCompletedLane (exit-contract non-pass gate, #2452)', () => {
450
+ it('is TRUE when zero lanes completed — the abstain-bearing shapes that used to exit 0', () => {
451
+ // A single abstained lane (the exact #2452 repro): output invoked but unextractable.
452
+ expect(hasNoCompletedLane([abstainedLane(0)])).toBe(true);
453
+ // Abstained + failed mix — still no usable verdict.
454
+ expect(hasNoCompletedLane([abstainedLane(0), failedLane(1)])).toBe(true);
455
+ // All lanes failed to invoke (the pre-existing all-failed case this predicate subsumes).
456
+ expect(hasNoCompletedLane([failedLane(0), failedLane(1)])).toBe(true);
457
+ });
458
+ it('is FALSE when at least one lane completed — a usable (even partially-degraded) fan', () => {
459
+ expect(hasNoCompletedLane([completedLane(0)])).toBe(false);
460
+ // The sharp guard: a completed + ABSTAINED mix must NOT trip the gate (completedLaneCount===1).
461
+ expect(hasNoCompletedLane([completedLane(0), abstainedLane(1)])).toBe(false);
462
+ expect(hasNoCompletedLane([completedLane(0), failedLane(1)])).toBe(false);
463
+ });
464
+ it('agrees with completedLaneCount === 0 by construction (the superRefine binds them)', () => {
465
+ for (const lanes of [
466
+ [completedLane(0)],
467
+ [abstainedLane(0)],
468
+ [completedLane(0), abstainedLane(1)],
469
+ [abstainedLane(0), failedLane(1)],
470
+ ]) {
471
+ const completedCount = lanes.filter((l) => l.status === 'completed').length;
472
+ expect(hasNoCompletedLane(lanes)).toBe(completedCount === 0);
473
+ }
474
+ });
475
+ });
448
476
  // ─── Cross-field invariants (finding 9) ──────────────────────────────────────
449
477
  describe('cross-field invariants (finding 9)', () => {
450
478
  it('panelArtifactHash ⟺ diversity, both directions', () => {