@mmnto/cli 1.14.3 → 1.14.5

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.
@@ -1,13 +1,23 @@
1
- import { execFileSync } from 'node:child_process';
2
1
  import { describe, expect, it, vi } from 'vitest';
3
2
  import { z } from 'zod';
3
+ import { safeExec } from '@mmnto/totem';
4
4
  import { ghExec, ghFetchAndParse, handleGhError } from './gh-utils.js';
5
- vi.mock('node:child_process', () => ({
6
- execFileSync: vi.fn(),
7
- execFile: vi.fn(),
8
- execSync: vi.fn(),
9
- }));
10
- const mockedExec = vi.mocked(execFileSync);
5
+ // Mock `safeExec` at the `@mmnto/totem` boundary rather than at its
6
+ // internal `cross-spawn.sync` call site. mmnto/totem#1329 replaced
7
+ // `execFileSync` with `cross-spawn.sync` inside safeExec, and the
8
+ // previous test strategy (mocking `node:child_process.execFileSync`)
9
+ // stopped intercepting safeExec's new internal primitive. Mocking the
10
+ // package boundary is also more appropriately scoped — gh-utils tests
11
+ // should verify gh-utils's call signature, not safeExec's passthrough
12
+ // layer.
13
+ vi.mock('@mmnto/totem', async () => {
14
+ const actual = await vi.importActual('@mmnto/totem');
15
+ return {
16
+ ...actual,
17
+ safeExec: vi.fn(),
18
+ };
19
+ });
20
+ const mockedExec = vi.mocked(safeExec);
11
21
  // ─── handleGhError ──────────────────────────────────────
