@mmnto/cli 1.88.0 → 1.90.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 (104) hide show
  1. package/README.md +34 -0
  2. package/dist/author-sandbox.d.ts +32 -0
  3. package/dist/author-sandbox.d.ts.map +1 -0
  4. package/dist/author-sandbox.js +95 -0
  5. package/dist/author-sandbox.js.map +1 -0
  6. package/dist/authored-rule-intake-prewindow.test.d.ts +2 -0
  7. package/dist/authored-rule-intake-prewindow.test.d.ts.map +1 -0
  8. package/dist/authored-rule-intake-prewindow.test.js +84 -0
  9. package/dist/authored-rule-intake-prewindow.test.js.map +1 -0
  10. package/dist/authored-rule-intake.d.ts +21 -1
  11. package/dist/authored-rule-intake.d.ts.map +1 -1
  12. package/dist/authored-rule-intake.js +56 -1
  13. package/dist/authored-rule-intake.js.map +1 -1
  14. package/dist/commands/authored-whitelist.d.ts.map +1 -1
  15. package/dist/commands/authored-whitelist.js +19 -8
  16. package/dist/commands/authored-whitelist.js.map +1 -1
  17. package/dist/commands/ecl-gc.d.ts +259 -0
  18. package/dist/commands/ecl-gc.d.ts.map +1 -0
  19. package/dist/commands/ecl-gc.js +579 -0
  20. package/dist/commands/ecl-gc.js.map +1 -0
  21. package/dist/commands/ecl-gc.test.d.ts +12 -0
  22. package/dist/commands/ecl-gc.test.d.ts.map +1 -0
  23. package/dist/commands/ecl-gc.test.js +609 -0
  24. package/dist/commands/ecl-gc.test.js.map +1 -0
  25. package/dist/commands/eject.d.ts.map +1 -1
  26. package/dist/commands/eject.js +10 -6
  27. package/dist/commands/eject.js.map +1 -1
  28. package/dist/commands/eject.test.js +5 -1
  29. package/dist/commands/eject.test.js.map +1 -1
  30. package/dist/commands/init-templates.d.ts +4 -0
  31. package/dist/commands/init-templates.d.ts.map +1 -1
  32. package/dist/commands/init-templates.js +30 -2
  33. package/dist/commands/init-templates.js.map +1 -1
  34. package/dist/commands/init.test.js +26 -3
  35. package/dist/commands/init.test.js.map +1 -1
  36. package/dist/commands/mail.d.ts +11 -0
  37. package/dist/commands/mail.d.ts.map +1 -1
  38. package/dist/commands/mail.js +5 -1
  39. package/dist/commands/mail.js.map +1 -1
  40. package/dist/commands/mail.test.js +19 -0
  41. package/dist/commands/mail.test.js.map +1 -1
  42. package/dist/commands/rule-author-command.test.js +29 -2
  43. package/dist/commands/rule-author-command.test.js.map +1 -1
  44. package/dist/commands/rule-author-teardown.test.d.ts +2 -0
  45. package/dist/commands/rule-author-teardown.test.d.ts.map +1 -0
  46. package/dist/commands/rule-author-teardown.test.js +123 -0
  47. package/dist/commands/rule-author-teardown.test.js.map +1 -0
  48. package/dist/commands/rule-author.d.ts +1 -0
  49. package/dist/commands/rule-author.d.ts.map +1 -1
  50. package/dist/commands/rule-author.js +143 -2
  51. package/dist/commands/rule-author.js.map +1 -1
  52. package/dist/commands/spine-authored-cert-corpus.d.ts +15 -0
  53. package/dist/commands/spine-authored-cert-corpus.d.ts.map +1 -1
  54. package/dist/commands/spine-authored-cert-corpus.js +17 -1
  55. package/dist/commands/spine-authored-cert-corpus.js.map +1 -1
  56. package/dist/commands/spine-authored-cert-corpus.test.js +440 -4
  57. package/dist/commands/spine-authored-cert-corpus.test.js.map +1 -1
  58. package/dist/commands/spine-authored-materialize.d.ts +55 -0
  59. package/dist/commands/spine-authored-materialize.d.ts.map +1 -0
  60. package/dist/commands/spine-authored-materialize.js +315 -0
  61. package/dist/commands/spine-authored-materialize.js.map +1 -0
  62. package/dist/commands/spine-cert-materialize.d.ts.map +1 -1
  63. package/dist/commands/spine-cert-materialize.js +17 -0
  64. package/dist/commands/spine-cert-materialize.js.map +1 -1
  65. package/dist/commands/spine-cert-persist.d.ts +17 -1
  66. package/dist/commands/spine-cert-persist.d.ts.map +1 -1
  67. package/dist/commands/spine-cert-persist.js +17 -5
  68. package/dist/commands/spine-cert-persist.js.map +1 -1
  69. package/dist/commands/spine-cert-persist.test.js +60 -0
  70. package/dist/commands/spine-cert-persist.test.js.map +1 -1
  71. package/dist/commands/spine-cert-run-corpus.d.ts +18 -28
  72. package/dist/commands/spine-cert-run-corpus.d.ts.map +1 -1
  73. package/dist/commands/spine-cert-run-corpus.js +162 -21
  74. package/dist/commands/spine-cert-run-corpus.js.map +1 -1
  75. package/dist/commands/spine-derive-labels.d.ts.map +1 -1
  76. package/dist/commands/spine-derive-labels.js +9 -1
  77. package/dist/commands/spine-derive-labels.js.map +1 -1
  78. package/dist/commands/spine-freeze-orchestration.test.d.ts +2 -0
  79. package/dist/commands/spine-freeze-orchestration.test.d.ts.map +1 -0
  80. package/dist/commands/spine-freeze-orchestration.test.js +468 -0
  81. package/dist/commands/spine-freeze-orchestration.test.js.map +1 -0
  82. package/dist/commands/spine-freeze-split.d.ts +10 -0
  83. package/dist/commands/spine-freeze-split.d.ts.map +1 -0
  84. package/dist/commands/spine-freeze-split.js +131 -0
  85. package/dist/commands/spine-freeze-split.js.map +1 -0
  86. package/dist/commands/spine-windtunnel.d.ts +35 -0
  87. package/dist/commands/spine-windtunnel.d.ts.map +1 -1
  88. package/dist/commands/spine-windtunnel.js +47 -7
  89. package/dist/commands/spine-windtunnel.js.map +1 -1
  90. package/dist/index.js +93 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/spine-fixture-ancestry.d.ts +20 -0
  93. package/dist/spine-fixture-ancestry.d.ts.map +1 -0
  94. package/dist/spine-fixture-ancestry.js +46 -0
  95. package/dist/spine-fixture-ancestry.js.map +1 -0
  96. package/dist/spine-fixture-ancestry.test.d.ts +2 -0
  97. package/dist/spine-fixture-ancestry.test.d.ts.map +1 -0
  98. package/dist/spine-fixture-ancestry.test.js +62 -0
  99. package/dist/spine-fixture-ancestry.test.js.map +1 -0
  100. package/dist/spine-freeze-proof.d.ts +89 -0
  101. package/dist/spine-freeze-proof.d.ts.map +1 -0
  102. package/dist/spine-freeze-proof.js +237 -0
  103. package/dist/spine-freeze-proof.js.map +1 -0
  104. package/package.json +2 -2
