@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.
Files changed (59) hide show
  1. package/dist/commands/compile-prune.test.d.ts +2 -0
  2. package/dist/commands/compile-prune.test.d.ts.map +1 -0
  3. package/dist/commands/compile-prune.test.js +116 -0
  4. package/dist/commands/compile-prune.test.js.map +1 -0
  5. package/dist/commands/compile.d.ts +37 -0
  6. package/dist/commands/compile.d.ts.map +1 -1
  7. package/dist/commands/compile.js +91 -4
  8. package/dist/commands/compile.js.map +1 -1
  9. package/dist/commands/doctor.d.ts +1 -1
  10. package/dist/commands/doctor.js +2 -2
  11. package/dist/commands/doctor.js.map +1 -1
  12. package/dist/commands/doctor.test.js +1 -1
  13. package/dist/commands/doctor.test.js.map +1 -1
  14. package/dist/commands/handoff.d.ts +17 -37
  15. package/dist/commands/handoff.d.ts.map +1 -1
  16. package/dist/commands/handoff.js +120 -273
  17. package/dist/commands/handoff.js.map +1 -1
  18. package/dist/commands/handoff.test.js +64 -277
  19. package/dist/commands/handoff.test.js.map +1 -1
  20. package/dist/commands/lint.d.ts.map +1 -1
  21. package/dist/commands/lint.js +2 -1
  22. package/dist/commands/lint.js.map +1 -1
  23. package/dist/commands/run-compiled-rules.d.ts +2 -0
  24. package/dist/commands/run-compiled-rules.d.ts.map +1 -1
  25. package/dist/commands/run-compiled-rules.js +63 -5
  26. package/dist/commands/run-compiled-rules.js.map +1 -1
  27. package/dist/commands/run-compiled-rules.test.js +382 -0
  28. package/dist/commands/run-compiled-rules.test.js.map +1 -1
  29. package/dist/commands/shield-hints.d.ts.map +1 -1
  30. package/dist/commands/shield-hints.js +5 -2
  31. package/dist/commands/shield-hints.js.map +1 -1
  32. package/dist/commands/shield-hints.test.js +2 -1
  33. package/dist/commands/shield-hints.test.js.map +1 -1
  34. package/dist/commands/shield-templates.d.ts +32 -0
  35. package/dist/commands/shield-templates.d.ts.map +1 -1
  36. package/dist/commands/shield-templates.js +32 -0
  37. package/dist/commands/shield-templates.js.map +1 -1
  38. package/dist/commands/shield.d.ts.map +1 -1
  39. package/dist/commands/shield.js +55 -52
  40. package/dist/commands/shield.js.map +1 -1
  41. package/dist/commands/shield.test.js +1 -1
  42. package/dist/commands/shield.test.js.map +1 -1
  43. package/dist/help.d.ts.map +1 -1
  44. package/dist/help.js +0 -1
  45. package/dist/help.js.map +1 -1
  46. package/dist/index.js +8 -10
  47. package/dist/index.js.map +1 -1
  48. package/dist/utils.d.ts.map +1 -1
  49. package/dist/utils.js +0 -1
  50. package/dist/utils.js.map +1 -1
  51. package/package.json +2 -2
  52. package/dist/schemas/handoff-checkpoint.d.ts +0 -34
  53. package/dist/schemas/handoff-checkpoint.d.ts.map +0 -1
  54. package/dist/schemas/handoff-checkpoint.js +0 -13
  55. package/dist/schemas/handoff-checkpoint.js.map +0 -1
  56. package/dist/schemas/handoff-checkpoint.test.d.ts +0 -2
  57. package/dist/schemas/handoff-checkpoint.test.d.ts.map +0 -1
  58. package/dist/schemas/handoff-checkpoint.test.js +0 -65
  59. 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;AAC5B,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
