@mmnto/totem 1.22.0 → 1.24.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 (65) hide show
  1. package/dist/ast-grep-query.d.ts +31 -0
  2. package/dist/ast-grep-query.d.ts.map +1 -1
  3. package/dist/ast-grep-query.js +45 -1
  4. package/dist/ast-grep-query.js.map +1 -1
  5. package/dist/compile-lesson.d.ts +25 -16
  6. package/dist/compile-lesson.d.ts.map +1 -1
  7. package/dist/compile-lesson.js +72 -34
  8. package/dist/compile-lesson.js.map +1 -1
  9. package/dist/compile-lesson.test.js +30 -0
  10. package/dist/compile-lesson.test.js.map +1 -1
  11. package/dist/compile-manifest.d.ts +14 -1
  12. package/dist/compile-manifest.d.ts.map +1 -1
  13. package/dist/compile-manifest.js +30 -1
  14. package/dist/compile-manifest.js.map +1 -1
  15. package/dist/compile-manifest.test.js +36 -1
  16. package/dist/compile-manifest.test.js.map +1 -1
  17. package/dist/compile-smoke-gate.d.ts.map +1 -1
  18. package/dist/compile-smoke-gate.js +25 -12
  19. package/dist/compile-smoke-gate.js.map +1 -1
  20. package/dist/compile-smoke-gate.test.js +39 -0
  21. package/dist/compile-smoke-gate.test.js.map +1 -1
  22. package/dist/compiler-schema.d.ts +44 -16
  23. package/dist/compiler-schema.d.ts.map +1 -1
  24. package/dist/compiler-schema.js +19 -3
  25. package/dist/compiler-schema.js.map +1 -1
  26. package/dist/compiler-schema.test.js +23 -1
  27. package/dist/compiler-schema.test.js.map +1 -1
  28. package/dist/compiler.d.ts +8 -1
  29. package/dist/compiler.d.ts.map +1 -1
  30. package/dist/compiler.js +11 -2
  31. package/dist/compiler.js.map +1 -1
  32. package/dist/compiler.test.js +35 -0
  33. package/dist/compiler.test.js.map +1 -1
  34. package/dist/config-schema.d.ts +2 -2
  35. package/dist/config-schema.js +2 -2
  36. package/dist/first-lint-promote.d.ts +90 -0
  37. package/dist/first-lint-promote.d.ts.map +1 -0
  38. package/dist/first-lint-promote.js +103 -0
  39. package/dist/first-lint-promote.js.map +1 -0
  40. package/dist/first-lint-promote.test.d.ts +2 -0
  41. package/dist/first-lint-promote.test.d.ts.map +1 -0
  42. package/dist/first-lint-promote.test.js +242 -0
  43. package/dist/first-lint-promote.test.js.map +1 -0
  44. package/dist/index.d.ts +5 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +3 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/pack-discovery.d.ts +1 -1
  49. package/dist/pack-discovery.js +1 -1
  50. package/dist/pack-discovery.test.js +21 -21
  51. package/dist/pack-manifest-writer.d.ts +2 -2
  52. package/dist/pack-manifest-writer.js +3 -3
  53. package/dist/pack-manifest-writer.test.js +22 -22
  54. package/dist/pack-merge.d.ts +1 -1
  55. package/dist/pack-merge.js +1 -1
  56. package/dist/rule-engine.js +1 -1
  57. package/dist/verification-outcomes.d.ts +160 -0
  58. package/dist/verification-outcomes.d.ts.map +1 -0
  59. package/dist/verification-outcomes.js +149 -0
  60. package/dist/verification-outcomes.js.map +1 -0
  61. package/dist/verification-outcomes.test.d.ts +2 -0
  62. package/dist/verification-outcomes.test.d.ts.map +1 -0
  63. package/dist/verification-outcomes.test.js +228 -0
  64. package/dist/verification-outcomes.test.js.map +1 -0
  65. package/package.json +1 -1