@@ -0,0 +1,131 @@
1
+ // ─── ADR-112 §5.1/§8 R1 — `totem spine freeze-split` (the pre-authoring freeze) ─
2
+ //
3
+ // Derives the real split from lc HEAD at freeze time (Q3 derived-at-freeze:
4
+ // `asOfCommit` = the ACTUAL clone HEAD, recorded in the artifact — recent-biased
5
+ // by construction, which the live-fire falsifier wants), stamps `frozenAt` (the
6
+ // freeze IS the one legitimate clock event in the authored lane), derives the
7
+ // content-addressed `splitRef` + `freezeCommitment`, and writes the TRACKED-
8
+ // PUBLIC artifact. It does NOT commit: the freeze lands as a PR whose
9
+ // operator-named merge IS the human gate (Q3 — no separate naming ceremony);
10
+ // the artifact becomes valid-for-authoring only once the `rule author` binding
11
+ // can prove it on the shared ref (spine-freeze-proof.ts).
12
+ //
13
+ // Every gate runs BEFORE the single write — nothing lands on any failure
14
+ // (the D5 nothing-written-on-failure invariant). Thin lazy command wrapper
15
+ // (the `.coderabbit.yaml` cli lazy-load rule).
16
+ export async function freezeSplitCommand(opts) {
17
+ const fs = await import('node:fs');
18
+ const path = await import('node:path');
19
+ const { assembleFrozenSplitArtifact, canonicalStringify, checkHeldOutFloor, computeCorpusIntegrity, FreezeSplitParamsSchema, FROZEN_SPLIT_FILE, isBotIdentity, mergeCommitMap, parsePrNumber, parseRevertSha, resolveGitRoot, resolveSelectionRule, resolveSplit, safeExec, TotemError, } = await import('@mmnto/totem');
20
+ const { enumeratePrMetas } = await import('./spine-windtunnel.js');
21
+ const cwd = opts.cwd ?? process.cwd();
22
+ const repoRoot = resolveGitRoot(cwd) ?? cwd;
23
+ const totemDir = path.join(repoRoot, '.totem');
24
+ const lcDir = opts.lcDir ?? process.env['TOTEM_LC_DIR'];
25
+ if (!lcDir) {
26
+ throw new TotemError('CONFIG_INVALID', 'freeze-split requires the lc clone (--lc-dir or TOTEM_LC_DIR).', 'Pass --lc-dir <path-to-liquid-city-clone>; the freeze derives the window from its HEAD.');
27
+ }
28
+ // 1. Load + validate the curated freeze params (the ONLY curated inputs — Q3).
29
+ let paramsRaw;
30
+ try {
31
+ paramsRaw = JSON.parse(fs.readFileSync(path.resolve(cwd, opts.paramsPath), 'utf-8'));
32
+ }
33
+ catch (err) {
34
+ throw new TotemError('CONFIG_INVALID', `freeze-split: cannot read/parse the freeze params at ${opts.paramsPath}`, 'Provide a valid JSON params file (see FreezeSplitParamsSchema).', err);
35
+ }
36
+ const parsed = FreezeSplitParamsSchema.safeParse(paramsRaw);
37
+ if (!parsed.success) {
38
+ const issues = parsed.error.issues
39
+ .map((i) => ` • ${i.path.join('.')}: ${i.message}`)
40
+ .join('\n');
41
+ throw new TotemError('CONFIG_INVALID', `freeze-split: params invalid:\n${issues}`, 'Fix the params file and retry.');
42
+ }
43
+ const params = parsed.data;
44
+ // 2. Q3 derived-at-freeze: asOfCommit = the ACTUAL lc HEAD, derived then pinned (Tenet 20).
45
+ let asOfCommit;
46
+ try {
47
+ asOfCommit = safeExec('git', ['-C', lcDir, 'rev-parse', 'HEAD'], {}).trim().toLowerCase();
48
+ }
49
+ catch (err) {
50
+ throw new TotemError('GIT_FAILED', `freeze-split: cannot resolve HEAD of the lc clone at ${lcDir}`, 'Verify --lc-dir points at a git clone.', err);
51
+ }
52
+ if (!/^[0-9a-f]{40}$/.test(asOfCommit)) {
53
+ throw new TotemError('GIT_FAILED', `freeze-split: lc HEAD did not resolve to a 40-hex SHA (got "${asOfCommit}")`, 'Verify the lc clone is intact.');
54
+ }
55
+ // 3. Enumerate + derive the corpus from the pins.
56
+ const metas = enumeratePrMetas(asOfCommit, lcDir, safeExec, {
57
+ parsePrNumber,
58
+ parseRevertSha,
59
+ isBotIdentity,
60
+ });
61
+ const corpus = resolveSelectionRule(metas, {
62
+ codePathClassifier: params.selectionRule.codePathClassifier,
63
+ excludeRevertPairs: params.selectionRule.excludeRevertPairs,
64
+ excludeBotPrs: params.selectionRule.excludeBotPrs,
65
+ window: params.selectionRule.window,
66
+ });
67
+ if (corpus.length === 0) {
68
+ throw new TotemError('CONFIG_INVALID', 'freeze-split: the selection pins resolved an EMPTY corpus — nothing to freeze.', 'Check the codePathClassifier globs against the lc history.');
69
+ }
70
+ // 4. Resolve the split; the freeze mints `frozenAt` — the ONE legitimate clock
71
+ // in the authored lane (the event being stamped IS this run). All downstream
72
+ // verification is topology-first; the instant is a recorded fact, not a proof.
73
+ const mergeCommitByPr = mergeCommitMap(metas);
74
+ const split = resolveSplit({
75
+ asOfCommit,
76
+ corpus,
77
+ orderedNewestFirst: metas.map((m) => m.pr),
78
+ excludedPrs: params.split.excludedPrs,
79
+ cutIndex: params.split.cutIndex,
80
+ positiveControlPrs: [],
81
+ negativeControlPrs: [],
82
+ predicate: params.selectionRule.predicate,
83
+ mergeCommitByPr,
84
+ frozenAt: new Date().toISOString(),
85
+ });
86
+ // 5. Freeze-side Q2 floor gate (hoisted from the D5 materialize gates — the floor
87
+ // must hold at freeze, not first surface at materialize).
88
+ const floorIssues = checkHeldOutFloor(split);
89
+ if (floorIssues.length > 0) {
90
+ throw new TotemError('GATE_INVALID', `freeze-split rejected — ${floorIssues.length} floor violation(s):\n` +
91
+ floorIssues.map((s) => ` • ${s}`).join('\n'), 'Choose a cutIndex satisfying heldOut/N ≥ 0.5 (the exact ratio is the recorded build-choice, #804).');
92
+ }
93
+ // 6. The sandbox anchor: the NEWEST train PR's merge commit (ancestry order —
94
+ // metas are newest-first, so the first train member encountered is newest).
95
+ const trainSet = new Set(split.trainPrs);
96
+ const newestTrainMeta = metas.find((m) => trainSet.has(m.pr));
97
+ if (newestTrainMeta === undefined) {
98
+ throw new TotemError('GATE_INVALID', 'freeze-split: no enumerated meta for any train PR — cannot derive cutBoundarySha.', 'The enumeration must cover the corpus; verify the lc clone history.');
99
+ }
100
+ // 7. Assemble (derives splitRef + freezeCommitment) — pure, throws on malformed.
101
+ const artifact = assembleFrozenSplitArtifact({
102
+ gate: params.gate,
103
+ repo: params.repo,
104
+ selectionPins: params.selectionRule,
105
+ split,
106
+ cutBoundarySha: newestTrainMeta.mergeCommit,
107
+ corpusIntegrity: computeCorpusIntegrity(corpus, mergeCommitByPr),
108
+ ...(params.label !== undefined ? { label: params.label } : {}),
109
+ });
110
+ // 8. Single write into the tracked freeze home (`.totem/spine/<gate>/frozen-split.json`;
111
+ // the kebab `gate` slug is schema-enforced, so the path cannot escape the home).
112
+ // An existing artifact is never silently overwritten: a re-freeze orphans every
113
+ // downstream ledger entry (t1 by design) and must be EXPLICIT.
114
+ const gateDir = path.join(totemDir, 'spine', params.gate);
115
+ const outFile = path.join(gateDir, FROZEN_SPLIT_FILE);
116
+ if (fs.existsSync(outFile) && opts.refreeze !== true) {
117
+ throw new TotemError('GATE_INVALID', `freeze-split: a frozen split already exists at ${outFile} — overwriting IS a re-freeze (it orphans every ledger entry chained to the old commitment).`, 'Pass --refreeze to stamp a NEW freeze deliberately (and land it via a new operator-named PR).');
118
+ }
119
+ fs.mkdirSync(gateDir, { recursive: true });
120
+ const text = `${canonicalStringify(artifact, 2)}\n`;
121
+ const tmp = `${outFile}.tmp`;
122
+ fs.writeFileSync(tmp, text, 'utf-8');
123
+ fs.renameSync(tmp, outFile);
124
+ console.error(`[FreezeSplit] frozen split written: ${outFile}`);
125
+ console.error(` splitRef: ${artifact.splitRef}`);
126
+ console.error(` freezeCommitment: ${artifact.freezeCommitment}`);
127
+ console.error(` asOfCommit (derived, lc HEAD): ${asOfCommit} · frozenAt: ${split.frozenAt ?? ''}`);
128
+ console.error(` corpus: ${corpus.length} PR(s) · train ${split.trainPrs.length} ∪ held-out ${split.heldOutPrs.length} (cutIndex ${params.split.cutIndex}) · cutBoundarySha: ${artifact.cutBoundarySha}`);
129
+ console.error(' next: land this artifact via the freeze PR (the operator-named merge IS the human gate); author ONLY after it reaches the shared ref.');
130
+ }
131
+ //# sourceMappingURL=spine-freeze-split.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spine-freeze-split.js","sourceRoot":"","sources":["../../src/commands/spine-freeze-split.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,41 @@ export interface CertifyingCorpus {
70
70
  */