+ {"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;AAC5B,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
+ {"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":"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"}
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;AAkBvF,OAAO,EAWL,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAO7B,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAI/B,UAAU,gBAAgB;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AA0BD,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EAAE,EACtB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAID,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAsDR;AAID,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAoCR;AAID,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAItF;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB,GAAG,IAAI,CAuCxF;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,uBAAuB,GAAG;IAChE,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAuBA;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAkC/F;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAID,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAMD,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAsIf;AAID,uCAAuC;AACvC,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,aAAa,EAAE,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgFf;AA0MD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAkE5B;AAID,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiOzE"}
@@ -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
- import { 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';
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(`Shield Review — ${verdictLabel}`);
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('[Shield] Failed to write .reviewed-content-hash:', err instanceof Error ? err.message : err);
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(TAG, 'Extracting lessons from failed verdict...'); // totem-ignore: hardcoded string
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(TAG, `Could not query existing lessons for dedup (non-fatal): ${msg}`); // totem-ignore: msg from Error.message
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(TAG, `Learn prompt: ${(prompt.length / 1024).toFixed(0)}KB`);
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(TAG, 'No systemic lessons extracted from verdict.'); // totem-ignore: hardcoded string
359
+ log.dim(DISPLAY_TAG, 'No systemic lessons extracted from verdict.'); // totem-ignore: hardcoded string
358
360
  return;
359
361
  }
360
- log.success(TAG, `Extracted ${lessons.length} lesson(s) from verdict`); // totem-ignore: count only
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(TAG, 'No lessons selected — nothing written.'); // totem-ignore: hardcoded string
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(TAG, `Appended ${sanitized.length} lesson(s) to ${config.totemDir}/lessons/`); // totem-ignore: count only
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(TAG, 'Running incremental sync...');
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(TAG, msg),
404
+ onProgress: (msg) => log.dim(DISPLAY_TAG, msg),
403
405
  });
404
- log.success(TAG, `Sync complete: ${syncResult.chunksProcessed} chunks from ${syncResult.filesProcessed} files`);
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(TAG, `Sync failed (lessons saved but not yet indexed): ${msg}`); // totem-ignore: msg from Error.message
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(TAG, `Skipped ${finding.file}: ${err instanceof Error ? err.message : String(err)}`);
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(TAG, msg));
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(TAG, `Pipeline 5: captured ${newRules.length} observation rule(s)`);
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(TAG, `Pipeline 5 save failed: ${err instanceof Error ? err.message : String(err)}`);
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(TAG, `Written to ${options.out}`);
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(TAG, msg));
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(TAG, `Suppression registered: ${label}`);
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(TAG, msg));
511
+ }, (msg) => log.dim(DISPLAY_TAG, msg));
510
512
  }
511
- writeSharedExemptions(resolvedTotemDir, shared, (msg) => log.dim(TAG, msg));
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(TAG, `${exempted.length} finding(s) exempted by suppression rules`);
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(TAG, `SHIELD OVERRIDE APPLIED: ${options.override}`);
535
+ log.warn(DISPLAY_TAG, `SHIELD OVERRIDE APPLIED: ${options.override}`);
534
536
  for (const finding of criticalFindings) {
535
- log.warn(TAG, ` [overridden] ${finding.message}`);
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(TAG, msg));
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(TAG, msg));
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(TAG, `Pattern auto-suppressed after ${PROMOTION_THRESHOLD} overrides: ${msg}`);
554
+ log.warn(DISPLAY_TAG, `Pattern auto-suppressed after ${PROMOTION_THRESHOLD} overrides: ${msg}`);
553
555
  }
554
- writeLocalExemptions(cacheDir, tracked.local, (msg) => log.dim(TAG, msg));
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(TAG, msg));
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(TAG, msg));
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
- log.info(TAG, `Verdict: ${verdictLabel}${reason}`);
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(TAG, `SHIELD OVERRIDE APPLIED: ${options.override}`);
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(TAG, msg));
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(TAG, 'Upgraded pre-push hook with review auto-refresh');
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(TAG, `Incremental review: ${incremental.linesChanged} line(s) since last pass`);
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(TAG, `Full review: ${incremental.reason}`);
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, TAG);
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(TAG, 'Deterministic fast-path: all changed files are non-code');
722
- log.dim(TAG, `Skipped: ${changedFiles.join(', ')}`);
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(TAG, 'Deterministic fast-path: no code changes after filtering non-code files');
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(TAG, `Filtered ${classification.nonCodeFiles.length} non-code file(s) from diff`);
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(TAG, `${smartHints.length} smart hint(s) detected`);
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(TAG, msg));
763
+ }, (msg) => log.dim(DISPLAY_TAG, msg));
761
764
  }
762
- log.dim(TAG, `${annotations.length} annotation(s) recorded in Trap Ledger`);
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(TAG, `File context: ${(fileContext.length / 1024).toFixed(0)}KB`);
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(TAG, 'Running structural review (context-blind, no Totem knowledge)...');
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(TAG, `Prompt: ${(prompt.length / 1024).toFixed(0)}KB`);
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(TAG, 'Querying Totem index...');
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(TAG, `Found: ${context.specs.length} specs, ${context.sessions.length} sessions, ${context.code.length} code, ${context.lessons.length} lessons`);
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(TAG, `Prompt: ${(prompt.length / 1024).toFixed(0)}KB`);
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,