@@ -0,0 +1,90 @@
1
+ import type { CompiledRule } from './compiler-schema.js';
2
+ import type { Stage4VerificationResult } from './stage4-verifier.js';
3
+ import { type VerificationOutcomeEntry } from './verification-outcomes.js';
4
+ /**
5
+ * The first-lint promotion interceptor (mmnto-ai/totem#1684 T5).
6
+ *
7
+ * Pack rules installed via `totem install` enter the consumer's manifest with
8
+ * `status: 'pending-verification'` because the cloud-compile bootstrap path
9
+ * cannot have run Stage 4 against the consumer's codebase. On the first
10
+ * `totem lint` run after install, this module sweeps the manifest for those
11
+ * pending entries, invokes the Stage 4 verifier on each, and replaces the
12
+ * status with one of the four terminal lifecycle values per Invariant #3:
13
+ *
14
+ * - `'no-matches'` → `status: 'untested-against-codebase'`
15
+ * - `'out-of-scope'` → `status: 'archived'` + `archivedReason`
16
+ * - `'in-scope-bad-example'` → `status: 'active'` + `confidence: 'high'`
17
+ * - `'candidate-debt'` → `status: 'active'` + `severity: 'warning'`
18
+ *
19
+ * Outcomes are written to `.totem/verification-outcomes.json` so subsequent
20
+ * runs skip re-verification on rules whose `lessonHash` matches a recorded
21
+ * outcome (Invariant #4). A pack content update produces a new `lessonHash`
22
+ * which has no recorded outcome → verifier runs again (Invariant #5).
23
+ *
24
+ * Empty-pending fast path: when the manifest has zero `'pending-verification'`
25
+ * rules, the function returns immediately without reading the outcomes file
26
+ * (Invariant #9) — the common-case lint pass pays no verification cost.
27
+ *
28
+ * Per-rule try/catch isolates verifier-throws (Invariant #7): one rule's
29
+ * failure does not abort the pass; that rule remains `'pending-verification'`
30
+ * and the next lint retries.
31
+ */
32
+ export interface PromotePendingRulesDeps {
33
+ /**
34
+ * Filesystem path to `.totem/verification-outcomes.json`. The interceptor
35
+ * reads existing outcomes for memoization and atomically rewrites the
36
+ * file when new outcomes are recorded.
37
+ */
38
+ readonly outcomesPath: string;
39
+ /**
40
+ * Pre-wired Stage 4 verifier — typically a closure that builds the
41
+ * `Stage4VerifierDeps` once (git ls-files, baseline resolution) and then
42
+ * invokes `verifyAgainstCodebase` per rule. Throws on transient I/O
43
+ * errors; the interceptor catches and isolates per-rule failures.
44
+ */
45
+ readonly verifier: (rule: CompiledRule) => Promise<Stage4VerificationResult>;
46
+ /**
47
+ * ISO-now provider for `verifiedAt` timestamps. Injected so tests can
48
+ * produce deterministic outcomes; production code passes `() => new Date()`.
49
+ */
50
+ readonly now?: () => Date;
51
+ /**
52
+ * Optional logger for verifier failures and self-healing diagnostics.
53
+ * Defaults to a no-op when omitted — pass an explicit logger to surface
54
+ * corrupt-cache and verifier-failure diagnostics. The CLI runner wires
55
+ * this to `log.warn` after sanitization (see `first-lint-promote-runner.ts`).
56
+ */
57
+ readonly onWarn?: (msg: string) => void;
58
+ }
59
+ export interface PromotePendingRulesResult {
60
+ /**
61
+ * The mutated rule list. Statuses on `'pending-verification'` rules are
62
+ * replaced per Invariant #3; rules whose verifier threw are unchanged.
63
+ * Callers persist this to `.totem/compiled-rules.json`.
64
+ */
65
+ readonly mutatedRules: CompiledRule[];
66
+ /**
67
+ * Count of verifier calls this pass (excludes memoized hits). Includes
68
+ * calls that threw, since the metric reports work attempted rather than
69
+ * work succeeded — pair with `verifierFailures` to derive the success count.
70
+ */
71
+ readonly verifierInvocations: number;
72
+ /** Count of rules whose status was replaced with a terminal lifecycle value. */
73
+ readonly promoted: number;
74
+ /** Count of rules whose verifier threw and stayed `'pending-verification'`. */
75
+ readonly verifierFailures: number;
76
+ /**
77
+ * Whether any rule status mutation occurred. Callers can skip manifest
78
+ * writes when this is `false` to avoid touching the file on no-op passes.
79
+ */
80
+ readonly changed: boolean;
81
+ }
82
+ export declare function promotePendingRules(rules: readonly CompiledRule[], deps: PromotePendingRulesDeps): Promise<PromotePendingRulesResult>;
83
+ /**
84
+ * Map a Stage 4 outcome to the rule's terminal lifecycle status per
85
+ * Invariant #3. Pure function so the four-way mapping can be unit-tested
86
+ * without staging the full interceptor flow. Returns a new rule object;
87
+ * never mutates the input.
88
+ */
89
+ export declare function applyOutcomeToRule(rule: CompiledRule, entry: VerificationOutcomeEntry): CompiledRule;
90
+ //# sourceMappingURL=first-lint-promote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-lint-promote.d.ts","sourceRoot":"","sources":["../src/first-lint-promote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAEL,KAAK,wBAAwB,EAG9B,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC7E;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC;IACtC;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AASD,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,yBAAyB,CAAC,CAgFpC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,wBAAwB,GAC9B,YAAY,CAgBd"}
@@ -0,0 +1,103 @@
1
+ import { readVerificationOutcomes, writeVerificationOutcomes, } from './verification-outcomes.js';
2
+ const NOOP_RESULT_TEMPLATE = {
3
+ verifierInvocations: 0,
4
+ promoted: 0,
5
+ verifierFailures: 0,
6
+ changed: false,
7
+ };
8
+ export async function promotePendingRules(rules, deps) {
9
+ const pendingIndices = [];
10
+ for (let i = 0; i < rules.length; i++) {
11
+ if (rules[i]?.status === 'pending-verification')
12
+ pendingIndices.push(i);
13
+ }
14
+ // Empty-pending fast path (Invariant #9): skip the outcomes-file read
15
+ // when there's nothing to verify. The returned array is a shallow copy
16
+ // of the input — `changed: false` is the no-op signal callers should use
17
+ // to skip manifest writes, not array-identity.
18
+ if (pendingIndices.length === 0) {
19
+ return { mutatedRules: [...rules], ...NOOP_RESULT_TEMPLATE };
20
+ }
21
+ const onWarn = deps.onWarn ?? (() => { });
22
+ const now = deps.now ?? (() => new Date());
23
+ const existingOutcomes = readVerificationOutcomes(deps.outcomesPath, onWarn);
24
+ const updatedOutcomes = { ...existingOutcomes };
25
+ const mutatedRules = [...rules];
26
+ let verifierInvocations = 0;
27
+ let promoted = 0;
28
+ let verifierFailures = 0;
29
+ let outcomesChanged = false;
30
+ for (const idx of pendingIndices) {
31
+ const rule = mutatedRules[idx];
32
+ const memoized = existingOutcomes[rule.lessonHash];
33
+ let outcomeEntry = null;
34
+ if (memoized && memoized.ruleHash === rule.lessonHash) {
35
+ // Memoization hit: reuse the recorded outcome. The status was either
36
+ // never written back to the manifest (interrupted prior pass) or the
37
+ // rule was re-stamped pending by a reinstall — either way, the
38
+ // recorded outcome is still authoritative.
39
+ outcomeEntry = memoized;
40
+ }
41
+ else {
42
+ // No memoized outcome (or hash mismatch on a stale entry). Invoke the
43
+ // verifier. Per-rule try/catch isolates failures (Invariant #7).
44
+ try {
45
+ verifierInvocations += 1;
46
+ const result = await deps.verifier(rule);
47
+ outcomeEntry = {
48
+ ruleHash: rule.lessonHash,
49
+ verifiedAt: now().toISOString(),
50
+ outcome: result.outcome,
51
+ baselineMatches: [...result.baselineMatches],
52
+ inScopeMatches: [...result.inScopeMatches],
53
+ candidateDebtLines: [...result.candidateDebtLines],
54
+ };
55
+ updatedOutcomes[rule.lessonHash] = outcomeEntry;
56
+ outcomesChanged = true; // totem-context: per-rule verifier-throw isolation per Invariant #7 of #1684 — one failing rule must not abort the lint pass; the rule stays 'pending-verification' and next lint retries
57
+ }
58
+ catch (err) {
59
+ verifierFailures += 1;
60
+ onWarn(`Stage 4 verifier failed for rule ${rule.lessonHash} (${rule.lessonHeading}); ` +
61
+ `leaving as 'pending-verification' for next lint retry. ` +
62
+ `Cause: ${err instanceof Error ? err.message : String(err)}`);
63
+ continue;
64
+ }
65
+ }
66
+ mutatedRules[idx] = applyOutcomeToRule(rule, outcomeEntry);
67
+ promoted += 1;
68
+ }
69
+ if (outcomesChanged) {
70
+ writeVerificationOutcomes(deps.outcomesPath, updatedOutcomes);
71
+ }
72
+ return {
73
+ mutatedRules,
74
+ verifierInvocations,
75
+ promoted,
76
+ verifierFailures,
77
+ changed: promoted > 0,
78
+ };
79
+ }
80
+ /**
81
+ * Map a Stage 4 outcome to the rule's terminal lifecycle status per
82
+ * Invariant #3. Pure function so the four-way mapping can be unit-tested
83
+ * without staging the full interceptor flow. Returns a new rule object;
84
+ * never mutates the input.
85
+ */
86
+ export function applyOutcomeToRule(rule, entry) {
87
+ switch (entry.outcome) {
88
+ case 'no-matches':
89
+ return { ...rule, status: 'untested-against-codebase' };
90
+ case 'out-of-scope':
91
+ return {
92
+ ...rule,
93
+ status: 'archived',
94
+ archivedReason: 'stage4-out-of-scope-match',
95
+ archivedAt: rule.archivedAt ?? entry.verifiedAt,
96
+ };
97
+ case 'in-scope-bad-example':
98
+ return { ...rule, status: 'active', confidence: 'high' };
99
+ case 'candidate-debt':
100
+ return { ...rule, status: 'active', severity: 'warning' };
101
+ }
102
+ }
103
+ //# sourceMappingURL=first-lint-promote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-lint-promote.js","sourceRoot":"","sources":["../src/first-lint-promote.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=first-lint-promote.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-lint-promote.test.d.ts","sourceRoot":"","sources":["../src/first-lint-promote.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,242 @@
1
+ import * as fs from 'node:fs';
2
+ import * as os from 'node:os';
3
+ import * as path from 'node:path';
4
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
5
+ import { applyOutcomeToRule, promotePendingRules, } from './first-lint-promote.js';
6
+ import { cleanTmpDir } from './test-utils.js';
7
+ import { readVerificationOutcomes, writeVerificationOutcomes, } from './verification-outcomes.js';
8
+ // ─── Helpers ────────────────────────────────────────
9
+ function makeRule(overrides = {}) {
10
+ return {
11
+ lessonHash: 'abc123',
12
+ lessonHeading: 'No console log',
13
+ pattern: 'console\\.log',
14
+ message: 'no console.log',
15
+ engine: 'regex',
16
+ compiledAt: '2026-05-01T12:00:00.000Z',
17
+ ...overrides,
18
+ };
19
+ }
20
+ function makeStage4Result(outcome, overrides = {}) {
21
+ return {
22
+ outcome,
23
+ baselineMatches: [],
24
+ inScopeMatches: [],
25
+ candidateDebtLines: [],
26
+ ...overrides,
27
+ };
28
+ }
29
+ const FROZEN_NOW = new Date('2026-05-01T13:00:00.000Z');
30
+ // ─── applyOutcomeToRule (Invariant #3) ──────────────
31
+ describe('applyOutcomeToRule', () => {
32
+ const baseRule = makeRule({ lessonHash: 'h1', status: 'pending-verification' });
33
+ function entry(outcome, extras = {}) {
34
+ return {
35
+ ruleHash: 'h1',
36
+ verifiedAt: FROZEN_NOW.toISOString(),
37
+ outcome,
38
+ baselineMatches: [],
39
+ inScopeMatches: [],
40
+ candidateDebtLines: [],
41
+ ...extras,
42
+ };
43
+ }
44
+ it("maps 'no-matches' to status: 'untested-against-codebase'", () => {
45
+ const out = applyOutcomeToRule(baseRule, entry('no-matches'));
46
+ expect(out.status).toBe('untested-against-codebase');
47
+ });
48
+ it("maps 'out-of-scope' to archived with reason and timestamp", () => {
49
+ const out = applyOutcomeToRule(baseRule, entry('out-of-scope'));
50
+ expect(out.status).toBe('archived');
51
+ expect(out.archivedReason).toBe('stage4-out-of-scope-match');
52
+ expect(out.archivedAt).toBe(FROZEN_NOW.toISOString());
53
+ });
54
+ it('preserves prior archivedAt on out-of-scope re-archive', () => {
55
+ const earlier = '2026-04-01T00:00:00.000Z';
56
+ const ruleWithPrior = makeRule({ lessonHash: 'h1', archivedAt: earlier });
57
+ const out = applyOutcomeToRule(ruleWithPrior, entry('out-of-scope'));
58
+ expect(out.archivedAt).toBe(earlier);
59
+ });
60
+ it("maps 'in-scope-bad-example' to active with confidence high", () => {
61
+ const out = applyOutcomeToRule(baseRule, entry('in-scope-bad-example'));
62
+ expect(out.status).toBe('active');
63
+ expect(out.confidence).toBe('high');
64
+ });
65
+ it("maps 'candidate-debt' to active with severity warning, overriding authored severity", () => {
66
+ const ruleWithError = makeRule({ lessonHash: 'h1', severity: 'error' });
67
+ const out = applyOutcomeToRule(ruleWithError, entry('candidate-debt'));
68
+ expect(out.status).toBe('active');
69
+ expect(out.severity).toBe('warning');
70
+ });
71
+ it('does not mutate the input rule object', () => {
72
+ const original = makeRule({ lessonHash: 'h1', status: 'pending-verification' });
73
+ applyOutcomeToRule(original, entry('no-matches'));
74
+ expect(original.status).toBe('pending-verification');
75
+ });
76
+ });
77
+ // ─── promotePendingRules ────────────────────────────
78
+ describe('promotePendingRules', () => {
79
+ let tmpDir;
80
+ beforeEach(() => {
81
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'totem-flp-'));
82
+ });
83
+ afterEach(() => {
84
+ cleanTmpDir(tmpDir);
85
+ });
86
+ function deps(overrides) {
87
+ return {
88
+ outcomesPath: path.join(tmpDir, 'verification-outcomes.json'),
89
+ now: () => FROZEN_NOW,
90
+ onWarn: () => { },
91
+ ...overrides,
92
+ };
93
+ }
94
+ // ── Empty-pending fast path (Invariant #9) ────
95
+ it('returns the rules array unchanged and skips file reads when no rules are pending', async () => {
96
+ const verifier = vi.fn();
97
+ const onWarn = vi.fn();
98
+ const rules = [
99
+ makeRule({ lessonHash: 'a', status: 'active' }),
100
+ makeRule({ lessonHash: 'b' }),
101
+ ];
102
+ const result = await promotePendingRules(rules, deps({ verifier, onWarn, outcomesPath: path.join(tmpDir, 'absent.json') }));
103
+ expect(result.changed).toBe(false);
104
+ expect(result.verifierInvocations).toBe(0);
105
+ expect(result.promoted).toBe(0);
106
+ expect(verifier).not.toHaveBeenCalled();
107
+ expect(onWarn).not.toHaveBeenCalled();
108
+ expect(result.mutatedRules).toEqual(rules);
109
+ // No outcomes file should have been created.
110
+ expect(fs.existsSync(path.join(tmpDir, 'absent.json'))).toBe(false);
111
+ });
112
+ // ── Promotion to active with candidate debt ───
113
+ it('promotes pending rules to active with candidate debt on in-scope non-bad-example match', async () => {
114
+ const pending = makeRule({
115
+ lessonHash: 'p1',
116
+ status: 'pending-verification',
117
+ severity: 'error',
118
+ });
119
+ const verifier = vi.fn(async () => makeStage4Result('candidate-debt', {
120
+ inScopeMatches: ['src/foo.ts'],
121
+ candidateDebtLines: ['src/foo.ts:10:something'],
122
+ }));
123
+ const result = await promotePendingRules([pending], deps({ verifier }));
124
+ expect(result.changed).toBe(true);
125
+ expect(result.promoted).toBe(1);
126
+ expect(result.verifierInvocations).toBe(1);
127
+ expect(result.mutatedRules[0]?.status).toBe('active');
128
+ expect(result.mutatedRules[0]?.severity).toBe('warning');
129
+ });
130
+ // ── All four outcome mappings round-trip via verifier ─
131
+ it('maps each Stage 4 outcome to the correct terminal status (Invariant #3)', async () => {
132
+ const rules = [
133
+ makeRule({ lessonHash: 'no-match-rule', status: 'pending-verification' }),
134
+ makeRule({ lessonHash: 'oos-rule', status: 'pending-verification' }),
135
+ makeRule({ lessonHash: 'isb-rule', status: 'pending-verification' }),
136
+ makeRule({ lessonHash: 'cd-rule', status: 'pending-verification' }),
137
+ ];
138
+ const outcomesByHash = {
139
+ 'no-match-rule': 'no-matches',
140
+ 'oos-rule': 'out-of-scope',
141
+ 'isb-rule': 'in-scope-bad-example',
142
+ 'cd-rule': 'candidate-debt',
143
+ };
144
+ const verifier = vi.fn(async (rule) => makeStage4Result(outcomesByHash[rule.lessonHash]));
145
+ const result = await promotePendingRules(rules, deps({ verifier }));
146
+ expect(result.promoted).toBe(4);
147
+ expect(result.verifierInvocations).toBe(4);
148
+ expect(result.mutatedRules.find((r) => r.lessonHash === 'no-match-rule')?.status).toBe('untested-against-codebase');
149
+ expect(result.mutatedRules.find((r) => r.lessonHash === 'oos-rule')?.status).toBe('archived');
150
+ expect(result.mutatedRules.find((r) => r.lessonHash === 'isb-rule')?.confidence).toBe('high');
151
+ expect(result.mutatedRules.find((r) => r.lessonHash === 'cd-rule')?.severity).toBe('warning');
152
+ });
153
+ // ── Memoization across runs (Invariant #4) ────
154
+ it('skips the verifier on a second pass when an outcome is already recorded for the rule', async () => {
155
+ const pending = makeRule({ lessonHash: 'memo', status: 'pending-verification' });
156
+ const verifier = vi.fn(async () => makeStage4Result('in-scope-bad-example'));
157
+ const sharedDeps = deps({ verifier });
158
+ // First pass: writes outcomes to disk.
159
+ await promotePendingRules([pending], sharedDeps);
160
+ expect(verifier).toHaveBeenCalledTimes(1);
161
+ // Second pass: rule is still pending in the manifest (caller hadn't
162
+ // written the mutated manifest back yet, simulating the ungraceful-exit
163
+ // recovery case). The verifier MUST NOT run again.
164
+ verifier.mockClear();
165
+ const second = await promotePendingRules([pending], sharedDeps);
166
+ expect(verifier).not.toHaveBeenCalled();
167
+ expect(second.verifierInvocations).toBe(0);
168
+ expect(second.promoted).toBe(1);
169
+ expect(second.mutatedRules[0]?.status).toBe('active');
170
+ expect(second.mutatedRules[0]?.confidence).toBe('high');
171
+ });
172
+ // ── Hash-invalidation re-verify (Invariant #5) ─
173
+ it('re-invokes the verifier when the rule lessonHash differs from the recorded outcome', async () => {
174
+ const outcomesPath = path.join(tmpDir, 'verification-outcomes.json');
175
+ // Seed the outcomes file with an entry under an OLD hash. The current
176
+ // rule has a different lessonHash, simulating a pack content change.
177
+ writeVerificationOutcomes(outcomesPath, {
178
+ 'old-hash': {
179
+ ruleHash: 'old-hash',
180
+ verifiedAt: '2026-04-01T00:00:00.000Z',
181
+ outcome: 'in-scope-bad-example',
182
+ baselineMatches: [],
183
+ inScopeMatches: [],
184
+ candidateDebtLines: [],
185
+ },
186
+ });
187
+ const verifier = vi.fn(async () => makeStage4Result('no-matches'));
188
+ const pending = makeRule({ lessonHash: 'new-hash', status: 'pending-verification' });
189
+ const result = await promotePendingRules([pending], deps({ verifier, outcomesPath }));
190
+ expect(verifier).toHaveBeenCalledOnce();
191
+ expect(result.mutatedRules[0]?.status).toBe('untested-against-codebase');
192
+ });
193
+ // ── Verifier-throw isolation (Invariant #7) ────
194
+ it('isolates per-rule verifier failures and leaves other rules to verify', async () => {
195
+ const ruleA = makeRule({ lessonHash: 'fails', status: 'pending-verification' });
196
+ const ruleB = makeRule({ lessonHash: 'passes', status: 'pending-verification' });
197
+ const warnings = [];
198
+ const verifier = vi.fn(async (rule) => {
199
+ if (rule.lessonHash === 'fails')
200
+ throw new Error('transient fs failure');
201
+ return makeStage4Result('in-scope-bad-example');
202
+ });
203
+ const result = await promotePendingRules([ruleA, ruleB], deps({ verifier, onWarn: (m) => warnings.push(m) }));
204
+ // Both invocations are counted, including the throwing one — the metric
205
+ // reports verifier work attempted, not work succeeded
206
+ // (CR mmnto-ai/totem#1787 R1).
207
+ expect(result.verifierInvocations).toBe(2);
208
+ expect(result.verifierFailures).toBe(1);
209
+ expect(result.promoted).toBe(1);
210
+ expect(result.mutatedRules.find((r) => r.lessonHash === 'fails')?.status).toBe('pending-verification');
211
+ expect(result.mutatedRules.find((r) => r.lessonHash === 'passes')?.status).toBe('active');
212
+ expect(warnings.length).toBe(1);
213
+ expect(warnings[0]).toMatch(/transient fs failure/);
214
+ });
215
+ // ── Outcomes file is written atomically ────────
216
+ it('writes the outcomes file with a record per verified rule', async () => {
217
+ const outcomesPath = path.join(tmpDir, 'verification-outcomes.json');
218
+ const pending = makeRule({ lessonHash: 'p1', status: 'pending-verification' });
219
+ const verifier = vi.fn(async () => makeStage4Result('out-of-scope', { baselineMatches: ['tests/foo.test.ts'] }));
220
+ await promotePendingRules([pending], deps({ verifier, outcomesPath }));
221
+ const persisted = readVerificationOutcomes(outcomesPath);
222
+ expect(persisted['p1']?.outcome).toBe('out-of-scope');
223
+ expect(persisted['p1']?.baselineMatches).toEqual(['tests/foo.test.ts']);
224
+ expect(persisted['p1']?.verifiedAt).toBe(FROZEN_NOW.toISOString());
225
+ });
226
+ // ── No write when nothing changed ─────────────
227
+ it('does not touch the outcomes file when only memoized hits run', async () => {
228
+ const outcomesPath = path.join(tmpDir, 'verification-outcomes.json');
229
+ const pending = makeRule({ lessonHash: 'memo2', status: 'pending-verification' });
230
+ const verifier = vi.fn(async () => makeStage4Result('in-scope-bad-example'));
231
+ await promotePendingRules([pending], deps({ verifier, outcomesPath }));
232
+ const firstMtime = fs.statSync(outcomesPath).mtimeMs;
233
+ // Wait at least 1ms so a re-write would surface in mtime comparison.
234
+ await new Promise((resolve) => setTimeout(resolve, 5));
235
+ verifier.mockClear();
236
+ await promotePendingRules([pending], deps({ verifier, outcomesPath }));
237
+ const secondMtime = fs.statSync(outcomesPath).mtimeMs;
238
+ expect(secondMtime).toBe(firstMtime);
239
+ expect(verifier).not.toHaveBeenCalled();
240
+ });
241
+ });
242
+ //# sourceMappingURL=first-lint-promote.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-lint-promote.test.js","sourceRoot":"","sources":["../src/first-lint-promote.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAGzE,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,wBAAwB,EAExB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAEpC,uDAAuD;AAEvD,SAAS,QAAQ,CAAC,YAAmC,EAAE;IACrD,OAAO;QACL,UAAU,EAAE,QAAQ;QACpB,aAAa,EAAE,gBAAgB;QAC/B,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,OAAgB;QACxB,UAAU,EAAE,0BAA0B;QACtC,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,OAA4C,EAC5C,YAA+C,EAAE;IAEjD,OAAO;QACL,OAAO;QACP,eAAe,EAAE,EAAE;QACnB,cAAc,EAAE,EAAE;QAClB,kBAAkB,EAAE,EAAE;QACtB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC;AAExD,uDAAuD;AAEvD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAEhF,SAAS,KAAK,CACZ,OAA4C,EAC5C,SAA4C,EAAE;QAE9C,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE;YACpC,OAAO;YACP,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;YAClB,kBAAkB,EAAE,EAAE;YACtB,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,OAAO,GAAG,0BAA0B,CAAC;QAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC7F,MAAM,aAAa,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAChF,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,uDAAuD;AAEvD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,MAAe,CAAC;IAEpB,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,SAAS,IAAI,CACX,SAEC;QAED,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,4BAA4B,CAAC;YAC7D,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU;YACrB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;YAChB,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IAED,iDAAiD;IAEjD,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAChG,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACvB,MAAM,KAAK,GAAmB;YAC5B,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;YAC/C,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;SAC9B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,KAAK,EACL,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,CAC3E,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,6CAA6C;QAC7C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,iDAAiD;IAEjD,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;QACtG,MAAM,OAAO,GAAG,QAAQ,CAAC;YACvB,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE,sBAAsB;YAC9B,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAChC,gBAAgB,CAAC,gBAAgB,EAAE;YACjC,cAAc,EAAE,CAAC,YAAY,CAAC;YAC9B,kBAAkB,EAAE,CAAC,yBAAyB,CAAC;SAChD,CAAC,CACH,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,yDAAyD;IAEzD,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,KAAK,GAAmB;YAC5B,QAAQ,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;YACzE,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;YACpE,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;YACpE,QAAQ,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;SACpE,CAAC;QACF,MAAM,cAAc,GAAwD;YAC1E,eAAe,EAAE,YAAY;YAC7B,UAAU,EAAE,cAAc;YAC1B,UAAU,EAAE,sBAAsB;YAClC,SAAS,EAAE,gBAAgB;SAC5B,CAAC;QACF,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE,CAClD,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAE,CAAC,CACnD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CACpF,2BAA2B,CAC5B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9F,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9F,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,iDAAiD;IAEjD,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEtC,uCAAuC;QACvC,MAAM,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE1C,oEAAoE;QACpE,wEAAwE;QACxE,mDAAmD;QACnD,QAAQ,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAElD,EAAE,CAAC,oFAAoF,EAAE,KAAK,IAAI,EAAE;QAClG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,yBAAyB,CAAC,YAAY,EAAE;YACtC,UAAU,EAAE;gBACV,QAAQ,EAAE,UAAU;gBACpB,UAAU,EAAE,0BAA0B;gBACtC,OAAO,EAAE,sBAAsB;gBAC/B,eAAe,EAAE,EAAE;gBACnB,cAAc,EAAE,EAAE;gBAClB,kBAAkB,EAAE,EAAE;aACvB;SACF,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAElD,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAChF,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,IAAkB,EAAE,EAAE;YAClD,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACzE,OAAO,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,CAAC,KAAK,EAAE,KAAK,CAAC,EACd,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAC;QACF,wEAAwE;QACxE,sDAAsD;QACtD,+BAA+B;QAC/B,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAC5E,sBAAsB,CACvB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1F,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAElD,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAChC,gBAAgB,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAC7E,CAAC;QACF,MAAM,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,iDAAiD;IAEjD,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAE7E,MAAM,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;QAErD,qEAAqE;QACrE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,QAAQ,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,mBAAmB,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;QACtD,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -71,8 +71,12 @@ export type { BuildRuleResult, CompileLessonCallbacks, CompileLessonDeps, Compil
71
71
  export { buildCompiledRule, buildManualRule, compileLesson, deriveVirtualFilePath, formatExampleFailure, validateAstGrepPattern, verifyRuleExamples, } from './compile-lesson.js';