71
71
  authoredControls?: import('@mmnto/totem').AuthoredControls;
72
72
  }
73
+ /**
74
+ * ADR-112 §5.3/§8 Slice D4 — the scored run, discriminated by producer kind. The
75
+ * `kind` is a lineage marker (gemini Q3): it is DERIVED once at the §8 single home
76
+ * (`resolveCertifyingCorpusProvider`) and carried on the result — never re-read from
77
+ * the lock downstream (Tenet-20 derive-not-mirror). The authored arm carries the
78
+ * verdict-inert Gate-2 eligibility emission (§5.3, §1(k)-guarded).
79
+ */
80
+ export type ScoredRun = {
81
+ kind: 'mined';
82
+ verdict: import('@mmnto/totem').WindtunnelVerdict;
83
+ } | {
84
+ kind: 'authored';
85
+ verdict: import('@mmnto/totem').AuthoredWindtunnelVerdict;
86
+ gate2: import('@mmnto/totem').Gate2Eligibility;
87
+ /**
88
+ * The AUTHORED C1 map (option-(i) ruling, #2291): per-rule positive-control
89
+ * verdicts proven by the §4 differential AT EMISSION, computed in the
90
+ * resolver's score closure (the §8 single home). Persist consumes this
91
+ * INSTEAD of the mined fire-on-target derivation — data-driven, so no
92
+ * producer-kind branch ever reaches the persist path.
93
+ */
94
+ perRuleControls: Map<string, import('@mmnto/totem').PerRuleControlResult>;
95
+ };
96
+ /**
97
+ * ADR-112 §8 Slice D4 — what the §8 single dispatch home resolves: the corpus
98
+ * provider PLUS the producer-kind-bound scorer. Binding the scorer at the resolver
99
+ * (not branching at the score step) keeps `producerKind` read in ONE place — a
100
+ * second read at the score step could drift to the mined scorer over an authored
101
+ * corpus, silently PASSing a culled differential (strategy Q1 ruling 2026-07-01).
102
+ */
103
+ export interface ResolvedCertifyingRun {
104
+ provider: CertifyingCorpusProvider;
105
+ /** Bound to this run's producer kind (+ authored substrate). `score(base)` is unconditional at the score step. */
106
+ score: (base: import('@mmnto/totem').ScorerInput) => ScoredRun;
107
+ }
73
108
  /** Internal shape the run command's scorer + persist step consume (engine-agnostic). */