12
22
  describe('handleGhError', () => {
13
23
  it('re-throws errors with [Totem Error] prefix as-is', () => {
@@ -53,11 +63,10 @@ describe('handleGhError', () => {
53
63
  });
54
64
  // ─── ghExec ─────────────────────────────────────────────
55
65
  describe('ghExec', () => {
56
- it('uses shared exec options with stdio pipe and GH_PROMPT_DISABLED', () => {
66
+ it('uses shared exec options with GH_PROMPT_DISABLED', () => {
57
67
  mockedExec.mockReturnValue('');
58
68
  ghExec(['issue', 'comment', '1', '-b', 'test'], '/cwd');
59
69
  expect(mockedExec).toHaveBeenCalledWith('gh', ['issue', 'comment', '1', '-b', 'test'], expect.objectContaining({
60
- stdio: 'pipe',
61
70
  env: expect.objectContaining({ GH_PROMPT_DISABLED: '1' }),
62
71
  }));
63
72
  });
@@ -70,10 +79,10 @@ describe('ghFetchAndParse', () => {
70
79
  const result = ghFetchAndParse(['test', 'cmd'], TestSchema, 'test item', '/cwd');
71
80
  expect(result).toEqual({ id: 1, name: 'test' });
72
81
  });
73
- it('passes correct args to execFileSync', () => {
82
+ it('passes correct args to safeExec', () => {
74
83
  mockedExec.mockReturnValue(JSON.stringify({ id: 1, name: 'test' }));
75
84
  ghFetchAndParse(['pr', 'list', '--state', 'open'], TestSchema, 'test', '/cwd');
76
- expect(mockedExec).toHaveBeenCalledWith('gh', ['pr', 'list', '--state', 'open'], expect.objectContaining({ cwd: '/cwd', encoding: 'utf-8' }));
85
+ expect(mockedExec).toHaveBeenCalledWith('gh', ['pr', 'list', '--state', 'open'], expect.objectContaining({ cwd: '/cwd' }));
77
86
  });
78
87
  it('throws on invalid JSON', () => {
79
88
  mockedExec.mockReturnValue('not json');
@@ -95,11 +104,6 @@ describe('ghFetchAndParse', () => {
95
104
  });
96
105
  expect(() => ghFetchAndParse(['test'], TestSchema, 'PR #5', '/cwd')).toThrow(/\[Totem Error\] Failed to fetch PR #5:.*timeout exceeded/);
97
106
  });
98
- it('pipes stdio to prevent gh CLI stderr leaks (#863)', () => {
99
- mockedExec.mockReturnValue(JSON.stringify({ id: 1, name: 'test' }));
100
- ghFetchAndParse(['issue', 'view', '863'], TestSchema, 'issue #863', '/cwd');
101
- expect(mockedExec).toHaveBeenCalledWith('gh', ['issue', 'view', '863'], expect.objectContaining({ stdio: 'pipe' }));
102
- });
103
107
  it('sets GH_PROMPT_DISABLED to prevent interactive auth hangs', () => {
104
108
  mockedExec.mockReturnValue(JSON.stringify({ id: 1, name: 'test' }));
105
109
  ghFetchAndParse(['issue', 'view', '1'], TestSchema, 'issue #1', '/cwd');
@@ -1 +1 @@
1
- {"version":3,"file":"gh-utils.test.js","sourceRoot":"","sources":["../../src/adapters/gh-utils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gh-utils.test.js","sourceRoot":"","sources":["../../src/adapters/gh-utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
- import { execFileSync } from 'node:child_process';
2
1
  import { describe, expect, it, vi } from 'vitest';
2
+ import { safeExec } from '@mmnto/totem';
3
3
  import { GitHubCliPrAdapter } from './github-cli-pr.js';
4
- vi.mock('node:child_process', () => ({
5
- execFileSync: vi.fn(),
6
- execFile: vi.fn(),
7
- execSync: vi.fn(),
8
- }));
9
- const mockedExec = vi.mocked(execFileSync);
4
+ // Mock safeExec at the @mmnto/totem boundary (mmnto/totem#1329).
5
+ // See gh-utils.test.ts for the full rationale.
6
+ vi.mock('@mmnto/totem', async () => {
7
+ const actual = await vi.importActual('@mmnto/totem');
8
+ return {
9
+ ...actual,
10
+ safeExec: vi.fn(),
11
+ };
12
+ });
13
+ const mockedExec = vi.mocked(safeExec);
10
14
  describe('GitHubCliPrAdapter', () => {
11
15
  const adapter = new GitHubCliPrAdapter('/test/cwd');
12
16
  describe('fetchOpenPRs', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"github-cli-pr.test.js","sourceRoot":"","sources":["../../src/adapters/github-cli-pr.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-cli-pr.test.js","sourceRoot":"","sources":["../../src/adapters/github-cli-pr.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
- import { execFileSync } from 'node:child_process';
2
1
  import { describe, expect, it, vi } from 'vitest';
2
+ import { safeExec } from '@mmnto/totem';
3
3
  import { GitHubCliAdapter } from './github-cli.js';
4
- vi.mock('node:child_process', () => ({
5
- execFileSync: vi.fn(),
6
- execFile: vi.fn(),
7
- execSync: vi.fn(),
8
- }));
9
- const mockedExec = vi.mocked(execFileSync);
4
+ // Mock safeExec at the @mmnto/totem boundary (mmnto/totem#1329).
5
+ // See gh-utils.test.ts for the full rationale.
6
+ vi.mock('@mmnto/totem', async () => {
7
+ const actual = await vi.importActual('@mmnto/totem');
8
+ return {
9
+ ...actual,
10
+ safeExec: vi.fn(),
11
+ };
12
+ });
13
+ const mockedExec = vi.mocked(safeExec);
10
14
  describe('GitHubCliAdapter', () => {
11
15
  const adapter = new GitHubCliAdapter('/test/cwd');
12
16
  describe('fetchIssue', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"github-cli.test.js","sourceRoot":"","sources":["../../src/adapters/github-cli.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-cli.test.js","sourceRoot":"","sources":["../../src/adapters/github-cli.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compile-noop-refresh.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-noop-refresh.test.d.ts","sourceRoot":"","sources":["../../src/commands/compile-noop-refresh.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,239 @@
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 } from 'vitest';
5
+ import { generateInputHash, hashLesson, readCompileManifest } from '@mmnto/totem';
6
+ import { cleanTmpDir } from '../test-utils.js';
7
+ import { compileCommand } from './compile.js';
8
+ // ─── Helpers ─────────────────────────────────────────
9
+ //
10
+ // These tests exercise the `toCompile.length === 0` no-op branch inside
11
+ // `compileCommand`. Full-tier config (shell orchestrator) is required so
12
+ // the branch is reachable, but because no lessons need compiling, the
13
+ // orchestrator command is never invoked.
14
+ function makeTmpDir() {
15
+ return fs.mkdtempSync(path.join(os.tmpdir(), 'totem-compile-noop-'));
16
+ }
17
+ /** Build a valid `## Lesson —` markdown block that readAllLessons can parse. */
18
+ function lessonMarkdown(heading, body) {
19
+ return `## Lesson — ${heading}\n\n**Tags:** test\n\n${body}\n`;
20
+ }
21
+ function setupWorkspace(tmpDir, options) {
22
+ // Full-tier config with a shell orchestrator. The shell command is a harmless
23
+ // no-op because `toCompile.length === 0` means it is never invoked, but its
24
+ // presence is required so compileCommand enters the regex-compilation branch
25
+ // rather than throwing CONFIG_MISSING.
26
+ fs.writeFileSync(path.join(tmpDir, 'totem.config.ts'), [
27
+ 'export default {',
28
+ ' targets: [{ glob: "**/*.ts", type: "code", strategy: "typescript-ast" }],',
29
+ ' totemDir: ".totem",',
30
+ ' orchestrator: {',
31
+ ' provider: "shell",',
32
+ ' command: "echo should-never-run",',
33
+ ' defaultModel: "test-model",',
34
+ ' },',
35
+ '};',
36
+ '',
37
+ ].join('\n'), 'utf-8');
38
+ const totemDir = path.join(tmpDir, '.totem');
39
+ const lessonsDir = path.join(totemDir, 'lessons');
40
+ fs.mkdirSync(lessonsDir, { recursive: true });
41
+ for (const [name, body] of Object.entries(options.lessons)) {
42
+ fs.writeFileSync(path.join(lessonsDir, name), body, 'utf-8');
43
+ }
44
+ // Pre-populate compiled-rules.json with the given rules. Keep the schema
45
+ // shape minimal — compileCommand only reads lessonHash to skip the compile
46
+ // loop and writes fresh entries back via pruneStaleRules.
47
+ const rulesPath = path.join(totemDir, 'compiled-rules.json');
48
+ const now = '2026-04-11T00:00:00Z';
49
+ fs.writeFileSync(rulesPath, JSON.stringify({
50
+ version: 1,
51
+ rules: options.rules.map((r) => ({
52
+ lessonHash: r.lessonHash,
53
+ lessonHeading: r.lessonHeading,
54
+ pattern: 'dummy-never-matches',
55
+ message: r.lessonHeading,
56
+ engine: 'regex',
57
+ compiledAt: now,
58
+ })),
59
+ nonCompilable: [],
60
+ }, null, 2) + '\n', 'utf-8');
61
+ if (!options.omitManifest) {
62
+ const manifestPath = path.join(totemDir, 'compile-manifest.json');
63
+ // input_hash can be overridden to simulate drift. output_hash / rule_count
64
+ // are informational for these tests and not verified by the code path.
65
+ fs.writeFileSync(manifestPath, JSON.stringify({
66
+ compiled_at: now,
67
+ model: 'test-model',
68
+ input_hash: options.manifestInputHash ?? generateInputHash(lessonsDir),
69
+ output_hash: '0000000000000000000000000000000000000000000000000000000000000000',
70
+ rule_count: options.rules.length,
71
+ }, null, 2) + '\n', 'utf-8');
72
+ }
73
+ }
74
+ describe('compileCommand no-op manifest refresh (#1337)', () => {
75
+ let tmpDir;
76
+ let originalCwd;
77
+ beforeEach(() => {
78
+ tmpDir = makeTmpDir();
79
+ originalCwd = process.cwd();
80
+ process.chdir(tmpDir);
81
+ });
82
+ afterEach(() => {
83
+ process.chdir(originalCwd);
84
+ cleanTmpDir(tmpDir);
85
+ });
86
+ it('refreshes the manifest when input_hash has drifted even though no rules or non-compilable entries were pruned', async () => {
87
+ // Scenario: every lesson on disk is already cached as a rule, so
88
+ // toCompile.length === 0. Nothing gets pruned (rulesPruned === 0,
89
+ // drained === 0). But the manifest was persisted with a DIFFERENT
90
+ // input_hash — the exact trigger for #1337.
91
+ //
92
+ // This models the real-world bug: yesterday's #1338 rename PR required
93
+ // manually deleting a rule from compiled-rules.json AND its matching
94
+ // lesson file. After the deletion, every remaining lesson was still
95
+ // cached, but the manifest's input_hash was stale. verify-manifest then
96
+ // failed on git push, and the only recovery was `totem lesson compile
97
+ // --force` (~19 minutes of non-deterministic LLM calls).
98
+ const heading = 'Use err in catch';
99
+ const body = 'Do not use the identifier "error" in catch blocks.';
100
+ const lessonHash = hashLesson(heading, body);
101
+ setupWorkspace(tmpDir, {
102
+ lessons: {
103
+ 'use-err.md': lessonMarkdown(heading, body),
104
+ },
105
+ rules: [{ lessonHash, lessonHeading: heading }],
106
+ // Deliberate drift: the manifest was written before some earlier state
107
+ // and the current input_hash of lessonsDir does NOT match this value.
108
+ manifestInputHash: '00000000000000000000000000000000deadbeef00000000000000000000cafe',
109
+ });
110
+ const totemDir = path.join(tmpDir, '.totem');
111
+ const lessonsDir = path.join(totemDir, 'lessons');
112
+ const rulesPath = path.join(totemDir, 'compiled-rules.json');
113
+ const manifestPath = path.join(totemDir, 'compile-manifest.json');
114
+ // Snapshot the rules file mtime + contents BEFORE the command runs.
115
+ // If the fix is surgical, a pure drift refresh must NOT rewrite the
116
+ // rules file — only the manifest should change.
117
+ const rulesBefore = fs.readFileSync(rulesPath, 'utf-8');
118
+ const expectedInputHash = generateInputHash(lessonsDir);
119
+ expect(expectedInputHash).not.toBe('00000000000000000000000000000000deadbeef00000000000000000000cafe');
120
+ await compileCommand({});
121
+ // Manifest refreshed: input_hash is now the real current hash.
122
+ const manifestAfter = readCompileManifest(manifestPath);
123
+ expect(manifestAfter.input_hash).toBe(expectedInputHash);
124
+ // Rules file untouched: a pure drift refresh must not rewrite
125
+ // compiled-rules.json. Byte-for-byte equality is the strictest check.
126
+ const rulesAfter = fs.readFileSync(rulesPath, 'utf-8');
127
+ expect(rulesAfter).toBe(rulesBefore);
128
+ });
129
+ it('leaves the manifest alone when there is no drift and no pruning needed', async () => {
130
+ // Baseline no-op: lessonsDir is in sync with the manifest, and every
131
+ // lesson is already cached. The command should succeed without writing
132
+ // to either compile-manifest.json or compiled-rules.json.
133
+ const heading = 'Use err in catch';
134
+ const body = 'Do not use the identifier "error" in catch blocks.';
135
+ const lessonHash = hashLesson(heading, body);
136
+ setupWorkspace(tmpDir, {
137
+ lessons: {
138
+ 'use-err.md': lessonMarkdown(heading, body),
139
+ },
140
+ rules: [{ lessonHash, lessonHeading: heading }],
141
+ // No manifestInputHash override → setupWorkspace computes the real one.
142
+ });
143
+ const totemDir = path.join(tmpDir, '.totem');
144
+ const rulesPath = path.join(totemDir, 'compiled-rules.json');
145
+ const manifestPath = path.join(totemDir, 'compile-manifest.json');
146
+ const rulesBefore = fs.readFileSync(rulesPath, 'utf-8');
147
+ const manifestBefore = fs.readFileSync(manifestPath, 'utf-8');
148
+ await compileCommand({});
149
+ const rulesAfter = fs.readFileSync(rulesPath, 'utf-8');
150
+ const manifestAfter = fs.readFileSync(manifestPath, 'utf-8');
151
+ expect(rulesAfter).toBe(rulesBefore);
152
+ expect(manifestAfter).toBe(manifestBefore);
153
+ });
154
+ it('writes a fresh manifest when compile-manifest.json is missing entirely', async () => {
155
+ // Edge case: some flows (manual rule edits, interrupted compiles) can
156
+ // leave a workspace with a valid compiled-rules.json but no manifest.
157
+ // The no-op branch must synthesize one rather than throwing.
158
+ const heading = 'Use err in catch';
159
+ const body = 'Do not use the identifier "error" in catch blocks.';
160
+ const lessonHash = hashLesson(heading, body);
161
+ setupWorkspace(tmpDir, {
162
+ lessons: {
163
+ 'use-err.md': lessonMarkdown(heading, body),
164
+ },
165
+ rules: [{ lessonHash, lessonHeading: heading }],
166
+ omitManifest: true,
167
+ });
168
+ const totemDir = path.join(tmpDir, '.totem');
169
+ const lessonsDir = path.join(totemDir, 'lessons');
170
+ const manifestPath = path.join(totemDir, 'compile-manifest.json');
171
+ expect(fs.existsSync(manifestPath)).toBe(false);
172
+ await compileCommand({});
173
+ expect(fs.existsSync(manifestPath)).toBe(true);
174
+ const manifest = readCompileManifest(manifestPath);
175
+ expect(manifest.input_hash).toBe(generateInputHash(lessonsDir));
176
+ expect(manifest.rule_count).toBe(1);
177
+ });
178
+ // ─── Fail-loud regression tests (GCA review on PR #1348) ───
179
+ //
180
+ // Tenet 4 (Fail Loud, Never Drift): the no-op branch must only
181
+ // swallow the "manifest does not exist" case (ENOENT). Corrupted
182
+ // manifests, schema-mismatched manifests, and permission errors must
183
+ // propagate so the user sees a loud failure — silently overwriting
184
+ // a broken file would hide the underlying problem.
185
+ //
186
+ // These tests lock in the distinction between "missing" (safely
187
+ // synthesize a fresh manifest) and "broken in any other way"
188
+ // (re-throw, let the command fail loud).
189
+ it('propagates TotemParseError when compile-manifest.json is corrupted JSON', async () => {
190
+ const heading = 'Use err in catch';
191
+ const body = 'Do not use the identifier "error" in catch blocks.';
192
+ const lessonHash = hashLesson(heading, body);
193
+ setupWorkspace(tmpDir, {
194
+ lessons: {
195
+ 'use-err.md': lessonMarkdown(heading, body),
196
+ },
197
+ rules: [{ lessonHash, lessonHeading: heading }],
198
+ omitManifest: true,
199
+ });
200
+ // Overwrite the manifest with malformed JSON AFTER setupWorkspace.
201
+ const manifestPath = path.join(tmpDir, '.totem', 'compile-manifest.json');
202
+ fs.writeFileSync(manifestPath, '{ this is: not valid json }', 'utf-8');
203
+ // The command must propagate the parse failure rather than silently
204
+ // overwriting the user's corrupt file — that would hide whatever
205
+ // wrote the bad bytes and erase the user's chance to debug it.
206
+ await expect(compileCommand({})).rejects.toMatchObject({
207
+ code: 'PARSE_FAILED',
208
+ });
209
+ // The corrupt file must still be on disk — the command must not
210
+ // have rewritten it.
211
+ expect(fs.readFileSync(manifestPath, 'utf-8')).toBe('{ this is: not valid json }');
212
+ });
213
+ it('propagates TotemParseError when compile-manifest.json has a schema mismatch', async () => {
214
+ const heading = 'Use err in catch';
215
+ const body = 'Do not use the identifier "error" in catch blocks.';
216
+ const lessonHash = hashLesson(heading, body);
217
+ setupWorkspace(tmpDir, {
218
+ lessons: {
219
+ 'use-err.md': lessonMarkdown(heading, body),
220
+ },
221
+ rules: [{ lessonHash, lessonHeading: heading }],
222
+ omitManifest: true,
223
+ });
224
+ // Write a manifest whose JSON is well-formed but fails schema
225
+ // validation (required fields missing / wrong types).
226
+ const manifestPath = path.join(tmpDir, '.totem', 'compile-manifest.json');
227
+ const malformed = JSON.stringify({
228
+ // compiled_at, model, input_hash, output_hash, rule_count all missing
229
+ some_unexpected_key: 'whatever',
230
+ }, null, 2);
231
+ fs.writeFileSync(manifestPath, malformed, 'utf-8');
232
+ await expect(compileCommand({})).rejects.toMatchObject({
233
+ code: 'PARSE_FAILED',
234
+ });
235
+ // Corrupt file preserved verbatim.
236
+ expect(fs.readFileSync(manifestPath, 'utf-8')).toBe(malformed);
237
+ });
238
+ });
239
+ //# sourceMappingURL=compile-noop-refresh.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile-noop-refresh.test.js","sourceRoot":"","sources":["../../src/commands/compile-noop-refresh.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAC;AAYjF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAcT;AAID;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;IAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAQlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;IAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAG3C;AAwDD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,cAAc,SAAS,CAAC,CAAC;IAC7B,IAAI,EAAE,cAAc,WAAW,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,GAAG,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IAClD,mBAAmB,EAAE,cAAc,cAAc,EAAE,mBAAmB,CAAC;IACvE,qBAAqB,EAAE,cAAc,cAAc,EAAE,qBAAqB,CAAC;IAC3E,eAAe,EAAE,cAAc,cAAc,EAAE,eAAe,CAAC;IAC/D,mBAAmB,EAAE,cAAc,cAAc,EAAE,mBAAmB,CAAC;CACxE;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAyBT;AAID,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAksB5F"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAC;AAYjF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAcT;AAID;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;IAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAQlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;IAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAG3C;AAwDD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,cAAc,SAAS,CAAC,CAAC;IAC7B,IAAI,EAAE,cAAc,WAAW,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,GAAG,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IAClD,mBAAmB,EAAE,cAAc,cAAc,EAAE,mBAAmB,CAAC;IACvE,qBAAqB,EAAE,cAAc,cAAc,EAAE,qBAAqB,CAAC;IAC3E,eAAe,EAAE,cAAc,cAAc,EAAE,eAAe,CAAC;IAC/D,mBAAmB,EAAE,cAAc,cAAc,EAAE,mBAAmB,CAAC;CACxE;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAyBT;AAID,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA6vB5F"}
@@ -134,7 +134,7 @@ export async function compileCommand(options) {
134
134
  const path = await import('node:path');
135
135
  const { log } = await import('../ui.js');
136
136
  const { isGlobalConfigPath, loadConfig, loadEnv, resolveConfigPath, runOrchestrator } = await import('../utils.js');
137
- const { buildCompiledRule, buildManualRule, compileLesson: compileLessonCore, deriveVirtualFilePath, exportLessons, extractManualPattern, extractRuleExamples, formatExampleFailure, hashLesson, loadCompiledRulesFile, parseCompilerResponse, readAllLessons, saveCompiledRulesFile, scaffoldFixture, scaffoldFixturePath, verifyRuleExamples, } = await import('@mmnto/totem');
137
+ const { buildCompiledRule, buildManualRule, compileLesson: compileLessonCore, deriveVirtualFilePath, exportLessons, extractManualPattern, extractRuleExamples, formatExampleFailure, generateInputHash, generateOutputHash, hashLesson, loadCompiledRulesFile, parseCompilerResponse, readAllLessons, readCompileManifest, saveCompiledRulesFile, scaffoldFixture, scaffoldFixturePath, verifyRuleExamples, writeCompileManifest, } = await import('@mmnto/totem');
138
138
  const cwd = process.cwd();
139
139
  const configPath = resolveConfigPath(cwd);
140
140
  if (isGlobalConfigPath(configPath)) {
@@ -319,6 +319,60 @@ export async function compileCommand(options) {
319
319
  const currentHashes = new Set(lessons.map((l) => hashLesson(l.heading, l.body)));
320
320
  const { fresh: freshRules, pruned: rulesPruned } = pruneStaleRules(existingRules, currentHashes);
321
321
  const { fresh: freshNonCompilable, drained } = pruneStaleNonCompilable(nonCompilableMap, currentHashes);
322
+ // mmnto/totem#1337: detect "pure input-hash drift" — the case where
323
+ // a lesson file was added or removed but produced no rule/nonCompilable
324
+ // churn (e.g. a user deleted a lesson whose rule was already manually
325
+ // removed, or added a lesson that never got compiled). Both rulesPruned
326
+ // and drained will be zero, so the pre-1.14.3 refresh guard would skip
327
+ // the manifest write, leaving verify-manifest to fail on the next
328
+ // git push. Fix: refresh the manifest on drift even when the rules
329
+ // file is untouched.
330
+ //
331
+ // Carefully partition the writes:
332
+ // - compiled-rules.json is rewritten ONLY when something was pruned
333
+ // - compile-manifest.json is rewritten when EITHER something was
334
+ // pruned OR the input_hash drifted
335
+ // Rewriting the rules file on pure drift would be a spurious touch
336
+ // that invalidates mtime-based caches downstream.
337
+ const lessonsDir = path.join(totemDir, 'lessons');
338
+ const manifestPath = path.join(totemDir, 'compile-manifest.json');
339
+ const currentInputHash = generateInputHash(lessonsDir);
340
+ let existingManifestInputHash = null;
341
+ try {
342
+ existingManifestInputHash = readCompileManifest(manifestPath).input_hash;
343
+ }
344
+ catch (err) {
345
+ // ONLY swallow "manifest does not exist" (ENOENT) — everything else
346
+ // bubbles up so the user sees a loud failure rather than silently
347
+ // having their file overwritten (Tenet 4: Fail Loud, Never Drift).
348
+ //
349
+ // readCompileManifest wraps ENOENT from readJsonSafe into a
350
+ // TotemParseError with code 'PARSE_FAILED', preserving the original
351
+ // NodeJS.ErrnoException in `.cause`. Checking the cause chain
352
+ // (rather than err.code or a message-substring match) correctly
353
+ // distinguishes missing-file from:
354
+ // - corrupted JSON (cause is a SyntaxError with no `.code`)
355
+ // - schema mismatch (cause is a ZodError with no `.code`)
356
+ // - permission errors (cause is ErrnoException with code='EACCES'
357
+ // or 'EPERM', which are NOT 'ENOENT')
358
+ //
359
+ // The message-substring approach GCA proposed on PR review would
360
+ // couple us to error string wording that could drift in future
361
+ // refactors; walking the cause chain is the structurally correct
362
+ // check. Bounded depth prevents pathological infinite cycles.
363
+ let causeWalker = err;
364
+ let isMissingFile = false;
365
+ for (let depth = 0; depth < 8 && causeWalker instanceof Error; depth++) {
366
+ if (causeWalker.code === 'ENOENT') {
367
+ isMissingFile = true;
368
+ break;
369
+ }
370
+ causeWalker = causeWalker.cause;
371
+ }
372
+ if (!isMissingFile)
373
+ throw err;
374
+ }
375
+ const manifestStale = existingManifestInputHash !== currentInputHash;
322
376
  if (rulesPruned > 0 || drained > 0) {
323
377
  saveCompiledRulesFile(rulesPath, {
324
378
  version: 1,
@@ -331,22 +385,21 @@ export async function compileCommand(options) {
331
385
  if (drained > 0) {
332
386
  log.dim(TAG, `Pruned ${drained} stale non-compilable entr${drained === 1 ? 'y' : 'ies'} (lessons edited or removed)`); // totem-context: log only fires when actual draining happens
333
387
  }
334
- // CR finding on PR #1331: refresh the compile manifest so its
335
- // output hash and rule_count match the rewritten on-disk state.
336
- // Without this, provenance/attestation flows desync silently.
337
- const { generateInputHash, generateOutputHash, writeCompileManifest } = await import('@mmnto/totem');
338
- const lessonsDir = path.join(totemDir, 'lessons');
339
- const manifestPath = path.join(totemDir, 'compile-manifest.json');
340
- const inputHash = generateInputHash(lessonsDir);
388
+ }
389
+ if (rulesPruned > 0 || drained > 0 || manifestStale) {
390
+ // CR finding on PR mmnto/totem#1331: keep the compile manifest in sync
391
+ // with the rewritten on-disk state. Post-mmnto/totem#1337, this block
392
+ // also fires on pure input-hash drift — rewriting only the manifest,
393
+ // leaving the rules file untouched.
341
394
  const outputHash = generateOutputHash(rulesPath);
342
395
  writeCompileManifest(manifestPath, {
343
396
  compiled_at: new Date().toISOString(),
344
397
  model: options.model ?? config.orchestrator?.defaultModel ?? 'unknown',
345
- input_hash: inputHash,
398
+ input_hash: currentInputHash,
346
399
  output_hash: outputHash,
347
400
  rule_count: freshRules.length,
348
401
  });
349
- log.dim(TAG, `Manifest: ${inputHash.slice(0, 8)}…→${outputHash.slice(0, 8)}…`); // totem-context: provenance trace matches active-compile branch
402
+ log.dim(TAG, `Manifest: ${currentInputHash.slice(0, 8)}…→${outputHash.slice(0, 8)}…`); // totem-context: provenance trace matches active-compile branch
350
403
  reportedNonCompilable = freshNonCompilable.length;
351
404
  reportedCompiled = freshRules.length;
352
405
  }
@@ -633,7 +686,10 @@ export async function compileCommand(options) {
633
686
  nonCompilable: freshNonCompilable,
634
687
  });
635
688
  // ─── Write compile manifest (provenance chain) ───
636
- const { generateInputHash, generateOutputHash, writeCompileManifest } = await import('@mmnto/totem');
689
+ // CR finding on PR mmnto/totem#1348: generateInputHash/generateOutputHash/
690
+ // writeCompileManifest are already destructured at the top of this
691
+ // handler via the mmnto/totem#1337 import consolidation — no dynamic
692
+ // re-import needed here.
637
693
  const lessonsDir = path.join(totemDir, 'lessons');
638
694
  const manifestPath = path.join(totemDir, 'compile-manifest.json');
639
695
  const inputHash = generateInputHash(lessonsDir);
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/commands/compile.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmnto/cli",
3
- "version": "1.14.3",
3
+ "version": "1.14.5",
4
4
  "description": "CLI for Totem — AI persistent memory and context layer",
5
5
  "type": "module",
6
6
  "bin": {
@@ -24,7 +24,7 @@
24
24
  "smol-toml": "^1.6.1",
25
25
  "yaml": "^2.4.0",
26
26
  "zod": "^3.24.0",
27
- "@mmnto/totem": "1.14.3"
27
+ "@mmnto/totem": "1.14.5"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@anthropic-ai/sdk": "^0.78.0",