@mmnto/cli 1.16.1 → 1.17.1

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 (40) hide show
  1. package/dist/adapters/github-cli-pr.d.ts +13 -1
  2. package/dist/adapters/github-cli-pr.d.ts.map +1 -1
  3. package/dist/adapters/github-cli-pr.js +60 -2
  4. package/dist/adapters/github-cli-pr.js.map +1 -1
  5. package/dist/adapters/github-cli-pr.test.js +67 -0
  6. package/dist/adapters/github-cli-pr.test.js.map +1 -1
  7. package/dist/adapters/pr-adapter.d.ts +25 -0
  8. package/dist/adapters/pr-adapter.d.ts.map +1 -1
  9. package/dist/commands/retrospect.d.ts +37 -0
  10. package/dist/commands/retrospect.d.ts.map +1 -0
  11. package/dist/commands/retrospect.js +461 -0
  12. package/dist/commands/retrospect.js.map +1 -0
  13. package/dist/commands/retrospect.test.d.ts +2 -0
  14. package/dist/commands/retrospect.test.d.ts.map +1 -0
  15. package/dist/commands/retrospect.test.js +703 -0
  16. package/dist/commands/retrospect.test.js.map +1 -0
  17. package/dist/commands/shield-estimate.d.ts +8 -0
  18. package/dist/commands/shield-estimate.d.ts.map +1 -1
  19. package/dist/commands/shield-estimate.js +224 -0
  20. package/dist/commands/shield-estimate.js.map +1 -1
  21. package/dist/commands/shield-estimate.test.js +570 -0
  22. package/dist/commands/shield-estimate.test.js.map +1 -1
  23. package/dist/commands/shield.d.ts +8 -0
  24. package/dist/commands/shield.d.ts.map +1 -1
  25. package/dist/commands/shield.js.map +1 -1
  26. package/dist/index.js +64 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/terminal-sanitize.d.ts +28 -0
  29. package/dist/terminal-sanitize.d.ts.map +1 -0
  30. package/dist/terminal-sanitize.js +36 -0
  31. package/dist/terminal-sanitize.js.map +1 -0
  32. package/dist/terminal-sanitize.test.d.ts +2 -0
  33. package/dist/terminal-sanitize.test.d.ts.map +1 -0
  34. package/dist/terminal-sanitize.test.js +46 -0
  35. package/dist/terminal-sanitize.test.js.map +1 -0
  36. package/dist/utils.d.ts +1 -0
  37. package/dist/utils.d.ts.map +1 -1
  38. package/dist/utils.js +6 -0
  39. package/dist/utils.js.map +1 -1
  40. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrospect.test.js","sourceRoot":"","sources":["../../src/commands/retrospect.test.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,14 @@ import type { ShieldOptions } from './shield.js';
15
15
  * `runCompiledRules` unchanged so a passing estimate looks identical to
16
16
  * a passing `totem lint` run on the metrics + trap-ledger surface.
17
17
  *
