@mmnto/cli 1.14.0 → 1.14.2
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.
- package/dist/commands/compile-prune.test.d.ts +2 -0
- package/dist/commands/compile-prune.test.d.ts.map +1 -0
- package/dist/commands/compile-prune.test.js +116 -0
- package/dist/commands/compile-prune.test.js.map +1 -0
- package/dist/commands/compile.d.ts +37 -0
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +91 -4
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/doctor.d.ts +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/doctor.test.js +1 -1
- package/dist/commands/doctor.test.js.map +1 -1
- package/dist/commands/handoff.d.ts +17 -37
- package/dist/commands/handoff.d.ts.map +1 -1
- package/dist/commands/handoff.js +120 -273
- package/dist/commands/handoff.js.map +1 -1
- package/dist/commands/handoff.test.js +64 -277
- package/dist/commands/handoff.test.js.map +1 -1
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +2 -1
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/run-compiled-rules.d.ts +2 -0
- package/dist/commands/run-compiled-rules.d.ts.map +1 -1
- package/dist/commands/run-compiled-rules.js +63 -5
- package/dist/commands/run-compiled-rules.js.map +1 -1
- package/dist/commands/run-compiled-rules.test.js +382 -0
- package/dist/commands/run-compiled-rules.test.js.map +1 -1
- package/dist/commands/shield-hints.d.ts.map +1 -1
- package/dist/commands/shield-hints.js +5 -2
- package/dist/commands/shield-hints.js.map +1 -1
- package/dist/commands/shield-hints.test.js +2 -1
- package/dist/commands/shield-hints.test.js.map +1 -1
- package/dist/commands/shield-templates.d.ts +32 -0
- package/dist/commands/shield-templates.d.ts.map +1 -1
- package/dist/commands/shield-templates.js +32 -0
- package/dist/commands/shield-templates.js.map +1 -1
- package/dist/commands/shield.d.ts.map +1 -1
- package/dist/commands/shield.js +55 -52
- package/dist/commands/shield.js.map +1 -1
- package/dist/commands/shield.test.js +1 -1
- package/dist/commands/shield.test.js.map +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +0 -1
- package/dist/help.js.map +1 -1
- package/dist/index.js +8 -10
- package/dist/index.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +0 -1
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/schemas/handoff-checkpoint.d.ts +0 -34
- package/dist/schemas/handoff-checkpoint.d.ts.map +0 -1
- package/dist/schemas/handoff-checkpoint.js +0 -13
- package/dist/schemas/handoff-checkpoint.js.map +0 -1
- package/dist/schemas/handoff-checkpoint.test.d.ts +0 -2
- package/dist/schemas/handoff-checkpoint.test.d.ts.map +0 -1
- package/dist/schemas/handoff-checkpoint.test.js +0 -65
- package/dist/schemas/handoff-checkpoint.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-hints.test.js","sourceRoot":"","sources":["../../src/commands/shield-hints.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shield-hints.test.js","sourceRoot":"","sources":["../../src/commands/shield-hints.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Internal routing key for the review command. Keep as `'Shield'` — this
|
|
4
|
+
* value is used by:
|
|
5
|
+
*
|
|
6
|
+
* - `config.orchestrator.overrides[tag.toLowerCase()]` lookups in
|
|
7
|
+
* `packages/cli/src/utils.ts:runOrchestrator`
|
|
8
|
+
* - `config.orchestrator.cacheTtls[tag.toLowerCase()]` lookups in the
|
|
9
|
+
* same function
|
|
10
|
+
* - The temp-file naming in
|
|
11
|
+
* `packages/cli/src/orchestrators/shell-orchestrator.ts`
|
|
12
|
+
* - Every user `totem.config.ts` that has
|
|
13
|
+
* `orchestrator.overrides: { shield: '...' }`
|
|
14
|
+
*
|
|
15
|
+
* Renaming this constant without a coordinated migration would silently
|
|
16
|
+
* break every one of those lookups. When the user-visible CLI command
|
|
17
|
+
* was renamed from `totem shield` to `totem review`, the log prefix was
|
|
18
|
+
* updated via `DISPLAY_TAG` below — the routing key stayed here so no
|
|
19
|
+
* existing config breaks. A full rename (TAG → `'Review'`, config
|
|
20
|
+
* migration, deprecation alias for `overrides.shield`) is tracked as
|
|
21
|
+
* tech debt; search for `DISPLAY_TAG` or `mmnto/totem#1335` to find the
|
|
22
|
+
* coordinated cleanup.
|
|
23
|
+
*/
|
|
2
24
|
export declare const TAG = "Shield";
|
|
25
|
+
/**
|
|
26
|
+
* User-visible log prefix for the review command. This is what shows up
|
|
27
|
+
* as `[Review]` in CLI output. Kept separate from `TAG` so the log
|
|
28
|
+
* branding can match the `totem review` command name without touching
|
|
29
|
+
* the routing key. Use `DISPLAY_TAG` for every `log.info` / `log.dim`
|
|
30
|
+
* / `log.warn` / `log.success` / `log.error` call in the review flow.
|
|
31
|
+
* Use `TAG` only when the value is passed to code that performs a
|
|
32
|
+
* config-key lookup (e.g. `runOrchestrator({ tag: TAG })`).
|
|
33
|
+
*/
|
|
34
|
+
export declare const DISPLAY_TAG = "Review";
|
|
3
35
|
export declare const MAX_DIFF_CHARS = 50000;
|
|
4
36
|
export declare const QUERY_DIFF_TRUNCATE = 2000;
|
|
5
37
|
export declare const SPEC_SEARCH_POOL = 15;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-templates.d.ts","sourceRoot":"","sources":["../../src/commands/shield-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"shield-templates.d.ts","sourceRoot":"","sources":["../../src/commands/shield-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,GAAG,WAAW,CAAC;AAE5B;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,cAAc,QAAS,CAAC;AACrC,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AACzC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,eAAO,MAAM,cAAc,MAAM,CAAC;AAIlC,eAAO,MAAM,2BAA2B,yCAAuC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAIpF,eAAO,MAAM,aAAa,g6EAqCzB,CAAC;AAEF,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,CAAC;AAIjD,eAAO,MAAM,gBAAgB,6vFA+C5B,CAAC;AAIF,eAAO,MAAM,wBAAwB,kuFAqCpC,CAAC;AAIF,eAAO,MAAM,2BAA2B,mhIA2DvC,CAAC;AAIF,eAAO,MAAM,0BAA0B,0yCA6BtC,CAAC;AAOF,eAAO,MAAM,UAAU,QAC4E,CAAC"}
|
|
@@ -1,6 +1,38 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
// ─── Constants ──────────────────────────────────────────
|
|
3
|
+
/**
|
|
4
|
+
* Internal routing key for the review command. Keep as `'Shield'` — this
|
|
5
|
+
* value is used by:
|
|
6
|
+
*
|
|
7
|
+
* - `config.orchestrator.overrides[tag.toLowerCase()]` lookups in
|
|
8
|
+
* `packages/cli/src/utils.ts:runOrchestrator`
|
|
9
|
+
* - `config.orchestrator.cacheTtls[tag.toLowerCase()]` lookups in the
|
|
10
|
+
* same function
|
|
11
|
+
* - The temp-file naming in
|
|
12
|
+
* `packages/cli/src/orchestrators/shell-orchestrator.ts`
|
|
13
|
+
* - Every user `totem.config.ts` that has
|
|
14
|
+
* `orchestrator.overrides: { shield: '...' }`
|
|
15
|
+
*
|
|
16
|
+
* Renaming this constant without a coordinated migration would silently
|
|
17
|
+
* break every one of those lookups. When the user-visible CLI command
|
|
18
|
+
* was renamed from `totem shield` to `totem review`, the log prefix was
|
|
19
|
+
* updated via `DISPLAY_TAG` below — the routing key stayed here so no
|
|
20
|
+
* existing config breaks. A full rename (TAG → `'Review'`, config
|
|
21
|
+
* migration, deprecation alias for `overrides.shield`) is tracked as
|
|
22
|
+
* tech debt; search for `DISPLAY_TAG` or `mmnto/totem#1335` to find the
|
|
23
|
+
* coordinated cleanup.
|
|
24
|
+
*/
|
|
3
25
|
export const TAG = 'Shield';
|
|
26
|
+
/**
|
|
27
|
+
* User-visible log prefix for the review command. This is what shows up
|
|
28
|
+
* as `[Review]` in CLI output. Kept separate from `TAG` so the log
|
|
29
|
+
* branding can match the `totem review` command name without touching
|
|
30
|
+
* the routing key. Use `DISPLAY_TAG` for every `log.info` / `log.dim`
|
|
31
|
+
* / `log.warn` / `log.success` / `log.error` call in the review flow.
|
|
32
|
+
* Use `TAG` only when the value is passed to code that performs a
|
|
33
|
+
* config-key lookup (e.g. `runOrchestrator({ tag: TAG })`).
|
|
34
|
+
*/
|
|
35
|
+
export const DISPLAY_TAG = 'Review';
|
|
4
36
|
export const MAX_DIFF_CHARS = 50_000;
|
|
5
37
|
export const QUERY_DIFF_TRUNCATE = 2_000;
|
|
6
38
|
export const SPEC_SEARCH_POOL = 15;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-templates.js","sourceRoot":"","sources":["../../src/commands/shield-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,2DAA2D;AAE3D,MAAM,CAAC,MAAM,GAAG,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"shield-templates.js","sourceRoot":"","sources":["../../src/commands/shield-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,2DAA2D;AAE3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,QAAQ,CAAC;AAE5B;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAC7C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC,2DAA2D;AAE3D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAGhF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,2BAA2B;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAGH,2DAA2D;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC5B,CAAC;AAEF,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,CAAC;AAEjD,2DAA2D;AAE3D,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+C/B,CAAC;AAEF,4DAA4D;AAE5D,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCvC,CAAC;AAEF,6DAA6D;AAE7D,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2D1C,CAAC;AAEF,wDAAwD;AAExD,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BzC,CAAC;AAEF,2DAA2D;AAE3D,yFAAyF;AACzF,qFAAqF;AACrF,wHAAwH;AACxH,MAAM,CAAC,MAAM,UAAU,GACrB,iGAAiG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield.d.ts","sourceRoot":"","sources":["../../src/commands/shield.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"shield.d.ts","sourceRoot":"","sources":["../../src/commands/shield.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/shield.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { bold, errorColor, log, success as successColor } from '../ui.js';
|
|
2
2
|
import { formatLessonSection, formatResults, getSystemPrompt, loadConfig, loadEnv, partitionLessons, requireEmbedding, resolveConfigPath, runOrchestrator, sanitize, wrapXml, writeOutput, } from '../utils.js';
|
|
3
|
-
|
|
3
|
+
// totem-context: shield-templates is a pure constants + types + prompt-strings module with no runtime logic — static import is correct and the dynamic-imports-in-CLI lint rule is a false positive here
|
|
4
|
+
import { DISPLAY_TAG, // totem-context: pure constants module import
|
|
5
|
+
MAX_CODE_RESULTS, MAX_DIFF_CHARS, MAX_FILE_CONTEXT_CHARS, MAX_FILE_LINES, MAX_LESSONS, MAX_SESSION_RESULTS, MAX_SPEC_RESULTS, QUERY_DIFF_TRUNCATE, SHIELD_LEARN_SYSTEM_PROMPT, ShieldStructuredVerdictSchema, SPEC_SEARCH_POOL, STRUCTURAL_SYSTEM_PROMPT_V2, SYSTEM_PROMPT_V2, TAG, VERDICT_RE, } from './shield-templates.js';
|
|
4
6
|
const INCREMENTAL_MAX_LINES = 15;
|
|
5
7
|
// Re-export constants & prompts so existing consumers are not broken
|
|
6
8
|
export { MAX_DIFF_CHARS, SHIELD_LEARN_SYSTEM_PROMPT, STRUCTURAL_SYSTEM_PROMPT, } from './shield-templates.js';
|
|
@@ -227,7 +229,7 @@ export function formatVerdictForDisplay(verdict, pass) {
|
|
|
227
229
|
const lines = [];
|
|
228
230
|
// Header
|
|
229
231
|
const verdictLabel = pass ? successColor(bold('PASS')) : errorColor(bold('FAIL'));
|
|
230
|
-
lines.push(`
|
|
232
|
+
lines.push(`Review — ${verdictLabel}`);
|
|
231
233
|
lines.push('');
|
|
232
234
|
// Summary
|
|
233
235
|
lines.push(`Summary: ${verdict.summary}`);
|
|
@@ -292,7 +294,7 @@ export async function writeReviewedContentHash(cwd, totemDir, configRoot) {
|
|
|
292
294
|
catch (err) {
|
|
293
295
|
// Non-fatal — flag is a convenience for PreToolUse hooks
|
|
294
296
|
if (process.env['TOTEM_DEBUG'] === '1') {
|
|
295
|
-
console.error('[
|
|
297
|
+
console.error('[Review] Failed to write .reviewed-content-hash:', err instanceof Error ? err.message : err);
|
|
296
298
|
}
|
|
297
299
|
}
|
|
298
300
|
}
|
|
@@ -301,7 +303,7 @@ export async function writeReviewedContentHash(cwd, totemDir, configRoot) {
|
|
|
301
303
|
export async function learnFromVerdict(verdictContent, diff, options, config, cwd, configRoot) {
|
|
302
304
|
const path = await import('node:path');
|
|
303
305
|
const { appendLessons, flagSuspiciousLessons, parseLessons, selectLessons } = await import('./extract.js');
|
|
304
|
-
log.info(
|
|
306
|
+
log.info(DISPLAY_TAG, 'Extracting lessons from failed verdict...'); // totem-ignore: hardcoded string
|
|
305
307
|
// Assemble extraction prompt: shield verdict + diff as context
|
|
306
308
|
const systemPrompt = getSystemPrompt('shield-learn', SHIELD_LEARN_SYSTEM_PROMPT, cwd, config.totemDir);
|
|
307
309
|
const sections = [
|
|
@@ -336,11 +338,11 @@ export async function learnFromVerdict(verdictContent, diff, options, config, cw
|
|
|
336
338
|
}
|
|
337
339
|
catch (err) {
|
|
338
340
|
const msg = err instanceof Error ? err.message : String(err);
|
|
339
|
-
log.dim(
|
|
341
|
+
log.dim(DISPLAY_TAG, `Could not query existing lessons for dedup (non-fatal): ${msg}`); // totem-ignore: msg from Error.message
|
|
340
342
|
}
|
|
341
343
|
}
|
|
342
344
|
const prompt = sections.join('\n');
|
|
343
|
-
log.dim(
|
|
345
|
+
log.dim(DISPLAY_TAG, `Learn prompt: ${(prompt.length / 1024).toFixed(0)}KB`);
|
|
344
346
|
const content = await runOrchestrator({
|
|
345
347
|
prompt,
|
|
346
348
|
tag: TAG,
|
|
@@ -354,10 +356,10 @@ export async function learnFromVerdict(verdictContent, diff, options, config, cw
|
|
|
354
356
|
return; // --raw mode
|
|
355
357
|
const lessons = parseLessons(content);
|
|
356
358
|
if (lessons.length === 0) {
|
|
357
|
-
log.dim(
|
|
359
|
+
log.dim(DISPLAY_TAG, 'No systemic lessons extracted from verdict.'); // totem-ignore: hardcoded string
|
|
358
360
|
return;
|
|
359
361
|
}
|
|
360
|
-
log.success(
|
|
362
|
+
log.success(DISPLAY_TAG, `Extracted ${lessons.length} lesson(s) from verdict`); // totem-ignore: count only
|
|
361
363
|
// Flag and select
|
|
362
364
|
const flagged = flagSuspiciousLessons(lessons);
|
|
363
365
|
// Display for review
|
|
@@ -381,7 +383,7 @@ export async function learnFromVerdict(verdictContent, diff, options, config, cw
|
|
|
381
383
|
isTTY: !!process.stdin.isTTY,
|
|
382
384
|
});
|
|
383
385
|
if (selected.length === 0) {
|
|
384
|
-
log.dim(
|
|
386
|
+
log.dim(DISPLAY_TAG, 'No lessons selected — nothing written.'); // totem-ignore: hardcoded string
|
|
385
387
|
return;
|
|
386
388
|
}
|
|
387
389
|
// Sanitize and persist
|
|
@@ -391,21 +393,21 @@ export async function learnFromVerdict(verdictContent, diff, options, config, cw
|
|
|
391
393
|
}));
|
|
392
394
|
const lessonsDir = path.join(cwd, config.totemDir, 'lessons');
|
|
393
395
|
appendLessons(sanitized, lessonsDir);
|
|
394
|
-
log.success(
|
|
396
|
+
log.success(DISPLAY_TAG, `Appended ${sanitized.length} lesson(s) to ${config.totemDir}/lessons/`); // totem-ignore: count only
|
|
395
397
|
// Incremental sync (non-fatal — lessons are already written to disk)
|
|
396
398
|
try {
|
|
397
|
-
log.info(
|
|
399
|
+
log.info(DISPLAY_TAG, 'Running incremental sync...');
|
|
398
400
|
const { runSync } = await import('@mmnto/totem');
|
|
399
401
|
const syncResult = await runSync(config, {
|
|
400
402
|
projectRoot: cwd,
|
|
401
403
|
incremental: true,
|
|
402
|
-
onProgress: (msg) => log.dim(
|
|
404
|
+
onProgress: (msg) => log.dim(DISPLAY_TAG, msg),
|
|
403
405
|
});
|
|
404
|
-
log.success(
|
|
406
|
+
log.success(DISPLAY_TAG, `Sync complete: ${syncResult.chunksProcessed} chunks from ${syncResult.filesProcessed} files`);
|
|
405
407
|
}
|
|
406
408
|
catch (err) {
|
|
407
409
|
const msg = err instanceof Error ? err.message : String(err);
|
|
408
|
-
log.warn(
|
|
410
|
+
log.warn(DISPLAY_TAG, `Sync failed (lessons saved but not yet indexed): ${msg}`); // totem-ignore: msg from Error.message
|
|
409
411
|
}
|
|
410
412
|
}
|
|
411
413
|
// ─── Pipeline 5: observation auto-capture ──────────
|
|
@@ -427,7 +429,7 @@ export async function captureObservationRules(findings, cwd, config, configRoot)
|
|
|
427
429
|
}
|
|
428
430
|
catch (err) {
|
|
429
431
|
if (process.env['TOTEM_DEBUG'] === '1') {
|
|
430
|
-
log.dim(
|
|
432
|
+
log.dim(DISPLAY_TAG, `Skipped ${finding.file}: ${err instanceof Error ? err.message : String(err)}`);
|
|
431
433
|
}
|
|
432
434
|
continue; // Deleted or inaccessible file — skip
|
|
433
435
|
}
|
|
@@ -446,14 +448,14 @@ export async function captureObservationRules(findings, cwd, config, configRoot)
|
|
|
446
448
|
// Merge into existing compiled rules, skipping duplicates by lessonHash
|
|
447
449
|
const rulesPath = path.join(configRoot ?? cwd, config.totemDir, 'compiled-rules.json');
|
|
448
450
|
try {
|
|
449
|
-
const existing = loadCompiledRulesFile(rulesPath, (msg) => log.dim(
|
|
451
|
+
const existing = loadCompiledRulesFile(rulesPath, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
450
452
|
const existingHashes = new Set(existing.rules.map((r) => r.lessonHash));
|
|
451
453
|
const newRules = deduped.filter((r) => !existingHashes.has(r.lessonHash));
|
|
452
454
|
if (newRules.length === 0)
|
|
453
455
|
return;
|
|
454
456
|
existing.rules.push(...newRules);
|
|
455
457
|
saveCompiledRulesFile(rulesPath, existing);
|
|
456
|
-
log.info(
|
|
458
|
+
log.info(DISPLAY_TAG, `Pipeline 5: captured ${newRules.length} observation rule(s)`);
|
|
457
459
|
// Re-hash the manifest so verify-manifest stays in sync (#1155)
|
|
458
460
|
const resolvedTotemDir = path.join(configRoot ?? cwd, config.totemDir);
|
|
459
461
|
const manifestPath = path.join(resolvedTotemDir, 'compile-manifest.json');
|
|
@@ -469,7 +471,7 @@ export async function captureObservationRules(findings, cwd, config, configRoot)
|
|
|
469
471
|
catch (err) {
|
|
470
472
|
// Non-fatal — auto-capture should never crash the shield command
|
|
471
473
|
if (process.env['TOTEM_DEBUG'] === '1') {
|
|
472
|
-
log.dim(
|
|
474
|
+
log.dim(DISPLAY_TAG, `Pipeline 5 save failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
473
475
|
}
|
|
474
476
|
}
|
|
475
477
|
}
|
|
@@ -478,7 +480,7 @@ async function handleVerdictResult(content, diff, options, config, cwd, configRo
|
|
|
478
480
|
const { TotemError } = await import('@mmnto/totem');
|
|
479
481
|
writeOutput(content, options.out);
|
|
480
482
|
if (options.out)
|
|
481
|
-
log.success(
|
|
483
|
+
log.success(DISPLAY_TAG, `Written to ${options.out}`);
|
|
482
484
|
if (options.raw)
|
|
483
485
|
return;
|
|
484
486
|
// Try structured parsing first (V2)
|
|
@@ -490,7 +492,7 @@ async function handleVerdictResult(content, diff, options, config, cwd, configRo
|
|
|
490
492
|
const cacheDir = pathMod.join(resolvedTotemDir, 'cache');
|
|
491
493
|
const { readSharedExemptions, writeSharedExemptions } = await import('../exemptions/exemption-store.js');
|
|
492
494
|
const { filterExemptedFindings, addManualSuppression } = await import('../exemptions/exemption-engine.js');
|
|
493
|
-
let shared = readSharedExemptions(resolvedTotemDir, (msg) => log.dim(
|
|
495
|
+
let shared = readSharedExemptions(resolvedTotemDir, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
494
496
|
// Apply manual --suppress flags
|
|
495
497
|
if (options.suppress?.length) {
|
|
496
498
|
const { appendLedgerEvent: appendExemptionEvent } = await import('@mmnto/totem');
|
|
@@ -498,7 +500,7 @@ async function handleVerdictResult(content, diff, options, config, cwd, configRo
|
|
|
498
500
|
if (!label.trim())
|
|
499
501
|
continue;
|
|
500
502
|
shared = addManualSuppression(shared, label, `Manual suppression via --suppress`);
|
|
501
|
-
log.info(
|
|
503
|
+
log.info(DISPLAY_TAG, `Suppression registered: ${label}`);
|
|
502
504
|
appendExemptionEvent(resolvedTotemDir, {
|
|
503
505
|
timestamp: new Date().toISOString(),
|
|
504
506
|
type: 'exemption',
|
|
@@ -506,14 +508,14 @@ async function handleVerdictResult(content, diff, options, config, cwd, configRo
|
|
|
506
508
|
file: '(shield)',
|
|
507
509
|
justification: `--suppress ${label}`,
|
|
508
510
|
source: 'shield',
|
|
509
|
-
}, (msg) => log.dim(
|
|
511
|
+
}, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
510
512
|
}
|
|
511
|
-
writeSharedExemptions(resolvedTotemDir, shared, (msg) => log.dim(
|
|
513
|
+
writeSharedExemptions(resolvedTotemDir, shared, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
512
514
|
}
|
|
513
515
|
// Filter exempted findings
|
|
514
516
|
const { filtered, exempted } = filterExemptedFindings(structured.findings, shared);
|
|
515
517
|
if (exempted.length > 0) {
|
|
516
|
-
log.dim(
|
|
518
|
+
log.dim(DISPLAY_TAG, `${exempted.length} finding(s) exempted by suppression rules`);
|
|
517
519
|
}
|
|
518
520
|
// Use filtered verdict for pass/fail, but show all findings in display
|
|
519
521
|
const filteredVerdict = { ...structured, findings: [...filtered, ...exempted] };
|
|
@@ -530,9 +532,9 @@ async function handleVerdictResult(content, diff, options, config, cwd, configRo
|
|
|
530
532
|
else if (options.override) {
|
|
531
533
|
const { appendLedgerEvent } = await import('@mmnto/totem');
|
|
532
534
|
const criticalFindings = filtered.filter((f) => f.severity === 'CRITICAL');
|
|
533
|
-
log.warn(
|
|
535
|
+
log.warn(DISPLAY_TAG, `SHIELD OVERRIDE APPLIED: ${options.override}`);
|
|
534
536
|
for (const finding of criticalFindings) {
|
|
535
|
-
log.warn(
|
|
537
|
+
log.warn(DISPLAY_TAG, ` [overridden] ${finding.message}`);
|
|
536
538
|
}
|
|
537
539
|
appendLedgerEvent(resolvedTotemDir, {
|
|
538
540
|
timestamp: new Date().toISOString(),
|
|
@@ -541,20 +543,20 @@ async function handleVerdictResult(content, diff, options, config, cwd, configRo
|
|
|
541
543
|
file: '(shield)',
|
|
542
544
|
justification: options.override,
|
|
543
545
|
source: 'shield',
|
|
544
|
-
}, (msg) => log.dim(
|
|
546
|
+
}, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
545
547
|
// Track overridden findings for exemption engine (only non-exempted findings)
|
|
546
548
|
const { readLocalExemptions, writeLocalExemptions } = await import('../exemptions/exemption-store.js');
|
|
547
549
|
const { trackFalsePositives } = await import('../exemptions/exemption-engine.js');
|
|
548
550
|
const { PROMOTION_THRESHOLD } = await import('../exemptions/exemption-schema.js');
|
|
549
|
-
const localExemptions = readLocalExemptions(cacheDir, (msg) => log.dim(
|
|
551
|
+
const localExemptions = readLocalExemptions(cacheDir, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
550
552
|
const tracked = trackFalsePositives(criticalFindings, 'shield', localExemptions, shared);
|
|
551
553
|
for (const msg of tracked.promoted) {
|
|
552
|
-
log.warn(
|
|
554
|
+
log.warn(DISPLAY_TAG, `Pattern auto-suppressed after ${PROMOTION_THRESHOLD} overrides: ${msg}`);
|
|
553
555
|
}
|
|
554
|
-
writeLocalExemptions(cacheDir, tracked.local, (msg) => log.dim(
|
|
556
|
+
writeLocalExemptions(cacheDir, tracked.local, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
555
557
|
if (tracked.promoted.length > 0) {
|
|
556
558
|
shared = tracked.shared;
|
|
557
|
-
writeSharedExemptions(resolvedTotemDir, shared, (msg) => log.dim(
|
|
559
|
+
writeSharedExemptions(resolvedTotemDir, shared, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
558
560
|
appendLedgerEvent(resolvedTotemDir, {
|
|
559
561
|
timestamp: new Date().toISOString(),
|
|
560
562
|
type: 'exemption',
|
|
@@ -562,7 +564,7 @@ async function handleVerdictResult(content, diff, options, config, cwd, configRo
|
|
|
562
564
|
file: '(shield)',
|
|
563
565
|
justification: `Auto-promoted after ${PROMOTION_THRESHOLD} overrides`,
|
|
564
566
|
source: 'shield',
|
|
565
|
-
}, (msg) => log.dim(
|
|
567
|
+
}, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
566
568
|
}
|
|
567
569
|
}
|
|
568
570
|
else {
|
|
@@ -578,7 +580,8 @@ async function handleVerdictResult(content, diff, options, config, cwd, configRo
|
|
|
578
580
|
if (verdict) {
|
|
579
581
|
const verdictLabel = verdict.pass ? successColor(bold('PASS')) : errorColor(bold('FAIL'));
|
|
580
582
|
const reason = verdict.reason ? ` — ${verdict.reason}` : '';
|
|
581
|
-
|
|
583
|
+
// totem-context: reason is either empty string or pre-prefixed with ' — ', so direct concat is intentional
|
|
584
|
+
log.info(DISPLAY_TAG, `Verdict: ${verdictLabel}${reason}`);
|
|
582
585
|
if (verdict.pass) {
|
|
583
586
|
await writeReviewedContentHash(cwd, config.totemDir, configRoot);
|
|
584
587
|
}
|
|
@@ -586,7 +589,7 @@ async function handleVerdictResult(content, diff, options, config, cwd, configRo
|
|
|
586
589
|
const { appendLedgerEvent } = await import('@mmnto/totem');
|
|
587
590
|
const pathMod = await import('node:path');
|
|
588
591
|
const resolvedTotemDir = pathMod.join(configRoot ?? cwd, config.totemDir);
|
|
589
|
-
log.warn(
|
|
592
|
+
log.warn(DISPLAY_TAG, `SHIELD OVERRIDE APPLIED: ${options.override}`);
|
|
590
593
|
appendLedgerEvent(resolvedTotemDir, {
|
|
591
594
|
timestamp: new Date().toISOString(),
|
|
592
595
|
type: 'override',
|
|
@@ -594,7 +597,7 @@ async function handleVerdictResult(content, diff, options, config, cwd, configRo
|
|
|
594
597
|
file: '(shield)',
|
|
595
598
|
justification: options.override,
|
|
596
599
|
source: 'shield',
|
|
597
|
-
}, (msg) => log.dim(
|
|
600
|
+
}, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
598
601
|
}
|
|
599
602
|
else {
|
|
600
603
|
if (options.learn || config.shieldAutoLearn)
|
|
@@ -683,7 +686,7 @@ export async function shieldCommand(options) {
|
|
|
683
686
|
// Silently upgrade the pre-push hook if it lacks review auto-refresh (#1045)
|
|
684
687
|
const { upgradePrePushHookIfNeeded } = await import('./install-hooks.js');
|
|
685
688
|
if (upgradePrePushHookIfNeeded(cwd)) {
|
|
686
|
-
log.dim(
|
|
689
|
+
log.dim(DISPLAY_TAG, 'Upgraded pre-push hook with review auto-refresh');
|
|
687
690
|
}
|
|
688
691
|
const configPath = resolveConfigPath(cwd);
|
|
689
692
|
const configRoot = path.dirname(configPath);
|
|
@@ -696,17 +699,17 @@ export async function shieldCommand(options) {
|
|
|
696
699
|
let changedFiles;
|
|
697
700
|
const incremental = await evaluateIncrementalEligibility(cwd, config.totemDir, configRoot);
|
|
698
701
|
if (incremental.eligible && incremental.deltaDiff && incremental.changedFiles) {
|
|
699
|
-
log.info(
|
|
702
|
+
log.info(DISPLAY_TAG, `Incremental review: ${incremental.linesChanged} line(s) since last pass`);
|
|
700
703
|
diff = incremental.deltaDiff;
|
|
701
704
|
changedFiles = incremental.changedFiles;
|
|
702
705
|
}
|
|
703
706
|
else {
|
|
704
707
|
if (incremental.reason && incremental.reason !== 'No previous shield state') {
|
|
705
|
-
log.dim(
|
|
708
|
+
log.dim(DISPLAY_TAG, `Full review: ${incremental.reason}`);
|
|
706
709
|
}
|
|
707
710
|
// Get git diff — shared helper merges ignore patterns, tries staged/all
|
|
708
711
|
// then falls back to branch diff, and extracts changed file paths.
|
|
709
|
-
const diffResult = await getDiffForReview(options, config, cwd,
|
|
712
|
+
const diffResult = await getDiffForReview(options, config, cwd, DISPLAY_TAG);
|
|
710
713
|
if (!diffResult) {
|
|
711
714
|
// No changes = trivial pass — stamp content hash
|
|
712
715
|
await writeReviewedContentHash(cwd, config.totemDir, configRoot);
|
|
@@ -718,8 +721,8 @@ export async function shieldCommand(options) {
|
|
|
718
721
|
// Stage 1: Classify files — fast-path for non-code-only diffs
|
|
719
722
|
const classification = classifyChangedFiles(changedFiles);
|
|
720
723
|
if (classification.allNonCode) {
|
|
721
|
-
log.info(
|
|
722
|
-
log.dim(
|
|
724
|
+
log.info(DISPLAY_TAG, 'Deterministic fast-path: all changed files are non-code');
|
|
725
|
+
log.dim(DISPLAY_TAG, `Skipped: ${changedFiles.join(', ')}`);
|
|
723
726
|
await writeReviewedContentHash(cwd, config.totemDir, configRoot);
|
|
724
727
|
return;
|
|
725
728
|
}
|
|
@@ -731,18 +734,18 @@ export async function shieldCommand(options) {
|
|
|
731
734
|
filteredFiles = classification.codeFiles;
|
|
732
735
|
if (!filteredDiff.trim()) {
|
|
733
736
|
// After filtering, no code diff remains — fast-path PASS
|
|
734
|
-
log.info(
|
|
737
|
+
log.info(DISPLAY_TAG, 'Deterministic fast-path: no code changes after filtering non-code files');
|
|
735
738
|
await writeReviewedContentHash(cwd, config.totemDir, configRoot);
|
|
736
739
|
return;
|
|
737
740
|
}
|
|
738
|
-
log.dim(
|
|
741
|
+
log.dim(DISPLAY_TAG, `Filtered ${classification.nonCodeFiles.length} non-code file(s) from diff`);
|
|
739
742
|
}
|
|
740
743
|
// Extract annotations once (shared between hints and ledger)
|
|
741
744
|
const annotations = extractShieldContextAnnotations(filteredFiles, cwd);
|
|
742
745
|
// Auto-detect smart review hints from the filtered diff
|
|
743
746
|
const smartHints = extractShieldHints(filteredDiff, filteredFiles, cwd, annotations);
|
|
744
747
|
if (smartHints.length > 0) {
|
|
745
|
-
log.dim(
|
|
748
|
+
log.dim(DISPLAY_TAG, `${smartHints.length} smart hint(s) detected`);
|
|
746
749
|
}
|
|
747
750
|
// Trap Ledger: record override events for totem-context annotations (ADR-071)
|
|
748
751
|
if (annotations.length > 0) {
|
|
@@ -757,21 +760,21 @@ export async function shieldCommand(options) {
|
|
|
757
760
|
line: ann.line,
|
|
758
761
|
justification: ann.text,
|
|
759
762
|
source: 'shield',
|
|
760
|
-
}, (msg) => log.dim(
|
|
763
|
+
}, (msg) => log.dim(DISPLAY_TAG, msg));
|
|
761
764
|
}
|
|
762
|
-
log.dim(
|
|
765
|
+
log.dim(DISPLAY_TAG, `${annotations.length} annotation(s) recorded in Trap Ledger`);
|
|
763
766
|
}
|
|
764
767
|
// Build full-file context for small changed files (reduces false positives)
|
|
765
768
|
const fileContext = await buildFileContext(filteredFiles.length > 0 ? filteredFiles : changedFiles, cwd, MAX_FILE_LINES, MAX_FILE_CONTEXT_CHARS);
|
|
766
769
|
if (fileContext) {
|
|
767
|
-
log.dim(
|
|
770
|
+
log.dim(DISPLAY_TAG, `File context: ${(fileContext.length / 1024).toFixed(0)}KB`);
|
|
768
771
|
}
|
|
769
772
|
// Structural mode — context-blind LLM review, no embeddings, no Totem knowledge
|
|
770
773
|
if (options.mode === 'structural') {
|
|
771
|
-
log.info(
|
|
774
|
+
log.info(DISPLAY_TAG, 'Running structural review (context-blind, no Totem knowledge)...');
|
|
772
775
|
const systemPrompt = getSystemPrompt('shield-structural', STRUCTURAL_SYSTEM_PROMPT_V2, cwd, config.totemDir);
|
|
773
776
|
const prompt = assembleStructuralPrompt(filteredDiff, filteredFiles, systemPrompt, smartHints, fileContext);
|
|
774
|
-
log.dim(
|
|
777
|
+
log.dim(DISPLAY_TAG, `Prompt: ${(prompt.length / 1024).toFixed(0)}KB`);
|
|
775
778
|
const content = await runOrchestrator({
|
|
776
779
|
prompt,
|
|
777
780
|
tag: TAG,
|
|
@@ -800,15 +803,15 @@ export async function shieldCommand(options) {
|
|
|
800
803
|
await store.connect();
|
|
801
804
|
// Retrieve context from LanceDB — use original changedFiles for better search relevance
|
|
802
805
|
const query = await buildSearchQuery(changedFiles, diff);
|
|
803
|
-
log.info(
|
|
806
|
+
log.info(DISPLAY_TAG, 'Querying Totem index...');
|
|
804
807
|
const context = await retrieveContext(query, store);
|
|
805
808
|
const totalResults = context.specs.length + context.sessions.length + context.code.length + context.lessons.length;
|
|
806
|
-
log.info(
|
|
809
|
+
log.info(DISPLAY_TAG, `Found: ${context.specs.length} specs, ${context.sessions.length} sessions, ${context.code.length} code, ${context.lessons.length} lessons`);
|
|
807
810
|
// Resolve system prompt (allow .totem/prompts/shield.md override)
|
|
808
811
|
const systemPrompt = getSystemPrompt('shield', SYSTEM_PROMPT_V2, cwd, config.totemDir);
|
|
809
812
|
// Assemble prompt — use filtered diff/files for LLM review
|
|
810
813
|
const prompt = assemblePrompt(filteredDiff, filteredFiles, context, systemPrompt, smartHints, fileContext);
|
|
811
|
-
log.dim(
|
|
814
|
+
log.dim(DISPLAY_TAG, `Prompt: ${(prompt.length / 1024).toFixed(0)}KB`);
|
|
812
815
|
const content = await runOrchestrator({
|
|
813
816
|
prompt,
|
|
814
817
|
tag: TAG,
|