72
72
  export type { ResolveStage4BaselineInput, Stage4Baseline, Stage4Outcome, Stage4VerificationResult, Stage4VerifierDeps, } from './stage4-verifier.js';
73
73
  export { DEFAULT_BASELINE_GLOBS, getDefaultBaseline, parseStage4BaselineDirectives, resolveStage4Baseline, STAGE4_MANIFEST_EXCLUSIONS, verifyAgainstCodebase, } from './stage4-verifier.js';
74
+ export type { PromotePendingRulesDeps, PromotePendingRulesResult } from './first-lint-promote.js';
75
+ export { applyOutcomeToRule, promotePendingRules } from './first-lint-promote.js';
76
+ export type { Stage4OutcomeStoredValue, VerificationOutcomeEntry, VerificationOutcomesFile, VerificationOutcomesStore, } from './verification-outcomes.js';
77
+ export { readVerificationOutcomes, Stage4OutcomeStored, VerificationOutcomeEntrySchema, VerificationOutcomesFileSchema, writeVerificationOutcomes, } from './verification-outcomes.js';
74
78
  export type { CompileManifest } from './compile-manifest.js';
75
- export { canonicalStringify, CompileManifestSchema, generateInputHash, generateOutputHash, readCompileManifest, writeCompileManifest, } from './compile-manifest.js';
79
+ export { canonicalizeKeys, canonicalStringify, CompileManifestSchema, generateInputHash, generateOutputHash, readCompileManifest, writeCompileManifest, } from './compile-manifest.js';
76
80
  export type { RegistryEntry, TotemRegistry } from './registry.js';
