@mmnto/cli 1.97.0 → 1.98.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @mmnto/cli
2
2
 
3
- Command-line interface for [Totem](https://github.com/mmnto-ai/totem) a local-first, file-anchored substrate that makes AI-agent work queryable, enforceable, and derivable in your codebase. Installs the `totem` binary.
3
+ Command-line interface for [Totem](https://github.com/mmnto-ai/totem), the local-first toolkit that keeps AI-agent work queryable, enforceable, and derivable as plain files in your codebase. Installs the `totem` binary.
4
4
 
5
5
  ## Install
6
6
 
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Recall-compliance sensor for `totem doctor --compliance` (ADR-029 minimal
3
+ * slice, mmnto-ai/totem#2362).
4
+ *
5
+ * ADR-029 § 1 "Passive Log Analysis" specifies the telemetry pair by design:
6
+ * `.totem/.search-log.jsonl` (produced by the MCP `search_knowledge` tool) +
7
+ * git commit timestamps — write interception was explicitly rejected as too
8
+ * intrusive. The Compliance Rate (§ 3) is the % of coding sessions in which a
9
+ * `search_knowledge` call preceded the session's first commit.
10
+ *
11
+ * Commit-granularity caveat (§ 1, ruled in on #2362): a search landing between
12
+ * a file write and its commit still counts as compliant. That is inherent to
13
+ * the ADR's chosen design and acceptable for a warning-threshold sensor
14
+ * (Tenet 13) — it is a caveat on the readout, not a rename of the metric.
15
+ *
16
+ * Sensor-not-gate (Tenet 13): this command is a pure readout. It never throws,
17
+ * never sets a non-zero exit code, and is not part of the gating `--strict`
18
+ * suite — it only ever reports.
19
+ *
20
+ * Session model (ADR-029 § 2, verbatim): a coding session is "contiguous
21
+ * `search_knowledge` calls and git commits occurring within a rolling 2-hour
22
+ * window" — ONE merged event stream. An intervening commit extends a session
23
+ * exactly like a search does; search-only clusters with window-attached commits
24
+ * are NOT equivalent and were reworked out (2026-07-15 panel fold, codex
25
+ * architecture lens, verified against the ADR text).
26
+ *
27
+ * Why the rate is repo-wide only (same fold): commits carry no seat identity —
28
+ * SHA + timestamp — so a per-seat Compliance Rate would have to guess which
29
+ * seat's search "owns" a commit, fabricating attribution (Tenet 4).
30
+ * `agent_source` renders as an attribution-coverage diagnostic (entry counts
31
+ * per seat; `unattributed` = the ~420 pre-schema entries + hookless sessions),
32
+ * explicitly not a per-seat rate. The per-seat rate activates when a
33
+ * commit-side identity primitive exists (ADR-078 boundary / commit-stamped
34
+ * session ids). `session_id` is stamped by the producer for that same forward
35
+ * join and is deliberately unused in this windowing — there is nothing
36
+ * commit-side to join it against yet.
37
+ *
38
+ * Known precision limit: a later `git rebase` rewrites commit timestamps, which
39
+ * retroactively shifts the 2-hour windows a past run computed against — so a
40
+ * historical Compliance Rate is only as stable as the commit timestamps it read.
41
+ * This is inherent to the passive-log design (§ 1) and is not corrected here.
42
+ */
43
+ /** A parsed `.search-log.jsonl` entry — only the fields the metric needs. */
44
+ export interface ComplianceLogEntry {
45
+ timestamp: string;
46
+ agent_source: string | null;
47
+ session_id: string | null;
48
+ }
49
+ /**
50
+ * The git-history SEAM: a commit's sha + ISO timestamp. The doctor section
51
+ * supplies this from real git via `readCommitRecords`; tests supply literal
52
+ * arrays (no git spawn, no temp dirs).
53
+ */
54
+ export interface CommitRecord {
55
+ sha: string;
56
+ timestamp: string;
57
+ }
58
+ /** Rate numerator/denominator. */
59
+ export interface RateStat {
60
+ /** Counted sessions (coding sessions — windows containing ≥1 commit). */
61
+ n: number;
62
+ /** Of `n`, how many had a search precede the window's first commit. */
63
+ compliant: number;
64
+ }
65
+ export interface ComplianceReport {
66
+ /** Repo-wide Compliance Rate over merged-stream § 2 windows. */
67
+ overall: RateStat;
68
+ /**
69
+ * Attribution coverage — entry counts per `agent_source` bucket, sorted by
70
+ * name (`unattributed` = null/pre-schema). A diagnostic, NOT compliance:
71
+ * commits carry no seat identity, so per-seat rates are non-identifiable
72
+ * until a commit-side join primitive exists.
73
+ */
74
+ coverage: Array<{
75
+ bucket: string;
76
+ entries: number;
77
+ }>;
78
+ /**
79
+ * Windows that searched but never committed. Not a coding session per
80
+ * ADR-029 § 3, so excluded from the denominator — but surfaced so a
81
+ * search-heavy/commit-light stretch is visible, not hidden.
82
+ */
83
+ searchOnlySessions: number;
84
+ /** Raw count of parsed entries with no `agent_source` (the unattributed backlog). */
85
+ unattributedEntries: number;
86
+ }
87
+ export interface ParseResult {
88
+ entries: ComplianceLogEntry[];
89
+ /** Lines that were non-empty but failed JSON.parse or timestamp validation. */
90
+ malformedCount: number;
91
+ }
92
+ /**
93
+ * Parse the raw `.search-log.jsonl` contents. A malformed/corrupt line (bad
94
+ * JSON, or a missing/unparseable timestamp) is skipped and counted — the
95
+ * command never crashes on a partial write or a hand-edit (Tenet 13 sensor
96
+ * pattern: record + continue).
97
+ */
98
+ export declare function parseSearchLog(content: string): ParseResult;
99
+ /**
100
+ * Compute the Compliance Rate report from parsed log entries + the commit seam.
101
+ *
102
+ * 1. Merge searches + commits into ONE repo-wide event timeline (§ 2 verbatim:
103
+ * sessions are contiguous searches AND commits in a rolling 2-hour window —
104
+ * an intervening commit extends a session exactly like a search does).
105
+ * 2. Roll windows: a new session starts when the gap from the previous event
106
+ * exceeds 2 hours.
107
+ * 3. Score each window containing ≥1 commit: compliant iff its earliest search
108
+ * precedes its earliest commit (a commit-only window is non-compliant by
109
+ * construction). Search-only windows are excluded from the denominator (not
110
+ * coding sessions per § 3) but surfaced.
111
+ * 4. Coverage: entry counts per `agent_source` — a diagnostic, never a rate
112
+ * (commits carry no seat identity; see the header).
113
+ */
114
+ export declare function computeCompliance(entries: ComplianceLogEntry[], commits: CommitRecord[]): ComplianceReport;
115
+ /**
116
+ * Format a rate for display. Below `MIN_SESSIONS_FOR_RATE` counted sessions
117
+ * (including n=0), a percentage is meaningless — render the honest
118
+ * "insufficient data (n=x)" instead (ruled in on #2362: keep the metric name
119
+ * "Compliance Rate", surface low-n honestly rather than an over-precise %).
120
+ */
121
+ export declare function formatRate(stat: RateStat): string;
122
+ export interface ComplianceCliOptions {
123
+ /** Test seam — production callers omit and the command uses `process.cwd()`. */
124
+ cwdForTest?: string;
125
+ /** Test seam — inject raw log contents instead of reading `.search-log.jsonl`. */
126
+ logContentForTest?: string;
127
+ /** Test seam — inject commits instead of spawning git. */
128
+ commitsForTest?: CommitRecord[];
129
+ }
130
+ /**
131
+ * CLI entry — renders the Compliance Rate readout. Pure sensor: never throws
132
+ * for a compliance verdict, never sets a non-zero exit code (Tenet 13). Absent
133
+ * log file → the doctor `skip` idiom pointing at the MCP wiring, NOT a fail and
134
+ * NOT 0%.
135
+ */
136
+ export declare function doctorComplianceCliCommand(options?: ComplianceCliOptions): Promise<void>;
137
+ //# sourceMappingURL=doctor-compliance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-compliance.d.ts","sourceRoot":"","sources":["../../src/commands/doctor-compliance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAqBH,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,kCAAkC;AAClC,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,CAAC,EAAE,MAAM,CAAC;IACV,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,OAAO,EAAE,QAAQ,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAC;CACxB;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAkC3D;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,OAAO,EAAE,YAAY,EAAE,GACtB,gBAAgB,CAuDlB;AAID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAIjD;AAmCD,MAAM,WAAW,oBAAoB;IACnC,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CA6Ef"}
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Recall-compliance sensor for `totem doctor --compliance` (ADR-029 minimal
3
+ * slice, mmnto-ai/totem#2362).
4
+ *
5
+ * ADR-029 § 1 "Passive Log Analysis" specifies the telemetry pair by design:
6
+ * `.totem/.search-log.jsonl` (produced by the MCP `search_knowledge` tool) +
7
+ * git commit timestamps — write interception was explicitly rejected as too
8
+ * intrusive. The Compliance Rate (§ 3) is the % of coding sessions in which a
9
+ * `search_knowledge` call preceded the session's first commit.
10
+ *
11
+ * Commit-granularity caveat (§ 1, ruled in on #2362): a search landing between
12
+ * a file write and its commit still counts as compliant. That is inherent to
13
+ * the ADR's chosen design and acceptable for a warning-threshold sensor
14
+ * (Tenet 13) — it is a caveat on the readout, not a rename of the metric.
15
+ *
16
+ * Sensor-not-gate (Tenet 13): this command is a pure readout. It never throws,
17
+ * never sets a non-zero exit code, and is not part of the gating `--strict`
18
+ * suite — it only ever reports.
19
+ *
20
+ * Session model (ADR-029 § 2, verbatim): a coding session is "contiguous
21
+ * `search_knowledge` calls and git commits occurring within a rolling 2-hour
22
+ * window" — ONE merged event stream. An intervening commit extends a session
23
+ * exactly like a search does; search-only clusters with window-attached commits
24
+ * are NOT equivalent and were reworked out (2026-07-15 panel fold, codex
25
+ * architecture lens, verified against the ADR text).
26
+ *
27
+ * Why the rate is repo-wide only (same fold): commits carry no seat identity —
28
+ * SHA + timestamp — so a per-seat Compliance Rate would have to guess which
29
+ * seat's search "owns" a commit, fabricating attribution (Tenet 4).
30
+ * `agent_source` renders as an attribution-coverage diagnostic (entry counts
31
+ * per seat; `unattributed` = the ~420 pre-schema entries + hookless sessions),
32
+ * explicitly not a per-seat rate. The per-seat rate activates when a
33
+ * commit-side identity primitive exists (ADR-078 boundary / commit-stamped
34
+ * session ids). `session_id` is stamped by the producer for that same forward
35
+ * join and is deliberately unused in this windowing — there is nothing
36
+ * commit-side to join it against yet.
37
+ *
38
+ * Known precision limit: a later `git rebase` rewrites commit timestamps, which
39
+ * retroactively shifts the 2-hour windows a past run computed against — so a
40
+ * historical Compliance Rate is only as stable as the commit timestamps it read.
41
+ * This is inherent to the passive-log design (§ 1) and is not corrected here.
42
+ */
43
+ const TAG = 'Compliance';
44
+ /** ADR-029 § 2 rolling session window. */
45
+ const WINDOW_MS = 2 * 60 * 60 * 1000;
46
+ /**
47
+ * Below this many counted sessions in a bucket, a percentage is statistically
48
+ * meaningless — render "insufficient data (n=x)" instead of a rate.
49
+ */
50
+ const MIN_SESSIONS_FOR_RATE = 5;
51
+ /** How far back to read commit history for the metric (bounded to keep the git read cheap). */
52
+ const MAX_COMMITS = 2000;
53
+ /** Bucket name for events with no `agent_source` (legacy + hookless). */
54
+ const UNATTRIBUTED = 'unattributed';
55
+ // ─── Pure: parse ────────────────────────────────────────
56
+ /**
57
+ * Parse the raw `.search-log.jsonl` contents. A malformed/corrupt line (bad
58
+ * JSON, or a missing/unparseable timestamp) is skipped and counted — the
59
+ * command never crashes on a partial write or a hand-edit (Tenet 13 sensor
60
+ * pattern: record + continue).
61
+ */
62
+ export function parseSearchLog(content) {
63
+ const entries = [];
64
+ let malformedCount = 0;
65
+ for (const raw of content.split('\n')) {
66
+ const line = raw.trim();
67
+ if (line.length === 0)
68
+ continue;
69
+ let obj;
70
+ try {
71
+ obj = JSON.parse(line);
72
+ // totem-context: intentional malformed-line tolerance — a corrupt/partial JSONL line is counted (malformedCount surfaces it in the readout) and skipped; the sensor records + continues (Tenet 13), and crashing the doctor on one torn append would be the real degradation.
73
+ }
74
+ catch {
75
+ malformedCount++;
76
+ continue;
77
+ }
78
+ if (typeof obj !== 'object' || obj === null) {
79
+ malformedCount++;
80
+ continue;
81
+ }
82
+ const rec = obj;
83
+ const timestamp = rec.timestamp;
84
+ if (typeof timestamp !== 'string' || !Number.isFinite(Date.parse(timestamp))) {
85
+ malformedCount++;
86
+ continue;
87
+ }
88
+ entries.push({
89
+ timestamp,
90
+ // Absent / non-string / explicit null all normalize to the unattributed bucket.
91
+ agent_source: typeof rec.agent_source === 'string' ? rec.agent_source : null,
92
+ session_id: typeof rec.session_id === 'string' ? rec.session_id : null,
93
+ });
94
+ }
95
+ return { entries, malformedCount };
96
+ }
97
+ /**
98
+ * Compute the Compliance Rate report from parsed log entries + the commit seam.
99
+ *
100
+ * 1. Merge searches + commits into ONE repo-wide event timeline (§ 2 verbatim:
101
+ * sessions are contiguous searches AND commits in a rolling 2-hour window —
102
+ * an intervening commit extends a session exactly like a search does).
103
+ * 2. Roll windows: a new session starts when the gap from the previous event
104
+ * exceeds 2 hours.
105
+ * 3. Score each window containing ≥1 commit: compliant iff its earliest search
106
+ * precedes its earliest commit (a commit-only window is non-compliant by
107
+ * construction). Search-only windows are excluded from the denominator (not
108
+ * coding sessions per § 3) but surfaced.
109
+ * 4. Coverage: entry counts per `agent_source` — a diagnostic, never a rate
110
+ * (commits carry no seat identity; see the header).
111
+ */
112
+ export function computeCompliance(entries, commits) {
113
+ // Coverage diagnostic (per-seat entry counts; null → unattributed).
114
+ const coverageMap = new Map();
115
+ let unattributedEntries = 0;
116
+ for (const e of entries) {
117
+ const bucket = e.agent_source ?? UNATTRIBUTED;
118
+ if (e.agent_source === null)
119
+ unattributedEntries++;
120
+ coverageMap.set(bucket, (coverageMap.get(bucket) ?? 0) + 1);
121
+ }
122
+ // Merged § 2 timeline. Entry timestamps are parse-validated finite; commit
123
+ // timestamps come from the seam and are filtered here.
124
+ const events = entries.map((e) => ({
125
+ ms: Date.parse(e.timestamp),
126
+ kind: 'search',
127
+ }));
128
+ for (const c of commits) {
129
+ const ms = Date.parse(c.timestamp);
130
+ if (Number.isFinite(ms))
131
+ events.push({ ms, kind: 'commit' });
132
+ }
133
+ events.sort((a, b) => a.ms - b.ms);
134
+ // Rolling windows + scoring.
135
+ const overall = { n: 0, compliant: 0 };
136
+ let searchOnlySessions = 0;
137
+ const scoreWindow = (window) => {
138
+ if (window.length === 0)
139
+ return;
140
+ const firstCommit = window.find((ev) => ev.kind === 'commit');
141
+ if (firstCommit === undefined) {
142
+ // Searched, never committed — not a coding session (§ 3).
143
+ searchOnlySessions++;
144
+ return;
145
+ }
146
+ const firstSearch = window.find((ev) => ev.kind === 'search');
147
+ overall.n++;
148
+ // Strictly before: § 3 says "preceded" — an equal-timestamp tie does not
149
+ // demonstrate the search informed the commit, so it does not credit.
150
+ if (firstSearch !== undefined && firstSearch.ms < firstCommit.ms)
151
+ overall.compliant++;
152
+ };
153
+ let window = [];
154
+ for (const ev of events) {
155
+ if (window.length === 0 || ev.ms - window[window.length - 1].ms <= WINDOW_MS) {
156
+ window.push(ev);
157
+ }
158
+ else {
159
+ scoreWindow(window);
160
+ window = [ev];
161
+ }
162
+ }
163
+ scoreWindow(window);
164
+ const coverage = [...coverageMap.entries()]
165
+ .map(([bucket, count]) => ({ bucket, entries: count }))
166
+ .sort((a, b) => a.bucket.localeCompare(b.bucket));
167
+ return { overall, coverage, searchOnlySessions, unattributedEntries };
168
+ }
169
+ // ─── Pure: render helper ────────────────────────────────
170
+ /**
171
+ * Format a rate for display. Below `MIN_SESSIONS_FOR_RATE` counted sessions
172
+ * (including n=0), a percentage is meaningless — render the honest
173
+ * "insufficient data (n=x)" instead (ruled in on #2362: keep the metric name
174
+ * "Compliance Rate", surface low-n honestly rather than an over-precise %).
175
+ */
176
+ export function formatRate(stat) {
177
+ if (stat.n < MIN_SESSIONS_FOR_RATE)
178
+ return `insufficient data (n=${stat.n})`;
179
+ const pct = ((stat.compliant / stat.n) * 100).toFixed(0);
180
+ return `${pct}% (n=${stat.n})`;
181
+ }
182
+ // ─── Git supplier (impure — the seam's production source) ───
183
+ /**
184
+ * Read recent commits as `(sha, timestamp)[]` for the metric. Best-effort:
185
+ * any git failure (no repo, no commits, git absent) degrades to an empty array
186
+ * so the sensor renders "insufficient data" rather than crashing. `%cI` is the
187
+ * committer date in strict ISO-8601 — the same instant the compliance windows
188
+ * compare against.
189
+ */
190
+ async function readCommitRecords(cwd) {
191
+ const { safeExec } = await import('@mmnto/totem');
192
+ try {
193
+ const out = safeExec('git', ['log', `--max-count=${MAX_COMMITS}`, '--format=%H %cI'], {
194
+ cwd,
195
+ maxBuffer: 10 * 1024 * 1024,
196
+ });
197
+ const records = [];
198
+ for (const line of out.split('\n')) {
199
+ const trimmed = line.trim();
200
+ if (trimmed.length === 0)
201
+ continue;
202
+ const sp = trimmed.indexOf(' ');
203
+ if (sp === -1)
204
+ continue;
205
+ records.push({ sha: trimmed.slice(0, sp), timestamp: trimmed.slice(sp + 1).trim() });
206
+ }
207
+ return records;
208
+ // totem-context: best-effort git read — an empty array is the documented "no history / git unavailable" surface for this sensor (Tenet 13), never a crash of the doctor pipeline.
209
+ }
210
+ catch {
211
+ return [];
212
+ }
213
+ }
214
+ /**
215
+ * CLI entry — renders the Compliance Rate readout. Pure sensor: never throws
216
+ * for a compliance verdict, never sets a non-zero exit code (Tenet 13). Absent
217
+ * log file → the doctor `skip` idiom pointing at the MCP wiring, NOT a fail and
218
+ * NOT 0%.
219
+ */
220
+ export async function doctorComplianceCliCommand(options = {}) {
221
+ const fs = await import('node:fs');
222
+ const path = await import('node:path');
223
+ const { sanitizeForTerminal } = await import('@mmnto/totem');
224
+ const { bold, log } = await import('../ui.js');
225
+ const cwd = options.cwdForTest ?? process.cwd();
226
+ // Resolve the totemDir from config best-effort; default to `.totem` (mirrors
227
+ // the other doctor checks, which never hard-fail on a config-less repo).
228
+ let totemDir = '.totem';
229
+ try {
230
+ const { loadConfig, resolveConfigPath } = await import('../utils.js');
231
+ const config = await loadConfig(resolveConfigPath(cwd));
232
+ totemDir = config.totemDir;
233
+ // totem-context: a missing/corrupt config is the honest-absent path (default `.totem`), not a sensor failure — the doctor runs against config-less repos by design.
234
+ }
235
+ catch (err) {
236
+ if (err instanceof Error && err.message.length === 0)
237
+ throw err;
238
+ }
239
+ const logPath = path.join(cwd, totemDir, '.search-log.jsonl');
240
+ // totemDir is repo-controlled config — sanitize before it reaches a terminal.
241
+ const displayLogPath = sanitizeForTerminal(path.join(totemDir, '.search-log.jsonl'));
242
+ let content;
243
+ if (options.logContentForTest !== undefined) {
244
+ content = options.logContentForTest;
245
+ }
246
+ else if (!fs.existsSync(logPath)) {
247
+ // Absent log file → skip idiom (NOT a fail, NOT 0%). Point at the producer.
248
+ log.dim(TAG, `SKIP — no ${displayLogPath} found. The log is produced by the MCP search_knowledge tool; wire the MCP server (.mcp.json) and run some search_knowledge calls, then re-run totem doctor --compliance.`);
249
+ return;
250
+ }
251
+ else {
252
+ try {
253
+ content = fs.readFileSync(logPath, 'utf-8');
254
+ // totem-context: an unreadable search-log is the honest-absent path for this cosmetic sensor — degrade to the skip idiom, never crash the doctor pipeline.
255
+ }
256
+ catch {
257
+ log.dim(TAG, `SKIP — ${displayLogPath} present but unreadable.`);
258
+ return;
259
+ }
260
+ }
261
+ const { entries, malformedCount } = parseSearchLog(content);
262
+ const commits = options.commitsForTest ?? (await readCommitRecords(cwd));
263
+ const report = computeCompliance(entries, commits);
264
+ // ── Render ──
265
+ log.info(TAG, bold('Compliance Rate'));
266
+ log.info(TAG, `repo-wide: ${formatRate(report.overall)}`);
267
+ // Caveat line (ruled in on #2362) — a caveat, never a rename.
268
+ log.dim(TAG, 'commit-granularity per ADR-029 § 1');
269
+ // Coverage is a diagnostic, never a per-seat rate: commits carry no seat
270
+ // identity, so a seat-partitioned Compliance Rate would fabricate commit
271
+ // ownership (2026-07-15 panel fold; see the header).
272
+ if (report.coverage.length > 0) {
273
+ log.dim(TAG, 'search attribution coverage (diagnostic — not compliance):');
274
+ for (const { bucket, entries } of report.coverage) {
275
+ const legacyNote = bucket === UNATTRIBUTED ? ' (legacy / hookless — no agent_source)' : '';
276
+ log.dim(TAG, ` ${sanitizeForTerminal(bucket)}: ${entries} entr${entries === 1 ? 'y' : 'ies'}${legacyNote}`);
277
+ }
278
+ }
279
+ if (report.searchOnlySessions > 0) {
280
+ log.dim(TAG, `${report.searchOnlySessions} search-only session(s) excluded (searched, no commit — not a coding session)`);
281
+ }
282
+ if (malformedCount > 0) {
283
+ log.warn(TAG, `${malformedCount} malformed log line(s) skipped`);
284
+ }
285
+ }
286
+ //# sourceMappingURL=doctor-compliance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-compliance.js","sourceRoot":"","sources":["../../src/commands/doctor-compliance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,GAAG,GAAG,YAAY,CAAC;AAEzB,0CAA0C;AAC1C,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC,+FAA+F;AAC/F,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,yEAAyE;AACzE,MAAM,YAAY,GAAG,cAAc,CAAC;AAuDpC,2DAA2D;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChC,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvB,8QAA8Q;QAChR,CAAC;QAAC,MAAM,CAAC;YACP,cAAc,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,cAAc,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,GAA8B,CAAC;QAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC7E,cAAc,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,SAAS;YACT,gFAAgF;YAChF,YAAY,EAAE,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;YAC5E,UAAU,EAAE,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;SACvE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AACrC,CAAC;AAUD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA6B,EAC7B,OAAuB;IAEvB,oEAAoE;IACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC;QAC9C,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI;YAAE,mBAAmB,EAAE,CAAC;QACnD,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,2EAA2E;IAC3E,uDAAuD;IACvD,MAAM,MAAM,GAAkB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3B,IAAI,EAAE,QAAiB;KACxB,CAAC,CAAC,CAAC;IACJ,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAEnC,6BAA6B;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACjD,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,MAAM,WAAW,GAAG,CAAC,MAAqB,EAAQ,EAAE;QAClD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC9D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,0DAA0D;YAC1D,kBAAkB,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC,EAAE,CAAC;QACZ,yEAAyE;QACzE,qEAAqE;QACrE,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,EAAE,GAAG,WAAW,CAAC,EAAE;YAAE,OAAO,CAAC,SAAS,EAAE,CAAC;IACxF,CAAC,CAAC;IACF,IAAI,MAAM,GAAkB,EAAE,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,IAAI,SAAS,EAAE,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,WAAW,CAAC,MAAM,CAAC,CAAC;IAEpB,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;SACtD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC;AACxE,CAAC;AAED,2DAA2D;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,IAAI,IAAI,CAAC,CAAC,GAAG,qBAAqB;QAAE,OAAO,wBAAwB,IAAI,CAAC,CAAC,GAAG,CAAC;IAC7E,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,GAAG,GAAG,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AACjC,CAAC;AAED,+DAA+D;AAE/D;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,eAAe,WAAW,EAAE,EAAE,iBAAiB,CAAC,EAAE;YACpF,GAAG;YACH,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC;QACH,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACnC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAAE,SAAS;YACxB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,OAAO,CAAC;QACf,kLAAkL;IACpL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAaD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,UAAgC,EAAE;IAElC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEhD,6EAA6E;IAC7E,yEAAyE;IACzE,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3B,oKAAoK;IACtK,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC9D,8EAA8E;IAC9E,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAErF,IAAI,OAAe,CAAC;IACpB,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACtC,CAAC;SAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,4EAA4E;QAC5E,GAAG,CAAC,GAAG,CACL,GAAG,EACH,aAAa,cAAc,2KAA2K,CACvM,CAAC;QACF,OAAO;IACT,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,2JAA2J;QAC7J,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,cAAc,0BAA0B,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEnD,eAAe;IACf,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACvC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAE1D,8DAA8D;IAC9D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;IAEnD,yEAAyE;IACzE,yEAAyE;IACzE,qDAAqD;IACrD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,4DAA4D,CAAC,CAAC;QAC3E,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,CAAC,GAAG,CACL,GAAG,EACH,KAAK,mBAAmB,CAAC,MAAM,CAAC,KAAK,OAAO,QAAQ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,EAAE,CAC/F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,GAAG,CACL,GAAG,EACH,GAAG,MAAM,CAAC,kBAAkB,+EAA+E,CAC5G,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,gCAAgC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=doctor-compliance.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-compliance.test.d.ts","sourceRoot":"","sources":["../../src/commands/doctor-compliance.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,197 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { computeCompliance, formatRate, parseSearchLog, } from './doctor-compliance.js';
3
+ // ─── Fixture helpers (pure — no fs, no git, no temp dirs) ───
4
+ const H = 60 * 60 * 1000;
5
+ const MIN = 60 * 1000;
6
+ const BASE = Date.parse('2026-07-15T10:00:00.000Z');
7
+ const iso = (ms) => new Date(ms).toISOString();
8
+ function entry(offsetMs, agent_source = null, session_id = null) {
9
+ return { timestamp: iso(BASE + offsetMs), agent_source, session_id };
10
+ }
11
+ function commit(offsetMs, sha = `sha-${offsetMs}`) {
12
+ return { sha, timestamp: iso(BASE + offsetMs) };
13
+ }
14
+ /** Coverage entry-count for a bucket (undefined when the bucket is absent). */
15
+ function coverage(report, name) {
16
+ return report.coverage.find((c) => c.bucket === name)?.entries;
17
+ }
18
+ /** Raw overall rate for the algebraic invariants (compliant / n). */
19
+ function rate(report) {
20
+ return report.overall.n === 0 ? 0 : report.overall.compliant / report.overall.n;
21
+ }
22
+ /** Invariant: the overall stat satisfies 0 ≤ compliant ≤ n (⇒ 0 ≤ rate ≤ 1). */
23
+ function assertRateBounds(report) {
24
+ expect(report.overall.n).toBeGreaterThanOrEqual(0);
25
+ expect(report.overall.compliant).toBeGreaterThanOrEqual(0);
26
+ expect(report.overall.compliant).toBeLessThanOrEqual(report.overall.n);
27
+ }
28
+ // ─── parseSearchLog ─────────────────────────────────────
29
+ describe('parseSearchLog', () => {
30
+ it('empty log → no entries, no malformed', () => {
31
+ expect(parseSearchLog('')).toEqual({ entries: [], malformedCount: 0 });
32
+ });
33
+ it('single-entry log parses one entry', () => {
34
+ const line = JSON.stringify({ timestamp: iso(BASE), agent_source: 'claude' });
35
+ const result = parseSearchLog(line);
36
+ expect(result.entries).toHaveLength(1);
37
+ expect(result.entries[0].agent_source).toBe('claude');
38
+ expect(result.malformedCount).toBe(0);
39
+ });
40
+ it('skips a corrupt JSONL line with a warn count, still parses the rest', () => {
41
+ const good1 = JSON.stringify({ timestamp: iso(BASE), agent_source: 'claude' });
42
+ const good2 = JSON.stringify({ timestamp: iso(BASE + H), agent_source: 'gemini' });
43
+ const content = [good1, '{ this is not valid json', good2].join('\n');
44
+ const result = parseSearchLog(content);
45
+ expect(result.entries).toHaveLength(2);
46
+ expect(result.malformedCount).toBe(1);
47
+ });
48
+ it('treats a line with a missing/unparseable timestamp as malformed', () => {
49
+ const noTs = JSON.stringify({ agent_source: 'claude' });
50
+ const badTs = JSON.stringify({ timestamp: 'not-a-date', agent_source: 'claude' });
51
+ const result = parseSearchLog([noTs, badTs].join('\n'));
52
+ expect(result.entries).toHaveLength(0);
53
+ expect(result.malformedCount).toBe(2);
54
+ });
55
+ it('absent agent_source normalizes to null (→ unattributed at compute time)', () => {
56
+ const line = JSON.stringify({ timestamp: iso(BASE) });
57
+ const result = parseSearchLog(line);
58
+ expect(result.entries[0].agent_source).toBeNull();
59
+ });
60
+ });
61
+ // ─── computeCompliance — the merged-stream § 2 lock set ─
62
+ describe('computeCompliance', () => {
63
+ it('search-only window (no commits) → excluded from the rate, surfaced', () => {
64
+ const report = computeCompliance([entry(0, 'claude')], []);
65
+ expect(report.overall.n).toBe(0);
66
+ expect(report.searchOnlySessions).toBe(1);
67
+ assertRateBounds(report);
68
+ });
69
+ it('commits with no preceding search → one non-compliant window', () => {
70
+ const report = computeCompliance([], [commit(0), commit(30 * MIN)]);
71
+ // Two commits 30m apart roll into one commit-only window.
72
+ expect(report.overall).toEqual({ n: 1, compliant: 0 });
73
+ assertRateBounds(report);
74
+ });
75
+ it('search before commit in one window → compliant', () => {
76
+ const report = computeCompliance([entry(0, 'claude')], [commit(30 * MIN)]);
77
+ expect(report.overall).toEqual({ n: 1, compliant: 1 });
78
+ assertRateBounds(report);
79
+ });
80
+ it('clock skew (commit precedes the search in the same window) → non-compliant', () => {
81
+ const report = computeCompliance([entry(0, 'claude')], [commit(-1 * H)]);
82
+ expect(report.overall).toEqual({ n: 1, compliant: 0 });
83
+ assertRateBounds(report);
84
+ });
85
+ it('equal search/commit timestamps do NOT credit ("preceded" per § 3 is strict)', () => {
86
+ const report = computeCompliance([entry(0, 'claude')], [commit(0)]);
87
+ expect(report.overall).toEqual({ n: 1, compliant: 0 });
88
+ assertRateBounds(report);
89
+ });
90
+ it('§ 2 merged stream: an intervening commit EXTENDS the session', () => {
91
+ // search t0 · commit +1.5h · commit +3h — each gap ≤ 2h through the merged
92
+ // stream, so this is ONE session and the t0 search covers it (compliant).
93
+ // Under search-only clustering with window-attach this would split; this
94
+ // test locks the merged § 2 semantics (2026-07-15 panel fold).
95
+ const report = computeCompliance([entry(0, 'claude')], [commit(90 * MIN), commit(180 * MIN)]);
96
+ expect(report.overall).toEqual({ n: 1, compliant: 1 });
97
+ expect(report.searchOnlySessions).toBe(0);
98
+ assertRateBounds(report);
99
+ });
100
+ it('the same events WITHOUT the bridging commit split at the 2h gap', () => {
101
+ // search t0 · commit +3h — the 3h gap splits the stream: a search-only
102
+ // window plus a non-compliant commit-only window.
103
+ const report = computeCompliance([entry(0, 'claude')], [commit(180 * MIN)]);
104
+ expect(report.overall).toEqual({ n: 1, compliant: 0 });
105
+ expect(report.searchOnlySessions).toBe(1);
106
+ assertRateBounds(report);
107
+ });
108
+ it('UTC/ISO parsing discipline — offset and Z timestamps compare on the same instant', () => {
109
+ const offsetSearch = {
110
+ timestamp: '2026-07-15T12:00:00+02:00', // = 10:00Z
111
+ agent_source: 'claude',
112
+ session_id: null,
113
+ };
114
+ const zCommit = { sha: 'z', timestamp: '2026-07-15T10:30:00Z' };
115
+ const report = computeCompliance([offsetSearch], [zCommit]);
116
+ expect(report.overall).toEqual({ n: 1, compliant: 1 });
117
+ assertRateBounds(report);
118
+ });
119
+ it('empty log + no commits → nothing counted', () => {
120
+ const report = computeCompliance([], []);
121
+ expect(report.overall).toEqual({ n: 0, compliant: 0 });
122
+ expect(report.coverage).toEqual([]);
123
+ assertRateBounds(report);
124
+ });
125
+ it('attribution does NOT change the repo-wide rate (identical timelines, different seats)', () => {
126
+ // Commits carry no seat identity, so seat labels must be rate-inert: the
127
+ // same instants produce the same overall stat whether entries are
128
+ // attributed, mixed, or all unattributed.
129
+ const times = [
130
+ [0, 'claude'],
131
+ [10 * MIN, 'gemini'],
132
+ [15 * MIN, 'claude'],
133
+ [130 * MIN, null],
134
+ ];
135
+ const commits = [commit(30 * MIN), commit(180 * MIN)];
136
+ const attributed = computeCompliance(times.map(([ms, seat]) => entry(ms, seat)), commits);
137
+ const unattributed = computeCompliance(times.map(([ms]) => entry(ms, null)), commits);
138
+ expect(attributed.overall).toEqual(unattributed.overall);
139
+ expect(attributed.searchOnlySessions).toBe(unattributed.searchOnlySessions);
140
+ assertRateBounds(attributed);
141
+ });
142
+ it('coverage counts entries per seat; null lands in the unattributed bucket', () => {
143
+ const report = computeCompliance([entry(0, 'totem-claude'), entry(5 * MIN, 'totem-claude'), entry(10 * MIN, null)], [commit(30 * MIN)]);
144
+ expect(coverage(report, 'totem-claude')).toBe(2);
145
+ expect(coverage(report, 'unattributed')).toBe(1);
146
+ expect(report.unattributedEntries).toBe(1);
147
+ // Sorted by bucket name.
148
+ expect(report.coverage.map((c) => c.bucket)).toEqual(['totem-claude', 'unattributed']);
149
+ });
150
+ it('session_id is deliberately inert in the windowing (no commit-side join exists)', () => {
151
+ // Two searches sharing a session_id 5h apart do NOT bridge the 2h gap:
152
+ // the stamp is a forward primitive for the commit-side join, not a
153
+ // windowing input in the minimal slice (see the module header).
154
+ const report = computeCompliance([entry(0, 'claude', 'sid-1'), entry(5 * H, 'claude', 'sid-1')], [commit(30 * MIN)]);
155
+ expect(report.overall).toEqual({ n: 1, compliant: 1 }); // first window: search+commit
156
+ expect(report.searchOnlySessions).toBe(1); // the 5h-later search stands alone
157
+ assertRateBounds(report);
158
+ });
159
+ });
160
+ // ─── Algebraic invariants ───────────────────────────────
161
+ describe('algebraic invariants', () => {
162
+ it('rate always sits in [0, 1] across a mixed fixture', () => {
163
+ const entries = [
164
+ entry(0, 'claude'),
165
+ entry(5 * H, 'claude'),
166
+ entry(0, 'gemini'),
167
+ ];
168
+ const commits = [commit(30 * MIN), commit(4 * H), commit(10 * MIN)];
169
+ assertRateBounds(computeCompliance(entries, commits));
170
+ });
171
+ it('adding a compliant session never lowers the rate', () => {
172
+ // Base: one compliant window + one non-compliant commit-only window.
173
+ const baseEntries = [entry(0, 'claude')];
174
+ const baseCommits = [commit(30 * MIN), commit(6 * H)];
175
+ const before = computeCompliance(baseEntries, baseCommits);
176
+ expect(rate(before)).toBeCloseTo(0.5, 5);
177
+ // Add one clearly-compliant far-future window (search then commit).
178
+ const afterEntries = [...baseEntries, entry(20 * H, 'claude')];
179
+ const afterCommits = [...baseCommits, commit(20 * H + 30 * MIN)];
180
+ const after = computeCompliance(afterEntries, afterCommits);
181
+ expect(rate(after)).toBeGreaterThanOrEqual(rate(before));
182
+ assertRateBounds(after);
183
+ });
184
+ });
185
+ // ─── formatRate ─────────────────────────────────────────
186
+ describe('formatRate', () => {
187
+ it('renders "insufficient data (n=x)" below the sample floor', () => {
188
+ expect(formatRate({ n: 0, compliant: 0 })).toBe('insufficient data (n=0)');
189
+ expect(formatRate({ n: 4, compliant: 4 })).toBe('insufficient data (n=4)');
190
+ });
191
+ it('renders a percentage at or above the sample floor (name stays "Compliance Rate")', () => {
192
+ expect(formatRate({ n: 5, compliant: 4 })).toBe('80% (n=5)');
193
+ expect(formatRate({ n: 10, compliant: 10 })).toBe('100% (n=10)');
194
+ expect(formatRate({ n: 8, compliant: 0 })).toBe('0% (n=8)');
195
+ });
196
+ });
197
+ //# sourceMappingURL=doctor-compliance.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-compliance.test.js","sourceRoot":"","sources":["../../src/commands/doctor-compliance.test.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,13 @@
4
4
  * and the root `--help` header. A deterministic parity test (description.test.ts)
5
5
  * pins the package.json field === this constant so the surfaces never drift.
6
6
  *
7
- * Descriptive core sourced from Prop 294 D1 headline (ruled 2026-07-12; strategy
8
- * verdict on mmnto-ai/totem#2336 comment 4953017531). This is a drift-repair off
9
- * the retired "persistent memory and context layer" category, NOT freeform copy
10
- * authoring if D1 ratification amends the wording, the re-cut is THIS one
11
- * constant. GitHub "About" is out of code reach; keep it in manual parity.
7
+ * Descriptive core re-cut per the mmnto-ai/totem-strategy#531 A1 tagline
8
+ * convergence (blind-gate release: mmnto-ai/totem-strategy#531 comment
9
+ * 4979503772; operator veto-edit 2026-07-15 removed the em-dash and retired
10
+ * "substrate" from public copy per the plain-words ruling). Supersedes the
11
+ * Prop 294 D1 headline cut (mmnto-ai/totem#2336 comment 4953017531). If a
12
+ * future ratification amends the wording, the re-cut is THIS one constant.
13
+ * GitHub "About" is out of code reach; keep it in manual parity.
12
14
  */
13
- export declare const TOTEM_DESCRIPTION = "Totem \u2014 a local-first, file-anchored substrate that makes AI-agent work queryable, enforceable, and derivable in your codebase";
15
+ export declare const TOTEM_DESCRIPTION = "Totem: local-first toolkit that keeps AI-agent work queryable, enforceable, and derivable as plain files in your codebase";
14
16
  //# sourceMappingURL=description.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"description.d.ts","sourceRoot":"","sources":["../src/description.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,wIACoG,CAAC"}
1
+ {"version":3,"file":"description.d.ts","sourceRoot":"","sources":["../src/description.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,8HAC+F,CAAC"}
@@ -4,11 +4,13 @@
4
4
  * and the root `--help` header. A deterministic parity test (description.test.ts)
5
5
  * pins the package.json field === this constant so the surfaces never drift.
6
6
  *
7
- * Descriptive core sourced from Prop 294 D1 headline (ruled 2026-07-12; strategy
8
- * verdict on mmnto-ai/totem#2336 comment 4953017531). This is a drift-repair off
9
- * the retired "persistent memory and context layer" category, NOT freeform copy
10
- * authoring if D1 ratification amends the wording, the re-cut is THIS one
11
- * constant. GitHub "About" is out of code reach; keep it in manual parity.
7
+ * Descriptive core re-cut per the mmnto-ai/totem-strategy#531 A1 tagline
8
+ * convergence (blind-gate release: mmnto-ai/totem-strategy#531 comment
9
+ * 4979503772; operator veto-edit 2026-07-15 removed the em-dash and retired
10
+ * "substrate" from public copy per the plain-words ruling). Supersedes the
11
+ * Prop 294 D1 headline cut (mmnto-ai/totem#2336 comment 4953017531). If a
12
+ * future ratification amends the wording, the re-cut is THIS one constant.
13
+ * GitHub "About" is out of code reach; keep it in manual parity.
12
14
  */
13
- export const TOTEM_DESCRIPTION = 'Totem — a local-first, file-anchored substrate that makes AI-agent work queryable, enforceable, and derivable in your codebase';
15
+ export const TOTEM_DESCRIPTION = 'Totem: local-first toolkit that keeps AI-agent work queryable, enforceable, and derivable as plain files in your codebase';
14
16
  //# sourceMappingURL=description.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"description.js","sourceRoot":"","sources":["../src/description.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,gIAAgI,CAAC"}
1
+ {"version":3,"file":"description.js","sourceRoot":"","sources":["../src/description.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,2HAA2H,CAAC"}
@@ -10,11 +10,15 @@ describe('CLI self-description parity (mmnto-ai/totem#2336 D1)', () => {
10
10
  expect(pkg.name).toBe('@mmnto/cli');
11
11
  expect(pkg.description).toBe(TOTEM_DESCRIPTION);
12
12
  });
13
- it('carries the ruled descriptive core (Prop 294 D1 headline)', () => {
14
- // The exact ruled string; the product-name prefix is permitted, the core is not.
15
- expect(TOTEM_DESCRIPTION).toContain('a local-first, file-anchored substrate that makes AI-agent work queryable, enforceable, and derivable in your codebase');
16
- // Guards against a regression to the retired category.
13
+ it('carries the ruled descriptive core (strategy#531 A1 tagline convergence)', () => {
14
+ // The exact ruled string (mmnto-ai/totem-strategy#531 gate release comment
15
+ // 4979503772 + operator veto-edit 2026-07-15, superseding the Prop 294 D1
16
+ // headline); the product-name prefix is permitted, the core is not.
17
+ expect(TOTEM_DESCRIPTION).toContain('local-first toolkit that keeps AI-agent work queryable, enforceable, and derivable as plain files in your codebase');
18
+ // Guards against regressions to retired vocabulary.
17
19
  expect(TOTEM_DESCRIPTION).not.toContain('persistent memory and context layer');
20
+ expect(TOTEM_DESCRIPTION).not.toContain('substrate');
21
+ expect(TOTEM_DESCRIPTION).not.toContain('—');
18
22
  });
19
23
  it('root help renders the constant as its header', () => {
20
24
  const program = new Command('totem');
@@ -1 +1 @@
1
- {"version":3,"file":"description.test.js","sourceRoot":"","sources":["../src/description.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,QAAQ,CAAC,sDAAsD,EAAE,GAAG,EAAE;IACpE,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAGnD,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,iFAAiF;QACjF,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CACjC,wHAAwH,CACzH,CAAC;QACF,uDAAuD;QACvD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"description.test.js","sourceRoot":"","sources":["../src/description.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,QAAQ,CAAC,sDAAsD,EAAE,GAAG,EAAE;IACpE,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAGnD,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,2EAA2E;QAC3E,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CACjC,oHAAoH,CACrH,CAAC;QACF,oDAAoD;QACpD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC/E,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/index.js CHANGED
@@ -1004,6 +1004,7 @@ program
1004
1004
  .option('--claim-discipline', 'Run only the WWND claim-discipline checks against public surfaces (Proposal 279)')
1005
1005
  .option('--scope-to-diff', 'Narrow --claim-discipline scan to files in the current push diff (mmnto-ai/totem#2002 — prevents pre-existing standing-gate warnings from firing on unrelated diffs)')
1006
1006
  .option('--parity', 'Run only the parity-drift sensor against the cohort parity manifest (mmnto-ai/totem-strategy#448)')
1007
+ .option('--compliance', 'Run only the ADR-029 recall-compliance sensor (search-before-commit rate from .totem/.search-log.jsonl + git history). Sensor-only readout — never gates (mmnto-ai/totem#2362)')
1007
1008
  .option('--json', 'With --parity: emit the trust-readout as a diffable JSON verdict artifact on stdout (mmnto-ai/totem#2327)')
1008
1009
  .action(async (opts, cmd) => {
1009
1010
  try {
@@ -1013,9 +1014,14 @@ program
1013
1014
  // scopes so `totem doctor --parity --json` and `totem --json doctor
1014
1015
  // --parity` agree.
1015
1016
  opts.json = cmd.optsWithGlobals().json;
1016
- if (opts.claimDiscipline && opts.parity) {
1017
+ const specializedModes = [
1018
+ opts.claimDiscipline && '--claim-discipline',
1019
+ opts.parity && '--parity',
1020
+ opts.compliance && '--compliance',
1021
+ ].filter((m) => typeof m === 'string');
1022
+ if (specializedModes.length > 1) {
1017
1023
  const { TotemConfigError } = await import('@mmnto/totem');
1018
- throw new TotemConfigError('Cannot combine --claim-discipline with --parity.', 'Choose exactly one specialized doctor mode.');
1024
+ throw new TotemConfigError(`Cannot combine ${specializedModes.join(' with ')}.`, 'Choose exactly one specialized doctor mode.');
1019
1025
  }
1020
1026
  if (opts.json && !opts.parity) {
1021
1027
  const { TotemConfigError } = await import('@mmnto/totem');
@@ -1034,6 +1040,14 @@ program
1034
1040
  await doctorParityCliCommand({ strict: opts.strict, json: opts.json });
1035
1041
  return;
1036
1042
  }
1043
+ if (opts.compliance) {
1044
+ // Sensor-only (Tenet 13): renders the ADR-029 recall-compliance
1045
+ // readout and returns. Never gates — no exit-code effect, so `--strict`
1046
+ // is intentionally not threaded here.
1047
+ const { doctorComplianceCliCommand } = await import('./commands/doctor-compliance.js');
1048
+ await doctorComplianceCliCommand();
1049
+ return;
1050
+ }
1037
1051
  const { doctorCommand } = await import('./commands/doctor.js');
1038
1052
  const results = await doctorCommand(opts);
1039
1053
  if (opts.strict && results.some((r) => r.status === 'fail')) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mmnto/cli",
3
- "version": "1.97.0",
4
- "description": "Totem — a local-first, file-anchored substrate that makes AI-agent work queryable, enforceable, and derivable in your codebase",
3
+ "version": "1.98.1",
4
+ "description": "Totem: local-first toolkit that keeps AI-agent work queryable, enforceable, and derivable as plain files in your codebase",
5
5
  "type": "module",
6
6
  "engines": {
7
7
  "node": ">=24"
@@ -28,7 +28,7 @@
28
28
  "smol-toml": "^1.6.1",
29
29
  "yaml": "^2.4.0",
30
30
  "zod": "^3.24.0",
31
- "@mmnto/totem": "1.97.0"
31
+ "@mmnto/totem": "1.98.1"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@anthropic-ai/sdk": "^0.98.0",