74
109
  interface EngineResult {
75
110
  mintedRuleIds: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"spine-windtunnel.d.ts","sourceRoot":"","sources":["../../src/commands/spine-windtunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spine-windtunnel.d.ts","sourceRoot":"","sources":["../../src/commands/spine-windtunnel.ts"],"names":[],"mappings":"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"}
@@ -318,31 +318,46 @@ export async function runCommand(opts) {
318
318
  const runNowIso = new Date().toISOString();
319
319
  // Certifying phase: use the injected corpus (tests) or build the REPLAY-mode
320
320
  // provider from the committed cert-run fixtures under the gate-1 dir (5c-ii).
321
+ // The scorer defaults to MINED (the harness mock + the injected 5c-i corpus seam, which is
322
+ // mined-only). The §8 single home (`resolveCertifyingCorpusProvider`) is the ONLY place that
323
+ // may bind the AUTHORED scorer — so authored-vs-mined is selected in exactly one location, and
324
+ // the score step below never re-reads `producerKind` (strategy D4 Q1: a second read could drift
325
+ // an authored corpus onto the mined scorer, silently PASSing a culled differential).
321
326
  let corpusProvider = opts.certifyingCorpus;
327
+ let score = (base) => ({
328
+ kind: 'mined',
329
+ verdict: scoreWindtunnel(base),
330
+ });
322
331
  if (lock.phase === 'certifying' && !corpusProvider) {
323
332
  const gate1Dir = path.dirname(lockPath);
324
333
  const asOf = lock.corpus.selectionRule.asOfCommit;
325
334
  // Shared Stage-4 constructor (the deriver builds it the same way — no drift).
326
335
  const stage4 = buildGate1Stage4Deps(lcDir, asOf, safeExec);
327
- // Single dispatch home (D1/D2): resolve mined-vs-authored off the lock's producerKind.
336
+ // Single dispatch home (D1/D2/D4): resolve mined-vs-authored off the lock's producerKind.
328
337
  // The caller passes raw run-context UNCONDITIONALLY (no `if (producerKind)` branch here —
329
338
  // that would leak the dispatch, gemini §8 single-home ruling); the resolver alone reads
330
- // the kind. Mined (absent mined) is byte-unchanged. Authored (D2) loads its scoring
331
- // substrate + reads the lock's `authored` block inside the (now async) resolver. totemDir
332
- // is the authored producer's `.totem` (authored path only; ignored on the mined path).
333
- corpusProvider = await resolveCertifyingCorpusProvider(lock, {
339
+ // the kind, and returns BOTH the corpus provider AND the producer-kind-bound scorer (D4).
340
+ const resolved = await resolveCertifyingCorpusProvider(lock, {
334
341
  gate1Dir,
335
342
  stage4,
336
343
  now: runNowIso,
337
344
  totemDir: path.join(repoRoot, '.totem'),
345
+ // R1: a content-addressed lock ref requires the freeze proof at this boundary.
346
+ repoRoot,
347
+ safeExec,
348
+ // §5.2: the pre-window fixture ancestry proof runs against the lc clone.
349
+ ...(lcDir !== undefined ? { lcDir } : {}),
338
350
  });
351
+ corpusProvider = resolved.provider;
352
+ score = resolved.score;
339
353
  }
340
354
  const engineResult = lock.phase === 'certifying'
341
355
  ? await runCertifyingEngine(lock, readStrategy, corpusProvider)
342
356
  : await runMockEngineAdapter(lock, readStrategy);
343
357
  const { mintedRuleIds, firings, groundTruth, positiveControlTargets, filesTouchedInWindow } = engineResult;
344
- // Score
345
- const verdict = scoreWindtunnel({
358
+ // Score — `score(base)` is UNCONDITIONAL (§8 single home): the producer-kind branch already
359
+ // happened at the resolver, never here. `scored.kind` is the derived lineage marker (gemini Q3).
360
+ const scored = score({
346
361
  firings,
347
362
  groundTruth,
348
363
  positiveControlTargets,
@@ -359,6 +374,7 @@ export async function runCommand(opts) {
359
374
  positiveControlsExercised: positiveControlTargets.length,
360
375
  },
361
376
  });
377
+ const verdict = scored.verdict;
362
378
  // Print verdict — exposure tuple never collapsed
363
379
  console.log(`WindtunnelVerdict: ${verdict.verdict}`);
364
380
  // Certifying precision is null on no-claim verdicts (#2189) — guard .toFixed.
@@ -387,6 +403,22 @@ export async function runCommand(opts) {
387
403
  console.log(` • ${id}`);
388
404
  }
389
405
  }
406
+ // ADR-112 §5.3 Slice D4 — the authored emissions (verdict-inert): the O3 held-out
407
+ // activation metric + the Gate-2-eligible set. Emitted, not hidden (Tenet-4; the §1(k)
408
+ // exclusions are legible), never consulted by the Gate-1 verdict printed above.
409
+ if (scored.kind === 'authored') {
410
+ const { verdict: authoredVerdict, gate2 } = scored;
411
+ const gate = authoredVerdict.authoredControlGate;
412
+ console.log(` authoredControlGate: illegitimate=${gate.illegitimate} undecidable=${gate.undecidable} ` +
413
+ `deferred=${gate.deferred} effect=${gate.effect}`);
414
+ console.log(` heldOutActivations: ${JSON.stringify(authoredVerdict.heldOutActivationsByRule)}`);
415
+ const gate2Summary = gate2.windowDisqualified
416
+ ? '(none — WINDOW DISQUALIFIED: illegitimate > 0)'
417
+ : gate2.eligibleRuleIds.length > 0
418
+ ? gate2.eligibleRuleIds.join(', ')
419
+ : '(none — no survivor had held-out activations)';
420
+ console.log(` gate2Eligible (${gate2.eligibleRuleIds.length}): ${gate2Summary}`);
421
+ }
390
422
  // 5c-ii: certifying-phase persistence — fold-B project → fold-C parse-before-write
391
423
  // persist (PASS-survivors-only) + the transient cert-run report (§6 L3). The
392
424
  // repo's live `.totem/compiled-rules.json` is NEVER touched here; survivors land
@@ -406,6 +438,14 @@ export async function runCommand(opts) {
406
438
  reportDir: path.join(gate1Dir, 'run-reports'),
407
439
  nowIso: runNowIso,
408
440
  asOfCommit: lock.corpus.selectionRule.asOfCommit,
441
+ // D4 (strategy Q2): persist the verdict-inert Gate-2 set into the durable report,
442
+ // authored runs only (mined runs carry no gate2). Console emit above stays.
443
+ // Option-(i) ruling (#2291): the authored arm also carries the C1 map proven by
444
+ // the §4 differential at emission — persist consumes it instead of deriving
445
+ // fire-on-target results (unsatisfiable for pre-window anchors, §5.2).
446
+ ...(scored.kind === 'authored'
447
+ ? { gate2: scored.gate2, perRuleControls: scored.perRuleControls }
448
+ : {}),
409
449
  });
410
450
  console.error(`[WindtunnelRun] Cert-run report: ${persistResult.reportPath}` +
411
451
  (persistResult.persisted
@@ -1 +1 @@
1
- {"version":3,"file":"spine-windtunnel.js","sourceRoot":"","sources":["../../src/commands/spine-windtunnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spine-windtunnel.js","sourceRoot":"","sources":["../../src/commands/spine-windtunnel.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -23,6 +23,10 @@ if (reexecStatus !== undefined) {
23
23
  // help text, and validation so they don't drift.
24
24
  const RETROSPECT_DEFAULT_THRESHOLD = 5;
25
25
  const RETROSPECT_MIN_THRESHOLD = 1;
26
+ // ECL outbox retention default (doctrine/ecl-discipline.md § 4.4) — help-text
27
+ // mirror only; the authoritative default lives in `commands/ecl-gc.ts`
28
+ // (lazy-loaded), so passing `retainDays: undefined` still resolves to it.
29
+ const DEFAULT_ECL_RETAIN_DAYS = 14;
26
30
  function requireGhCli() {
27
31
  try {
28
32
  execSync('gh --version', { stdio: 'ignore', timeout: 3000 });
@@ -602,6 +606,74 @@ mailCmd
602
606
  handleError(err);
603
607
  }
604
608
  });
609
+ // ECL outbox retention prune (mmnto-ai/totem#2279; parent mmnto-ai/totem-strategy#700;
610
+ // doctrine/ecl-discipline.md § 4.4). The binary-guaranteed cohort-wide replacement
611
+ // for `scripts/prune-outbox.mjs` — self-resolves the caller's agent so a seat can
612
+ // only ever prune its OWN `<repoRoot>/.totem/orchestration/<agent>/outbox/`, never a
613
+ // peer's, never journal/ or processed/. Dry-run by default; --apply deletes.
614
+ program
615
+ .command('ecl-gc')
616
+ .description('Prune your own aged ECL outbox dispatches; with --compact, also compact your processed-mark cursor (self-resolving; dry-run unless --apply)')
617
+ .option('--apply', 'Actually delete aged dispatches (default: dry-run — list only)')
618
+ .option('--retain-days <n>', `Retention window in days (default ${DEFAULT_ECL_RETAIN_DAYS}; doctrine § 4.4)`)
619
+ .option('--agent-id <id>', 'Override the self-resolved agent whose outbox/cursor to gc (visiting/orchestrator case)')
620
+ .option('--compact', 'Also compact your processed-mark cursor (ADR-106 § A2 / ecl-discipline § 4.5): delete marks whose inbound dispatch its sender already swept — runs AFTER the prune')
621
+ .option('--force-incomplete', 'UNSAFE: proceed with compaction even when a declared cohort repo is absent from the workspace (waives only the roster-presence gate; scan warnings/truncation still abort)')
622
+ .option('--json', 'Emit the structured result as JSON to stdout instead of human text')
623
+ .action(async (_opts, cmd) => {
624
+ // optsWithGlobals() merges the program-level `--json` (top of file) with the
625
+ // subcommand scope, same collision fix as `mail` (mmnto-ai/totem#2097).
626
+ const { apply, retainDays, agentId, compact, forceIncomplete, json } = cmd.optsWithGlobals();
627
+ // Custom exit-code contract (AGENTS.md: throw in lib, wrapper decides exit).
628
+ // eclGc/eclCompact throw ONLY on usage errors (self-resolution failure,
629
+ // invalid --retain-days); fs failures land in structured results, never
630
+ // thrown. Combined precedence (codex panel, mmnto-ai/totem#2307):
631
+ // 2 = usage error (thrown; before any mutation)
632
+ // 3 = compaction ABORT — A2.2 gate red OR A2.4 falsifier tripped
633
+ // 1 = partial janitorial delete failure (prune or compact)
634
+ // 0 = clean.
635
+ // 3 outranks 1: a prune-partial + compact-abort exits 3, prune count still
636
+ // reported in the structured result. We do NOT call handleError (it exits
637
+ // 1, colliding with the sensor codes). (Custom-exit precedent: index-lite.ts 78.)
638
+ try {
639
+ const { eclGc, eclGcCommand, eclCompact, eclCompactCommand, resolveEclGcExitCode } = await import('./commands/ecl-gc.js');
640
+ const pruneResult = eclGc({
641
+ apply,
642
+ retainDays: retainDays !== undefined ? Number(retainDays) : undefined,
643
+ agentId,
644
+ });
645
+ // Compaction runs AFTER the prune (ecl-discipline § 4.5). A seat's own
646
+ // prune shrinks PEERS' inbound, not its own marks, so ordering is
647
+ // independent — but the doctrine sequences them within /signoff.
648
+ let compactResult;
649
+ if (compact === true) {
650
+ compactResult = eclCompact({ apply, agentId, forceIncomplete });
651
+ }
652
+ if (json === true && compactResult !== undefined) {
653
+ // Single combined document so a --json consumer parses one object
654
+ // rather than two concatenated JSON blobs. NOTE (greptile): under
655
+ // --json the human-readable A2.4/failure alerts (normally logged to
656
+ // stderr by eclCompactCommand) are intentionally omitted — the data is
657
+ // in the payload (`resurfaced`/`failed`/`verifyComplete`) and the exit
658
+ // code still fires, matching the prune-only --json path's contract.
659
+ process.stdout.write(JSON.stringify({ prune: pruneResult, compact: compactResult }, null, 2) + '\n');
660
+ }
661
+ else {
662
+ await eclGcCommand(pruneResult, json === true);
663
+ if (compactResult !== undefined)
664
+ await eclCompactCommand(compactResult, false);
665
+ }
666
+ const code = resolveEclGcExitCode(pruneResult, compactResult);
667
+ if (code !== 0)
668
+ process.exitCode = code;
669
+ // totem-context: the catch below is the deliberate CLI exit-code boundary, not a silent swallow — eclGc/eclCompact throw ONLY usage errors, printed LOUDLY via log.error and mapped to exit 2 (handleError is intentionally NOT used here: it exits 1, colliding with the janitorial sensor code).
670
+ }
671
+ catch (err) {
672
+ const { log } = await import('./ui.js');
673
+ log.error('Totem Error', err instanceof Error ? err.message : String(err));
674
+ process.exitCode = 2;
675
+ }
676
+ });
605
677
  program
606
678
  .command('remove-secret <index>')
607
679
  .description('Remove a custom secret from .totem/secrets.json by index (from list-secrets)')
@@ -1255,6 +1327,7 @@ ruleCmd
1255
1327
  .command('author')
1256
1328
  .description('Ingest .totem/spine/authored-rules.yaml into authored rules + the §8 authoring-ledger (ADR-112, strategy#591)')
1257
1329
  .option('--judged-by <id>', 'Identity of the independent eligibility check recorded on each verdict')
1330
+ .option('--lc-dir <path>', 'lc clone for the §5.4 author sandbox — REQUIRED when the splitRef names a frozen artifact (env: TOTEM_LC_DIR)', process.env['TOTEM_LC_DIR'])
1258
1331
  .action(async (opts) => {
1259
1332
  try {
1260
1333
  const { ruleAuthorCommand } = await import('./commands/rule-author.js');
@@ -1462,6 +1535,26 @@ windtunnelCmd
1462
1535
  throw err;
1463
1536
  }
1464
1537
  });
1538
+ spineCmd
1539
+ .command('freeze-split')
1540
+ .description('Freeze the pre-authoring split: derive the window from lc HEAD, stamp frozenAt, write the tamper-evident tracked artifact (ADR-112 §5.1/§8 R1)')
1541
+ .requiredOption('--params <path>', 'Path to the curated freeze params (JSON, FreezeSplitParamsSchema)')
1542
+ .option('--lc-dir <path>', 'Path to the lc clone (env: TOTEM_LC_DIR)', process.env['TOTEM_LC_DIR'])
1543
+ .option('--refreeze', 'Explicitly authorize overwriting an existing frozen split (a re-freeze orphans every ledger entry chained to the old commitment)')
1544
+ .action(async (opts) => {
1545
+ try {
1546
+ const { freezeSplitCommand } = await import('./commands/spine-freeze-split.js');
1547
+ await freezeSplitCommand({
1548
+ paramsPath: opts.params,
1549
+ lcDir: opts.lcDir,
1550
+ refreeze: opts.refreeze,
1551
+ });
1552
+ }
1553
+ catch (err) {
1554
+ handleError(err);
1555
+ throw err;
1556
+ }
1557
+ });
1465
1558
  windtunnelCmd
1466
1559
  .command('fetch-dispositions')
1467
1560
  .description('Freeze corpus-dispositions.json — the held-out PRs’ span-anchored review threads — and stamp corpusDispositionsSha (strategy#709, by-hand/live; never CI)')