77
81
  export { readRegistry, updateRegistryEntry } from './registry.js';
78
82
  export type { CustomSecret, SecretsFile } from './secrets.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -53,7 +53,9 @@ export { scanCursorInstructions } from './cursor-adapter.js';
53
53
  export { loadRuleMetrics, recordContextHit, recordEvaluation, recordSuppression, recordTrigger, saveRuleMetrics, } from './rule-metrics.js';
54
54
  export { buildCompiledRule, buildManualRule, compileLesson, deriveVirtualFilePath, formatExampleFailure, validateAstGrepPattern, verifyRuleExamples, } from './compile-lesson.js';
55
55
  export { DEFAULT_BASELINE_GLOBS, getDefaultBaseline, parseStage4BaselineDirectives, resolveStage4Baseline, STAGE4_MANIFEST_EXCLUSIONS, verifyAgainstCodebase, } from './stage4-verifier.js';
56
- export { canonicalStringify, CompileManifestSchema, generateInputHash, generateOutputHash, readCompileManifest, writeCompileManifest, } from './compile-manifest.js';
56
+ export { applyOutcomeToRule, promotePendingRules } from './first-lint-promote.js';
57
+ export { readVerificationOutcomes, Stage4OutcomeStored, VerificationOutcomeEntrySchema, VerificationOutcomesFileSchema, writeVerificationOutcomes, } from './verification-outcomes.js';
58
+ export { canonicalizeKeys, canonicalStringify, CompileManifestSchema, generateInputHash, generateOutputHash, readCompileManifest, writeCompileManifest, } from './compile-manifest.js';
57
59
  export { readRegistry, updateRegistryEntry } from './registry.js';