18
+ * After `runCompiledRules` returns, the pattern-history overlay layer
19
+ * (mmnto-ai/totem#1731) reads `.totem/recurrence-stats.json` (substrate
20
+ * from mmnto-ai/totem#1715) and surfaces uncovered historical patterns
21
+ * whose tokens are present in the diff additions above a containment
22
+ * threshold. Opt out via `--no-history`. Missing/malformed substrate
23
+ * degrades to a single dim hint line so the deterministic pass output
24
+ * is unchanged.
25
+ *
18
26
  * Empty-diff handling intentionally does NOT stamp the
19
27
  * `.reviewed-content-hash` push-gate cache: an estimate is a forecast,
20
28
  * not a passing review, and stamping the cache would let the push-gate
@@ -1 +1 @@
1
- {"version":3,"file":"shield-estimate.d.ts","sourceRoot":"","sources":["../../src/commands/shield-estimate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAkCf"}
1
+ {"version":3,"file":"shield-estimate.d.ts","sourceRoot":"","sources":["../../src/commands/shield-estimate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAuBjD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAiDf"}
@@ -1,5 +1,22 @@
1
1
  // totem-context: shield-templates is a pure constants + types module with no runtime logic; static import matches the established shield.ts:19 DISPLAY_TAG pattern and the lazy-import lint rule is a false positive here
2
2
  import { ESTIMATE_DISPLAY_TAG } from './shield-templates.js';
3
+ /**
4
+ * Pattern-history containment threshold (mmnto-ai/totem#1731). A pattern
5
+ * matches the diff when at least 40% of its significant tokens (after
6
+ * the substrate's `tokenizeForJaccard` stopword + length filter) appear
7
+ * in the diff's added lines. Bounded [0,1]. Looser than the substrate's
8
+ * 0.6 rule-coverage Jaccard by design — issue-driven and asymmetric.
9
+ *
10
+ * NOTE: this is a containment coefficient `|pattern ∩ diff| / |pattern|`
11
+ * NOT Jaccard `|pattern ∩ diff| / |pattern ∪ diff|`. Whole-diff Jaccard
12
+ * is mathematically broken at this scale (a 30-token pattern against a
13
+ * 2000-token diff scores ≈ |pattern|/|diff| ≈ 0 always); containment
14
+ * answers the right question — "what fraction of the pattern's
15
+ * vocabulary is present in the diff."
16
+ */
17
+ const PATTERN_HISTORY_CONTAINMENT_THRESHOLD = 0.4;
18
+ /** Max chars rendered for a pattern's sample-body excerpt in the overlay stanza. */
19
+ const PATTERN_HISTORY_SAMPLE_BODY_MAX = 120;
3
20
  /**
4
21
  * Pre-flight deterministic-rule estimator for `totem review --estimate`
5
22
  * (mmnto-ai/totem#1714). Runs the same compiled-rule engine as
@@ -15,6 +32,14 @@ import { ESTIMATE_DISPLAY_TAG } from './shield-templates.js';
15
32
  * `runCompiledRules` unchanged so a passing estimate looks identical to
16
33
  * a passing `totem lint` run on the metrics + trap-ledger surface.
17
34
  *
35
+ * After `runCompiledRules` returns, the pattern-history overlay layer
36
+ * (mmnto-ai/totem#1731) reads `.totem/recurrence-stats.json` (substrate
37
+ * from mmnto-ai/totem#1715) and surfaces uncovered historical patterns
38
+ * whose tokens are present in the diff additions above a containment
39
+ * threshold. Opt out via `--no-history`. Missing/malformed substrate
40
+ * degrades to a single dim hint line so the deterministic pass output
41
+ * is unchanged.
42
+ *
18
43
  * Empty-diff handling intentionally does NOT stamp the
19
44
  * `.reviewed-content-hash` push-gate cache: an estimate is a forecast,
20
45
  * not a passing review, and stamping the cache would let the push-gate
@@ -51,5 +76,204 @@ export async function runEstimate(options, config, cwd, configRoot) {
51
76
  // (mmnto-ai/totem#1732 CR R2).
52
77
  isStaged: diffResult.source === 'staged',
53
78
  });
79
+ // Pattern-history overlay — opt out via `--no-history`
80
+ // (mmnto-ai/totem#1731). Default-on; Commander auto-inverts the negative
81
+ // flag, so `options.history === false` is the explicit opt-out.
82
+ if (options.history === false)
83
+ return;
84
+ // Substrate path is rooted at `configRoot` (the dir containing
85
+ // `totem.config.ts`), NOT `cwd` — invocations from a nested working dir
86
+ // would otherwise probe `<cwd>/.totem/recurrence-stats.json` and disable
87
+ // the overlay even though the substrate exists at the project root.
88
+ // Per CR mmnto-ai/totem#1739 round-1 (Major).
89
+ await runPatternHistoryOverlay({
90
+ diff: diffResult.diff,
91
+ configRoot,
92
+ totemDir: config.totemDir,
93
+ });
94
+ }
95
+ /**
96
+ * Pattern-history overlay (mmnto-ai/totem#1731). Reads the recurrence
97
+ * substrate, tokenizes the diff additions once, and prints an
98
+ * `[Estimate] Pattern-history layer ...` stanza for every uncovered
99
+ * pattern whose token vocabulary is present in the diff above the
100
+ * containment threshold.
101
+ *
102
+ * Pure render-time projection — never persisted, never mutated. Missing
103
+ * substrate emits one `log.dim` with remediation; malformed substrate
104
+ * emits one `log.warn`. Both paths return cleanly so the deterministic
105
+ * pass output is the user's verdict surface.
106
+ */
107
+ async function runPatternHistoryOverlay(args) {
108
+ const fs = await import('node:fs');
109
+ const path = await import('node:path');
110
+ const { z } = await import('zod');
111
+ const { log } = await import('../ui.js');
112
+ const { tokenizeForJaccard } = await import('@mmnto/totem');
113
+ // Imported from `terminal-sanitize.js` (dep-light) NOT `../utils.js`.
114
+ // Per CR mmnto-ai/totem#1739 R2 (Major): `cli/src/utils.ts` statically
115
+ // imports `./orchestrators/orchestrator.js`, so loading utils on the
116
+ // estimate path would transitively pull the orchestrator graph in
117
+ // and break this PR's no-orchestrator-imports invariant.
118
+ const { sanitizeForTerminal } = await import('../terminal-sanitize.js');
119
+ // Inline 4-field projection of `RecurrenceStatsSchema` (the canonical
120
+ // shape lives in `packages/core/src/recurrence-stats.ts`). Same
121
+ // single-source-of-truth pattern as `retrospect.ts:124` — keep zod
122
+ // lazy-imported and read only the fields we render so substrate
123
+ // additions don't break the overlay. Zod is mandated at system
124
+ // boundaries per the styleguide and the design doc Q1.
125
+ // totem-context: Zod-at-system-boundary — substrate is filesystem-read JSON, not the "small internal data structure" the lint rule targets.
126
+ const RecurrenceStatsFileSchema = z.object({
127
+ // totem-context: Zod-at-system-boundary — see schema-level comment above.
128
+ version: z.literal(1),
129
+ // totem-context: Zod-at-system-boundary — see schema-level comment above.
130
+ patterns: z.array(
131
+ // totem-context: Zod-at-system-boundary — see schema-level comment above.
132
+ z.object({
133
+ signature: z.string(),
134
+ occurrences: z.number(),
135
+ // totem-context: substrate-by-construction emits ≥1 PR per cluster; `.min(1)` is intentionally absent to preserve the graceful-degrade contract — an empty array is caught at match time (`if (pat.prs.length === 0) continue` below) rather than hard-failing the parse. Per CR mmnto-ai/totem#1739 R5 doc-cleanup nit.
136
+ prs: z.array(z.string()),
137
+ // totem-context: substrate-emitted sample bodies; the overlay already skips empty-body patterns at match time, so `.min(1)` would convert silent skip into a hard parse failure that breaks the graceful-degrade contract.
138
+ sampleBodies: z.array(z.string()),
139
+ })),
140
+ });
141
+ const substratePath = path.join(args.configRoot, args.totemDir, 'recurrence-stats.json');
142
+ if (!fs.existsSync(substratePath)) {
143
+ log.dim(ESTIMATE_DISPLAY_TAG, `Pattern-history layer skipped: ${substratePath} not found — run 'totem stats --pattern-recurrence' to enable.`);
144
+ return;
145
+ }
146
+ let parsed;
147
+ try {
148
+ // totem-context: synchronous read of a small JSON substrate file (typical size << 100KB) is the established pattern in the bot-tax cluster — `retrospect.ts:285` does the same. The overlay runs once after `runCompiledRules` returns; converting to fs.promises.readFile here would not change blocking behavior because the entire estimate path is awaited end-to-end.
149
+ const raw = fs.readFileSync(substratePath, 'utf-8');
150
+ const json = JSON.parse(raw);
151
+ parsed = RecurrenceStatsFileSchema.parse(json);
152
+ // totem-context: malformed/Zod-failing substrate is a graceful-degrade path per the mmnto-ai/totem#1731 failure-mode table — log + return so the deterministic-rule pass output is the user's verdict surface; rethrowing here would crash the estimator on a substrate the user never explicitly opted into.
153
+ }
154
+ catch (err) {
155
+ // totem-context: `err` originates from JSON.parse / Zod / fs — all three surface `Error` instances in the happy unhappy-path; the `String(err)` branch is a defensive fallback for an exotic non-Error throw, not the silent `[object Object]` widening the lint rule targets.
156
+ const msg = err instanceof Error ? err.message : String(err);
157
+ log.warn(ESTIMATE_DISPLAY_TAG, `Pattern-history layer skipped: ${msg}`);
158
+ return;
159
+ }
160
+ // Tokenize the diff additions once. We strictly extract `^+`-prefixed
161
+ // lines that are NOT `+++` file headers — otherwise file paths poison
162
+ // the token pool. The substrate's `tokenizeForJaccard` then strips
163
+ // stopwords + ≤2-char tokens so the overlay's vocabulary matches the
164
+ // substrate's coverage check exactly.
165
+ const diffAdditions = extractDiffAdditions(args.diff);
166
+ const diffTokens = tokenizeForJaccard(diffAdditions);
167
+ // Degenerate-input fast path: a punctuation-only diff or an
168
+ // additions-stripped diff yields zero tokens. Containment is
169
+ // structurally zero against any non-empty pattern; skip silently.
170
+ if (diffTokens.size === 0)
171
+ return;
172
+ const matches = [];
173
+ for (const pat of parsed.patterns) {
174
+ if (pat.sampleBodies.length === 0)
175
+ continue;
176
+ // Substrate-by-construction emits ≥1 PR per cluster (see
177
+ // `runRecurrenceStats`), but the projection schema doesn't enforce
178
+ // `prs.min(1)` — keeping it open preserves the graceful-degrade
179
+ // contract on a malformed substrate. Skip the rendering for an
180
+ // empty PR list since the stanza ("in PRs ") would carry no signal.
181
+ // Per CR mmnto-ai/totem#1739 R4 (Minor).
182
+ if (pat.prs.length === 0)
183
+ continue;
184
+ // Q2 (locked): union of all up-to-3 sample bodies, not just [0]. The
185
+ // bodies share a normalized signature so their vocabulary overlaps;
186
+ // the union gives a more complete picture of the pattern's tokens
187
+ // with no real downside.
188
+ const patternTokens = tokenizeForJaccard(pat.sampleBodies.join(' '));
189
+ if (patternTokens.size === 0)
190
+ continue;
191
+ const containment = containmentCoefficient(patternTokens, diffTokens);
192
+ if (containment < PATTERN_HISTORY_CONTAINMENT_THRESHOLD)
193
+ continue;
194
+ matches.push({
195
+ signature: pat.signature,
196
+ occurrences: pat.occurrences,
197
+ prs: pat.prs,
198
+ sampleBody: pat.sampleBodies[0] ?? '',
199
+ containment,
200
+ });
201
+ }
202
+ // Sort by containment desc, then signature asc for determinism.
203
+ matches.sort((a, b) => {
204
+ if (b.containment !== a.containment)
205
+ return b.containment - a.containment;
206
+ return a.signature.localeCompare(b.signature);
207
+ });
208
+ if (matches.length === 0) {
209
+ log.dim(ESTIMATE_DISPLAY_TAG, `Pattern-history layer: 0 matches above containment threshold (${PATTERN_HISTORY_CONTAINMENT_THRESHOLD}).`);
210
+ return;
211
+ }
212
+ // Q4 (locked): blank `[Estimate]` lines above and below the section
213
+ // header create the visual separator AC bullet 4 calls for.
214
+ log.info(ESTIMATE_DISPLAY_TAG, '');
215
+ log.info(ESTIMATE_DISPLAY_TAG, '─── Pattern-history layer ───');
216
+ log.info(ESTIMATE_DISPLAY_TAG, `${matches.length} historical pattern(s) match this diff (uncovered by current rules):`);
217
+ log.info(ESTIMATE_DISPLAY_TAG, '');
218
+ // Sanitize every substrate-derived field before stderr — `signature`,
219
+ // `prs`, and `sampleBody` come from `recurrence-stats.json` on disk, and
220
+ // a tampered substrate could plant ANSI/CSI sequences that spoof cursor
221
+ // moves or color resets. Per CR mmnto-ai/totem#1739 round-1 (Major);
222
+ // mirrors the `sanitizeForTerminal` defense `retrospect.ts` already
223
+ // applies to GitHub-sourced bodyExcerpt content.
224
+ for (const m of matches) {
225
+ const prList = m.prs.map((p) => `#${sanitizeForTerminal(p)}`).join(', ');
226
+ log.info(ESTIMATE_DISPLAY_TAG, ` ${sanitizeForTerminal(m.signature)} — ${m.occurrences}x in PRs ${prList} (containment: ${m.containment.toFixed(2)})`);
227
+ const truncated = truncateSampleBody(sanitizeForTerminal(m.sampleBody), PATTERN_HISTORY_SAMPLE_BODY_MAX);
228
+ log.info(ESTIMATE_DISPLAY_TAG, ` "${truncated}"`);
229
+ }
230
+ }
231
+ /**
232
+ * Extract added lines from a unified diff into a single newline-joined
233
+ * string. Strips the leading `+` and intentionally skips `+++ <path>`
234
+ * file headers so file paths don't poison the token pool.
235
+ *
236
+ * Header guard requires a trailing space (`'+++ '`) so a real added line
237
+ * of code starting with `++` (e.g., `++increment;` rendered as
238
+ * `+++increment;` in the unified diff) is NOT misclassified as a header.
239
+ * The trailing space is mandated by the unified-diff format. Pre-push
240
+ * Sonnet pickup on `mmnto-ai/totem#1739` R4.
241
+ */
242
+ function extractDiffAdditions(diff) {
243
+ const out = [];
244
+ for (const line of diff.split(/\r?\n/)) {
245
+ if (!line.startsWith('+'))
246
+ continue; // totem-context: `line` is a string-typed split result, not a fileGlobs config entry — the startsWith lint rule targets the latter.
247
+ if (line.startsWith('+++ '))
248
+ continue; // totem-context: same as the line above — string-typed split result.
249
+ out.push(line.slice(1));
250
+ }
251
+ return out.join('\n');
252
+ }
253
+ /**
254
+ * Containment coefficient `|A ∩ B| / |A|`. Returns 0 when `a` is empty
255
+ * (degenerate input — no pattern vocabulary to be contained anywhere).
256
+ * Asymmetric and bounded [0,1].
257
+ */
258
+ function containmentCoefficient(a, b) {
259
+ if (a.size === 0)
260
+ return 0;
261
+ let intersection = 0;
262
+ for (const tok of a) {
263
+ if (b.has(tok))
264
+ intersection += 1;
265
+ }
266
+ return intersection / a.size;
267
+ }
268
+ /**
269
+ * Truncate a sample body for log display — collapses internal
270
+ * whitespace (so multi-line bodies render on one line) and slices to
271
+ * `max` chars with an ellipsis suffix.
272
+ */
273
+ function truncateSampleBody(body, max) {
274
+ const collapsed = body.replace(/\s+/g, ' ').trim();
275
+ if (collapsed.length <= max)
276
+ return collapsed;
277
+ return collapsed.slice(0, max) + '…';
54
278
  }
55
279
  //# sourceMappingURL=shield-estimate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shield-estimate.js","sourceRoot":"","sources":["../../src/commands/shield-estimate.ts"],"names":[],"mappings":"AAGA,0NAA0N;AAC1N,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAsB,EACtB,MAAmB,EACnB,GAAW,EACX,UAAkB;IAElB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAErE,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,kDAAkD,CAAC,CAAC;IAEnF,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACtF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,gEAAgE;QAChE,+DAA+D;QAC/D,kEAAkE;QAClE,mDAAmD;QACnD,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,2CAA2C,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,CAAC;QACrB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,GAAG;QACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO,CAAC,GAAG;QACpB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,GAAG,EAAE,oBAAoB;QACzB,UAAU;QACV,yEAAyE;QACzE,qEAAqE;QACrE,uEAAuE;QACvE,qEAAqE;QACrE,qDAAqD;QACrD,+BAA+B;QAC/B,QAAQ,EAAE,UAAU,CAAC,MAAM,KAAK,QAAQ;KACzC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"shield-estimate.js","sourceRoot":"","sources":["../../src/commands/shield-estimate.ts"],"names":[],"mappings":"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"}