58
60
  export { CustomSecretSchema, loadCustomSecrets, SecretsFileSchema } from './secrets.js';
59
61
  export { appendLedgerEvent, LedgerEventSchema, readLedgerEvents } from './ledger.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ import type { Chunker } from './chunkers/chunker.js';
41
41
  export declare const InstalledPacksManifestSchema: z.ZodEffects<z.ZodObject<{
42
42
  version: z.ZodLiteral<1>;
43
43
  packs: z.ZodArray<z.ZodObject<{
44
- /** Pack package name as it appears in npm (e.g., `@totem/pack-rust-architecture`). */
44
+ /** Pack package name as it appears in npm (e.g., `@mmnto/pack-rust-architecture`). */
45
45
  name: z.ZodString;
46
46
  /**
47
47
  * Absolute filesystem path to the pack's package root. Refined to
@@ -48,7 +48,7 @@ export const InstalledPacksManifestSchema = z
48
48
  version: z.literal(1),
49
49
  packs: z.array(z
50
50
  .object({
51
- /** Pack package name as it appears in npm (e.g., `@totem/pack-rust-architecture`). */
51
+ /** Pack package name as it appears in npm (e.g., `@mmnto/pack-rust-architecture`). */
52
52
  name: z.string().min(1),
53
53
  /**
54
54
  * Absolute filesystem path to the pack's package root. Refined to