litmus-cli 1.4.38 → 1.4.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import { type LitmusConfig } from "../lib/config.js";
2
2
  export { validateRebuiltTimes } from "../lib/config.js";
3
3
  export { scanActivityLog, offsetForFirstEventAtOrAfter, planFlushBatches, readUploadState, writeUploadState, MAX_EVENTS_PER_BATCH, MAX_BATCH_BYTES, type ActivityScan, type FlushBatch, } from "../lib/backlog-flush.js";
4
+ import { type EnvironmentCheck } from "../lib/environment-checks.js";
4
5
  /**
5
6
  * `litmus doctor` — candidate-run recovery for a live assessment.
6
7
  *
@@ -109,6 +110,34 @@ export declare function phoneHomeSeverity(results: Array<{
109
110
  status: CheckStatus;
110
111
  quiet?: boolean;
111
112
  }>): "error" | "warning" | "info";
113
+ /**
114
+ * A shared environment check as doctor records it (ENG-2739). Identical to
115
+ * setup-check's verdict except that a CLI behind npm latest is `warn`, not
116
+ * `fail`. Before an assessment that is a red line with a one-step fix; inside
117
+ * doctor it is a proxy for what the checks below inspect directly (the tracker,
118
+ * the capture hooks and self-test, uploads), and as a `fail` it paged
119
+ * #platform-health from every install still mid-assessment after each publish,
120
+ * and from every v2 workspace, whose baked CLI trails npm by design.
121
+ */
122
+ export declare function doctorEnvironmentCheck(env: EnvironmentCheck): CheckResult;
123
+ /**
124
+ * Doctor's closing sentence. Counts only VISIBLE fixes and warnings, so it
125
+ * matches the lines the candidate just read; quiet internal fixes (upload
126
+ * bookkeeping, hook refreshes) still get "healthy now" rather than the false
127
+ * "no changes were made", and the machine line + records carry the full set.
128
+ *
129
+ * A visible warning is never followed by "Everything is healthy" (ENG-2739):
130
+ * after a yellow line naming something to do (a CLI behind npm latest) or
131
+ * something that could not be verified (the capture self-test), an all-clear
132
+ * reads as "ignore that".
133
+ */
134
+ export declare function doctorClosingLine(results: Array<{
135
+ status: CheckStatus;
136
+ quiet?: boolean;
137
+ }>): {
138
+ tone: "red" | "yellow" | "green";
139
+ text: string;
140
+ };
112
141
  /**
113
142
  * The forensic snapshot we cannot get server-side (R5). The single most
114
143
  * important bit is `hooks.claudeUserScope`: submit is what uninstalls the
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwF,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI1I,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAavD,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAA;AAkChC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,KAAK,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnD,UAAU,WAAW;IACnB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,CAAA;IACnB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAwJD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC,EACpD,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAM,GAAG,SAAsC,GACzD,MAAM,CAGR;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAoDD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACvD,OAAO,GAAG,SAAS,GAAG,MAAM,CAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EAAE,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCzB;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAqwBlE"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAwF,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI1I,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAavD,OAAO,EACL,eAAe,EACf,4BAA4B,EAC5B,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAA;AAkChC,OAAO,EAA+C,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAEjH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,KAAK,WAAW,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnD,UAAU,WAAW;IACnB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,WAAW,CAAA;IACnB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAwJD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,YAAY,CAAC,EACpD,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAM,GAAG,SAAsC,GACzD,MAAM,CAGR;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,EACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAoDD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACvD,OAAO,GAAG,SAAS,GAAG,MAAM,CAI9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,GAAG,WAAW,CAGzE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GACvD;IAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAkBpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EAAE,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCzB;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA4wBlE"}
@@ -23,7 +23,7 @@ import { setupAiTracking } from "./init.js";
23
23
  import { fetchSubmitStatus, fetchInitMetadata, uploadActivityEvents, ServerError } from "../lib/api.js";
24
24
  import { resolveApiBase, resolveBackendBase } from "../lib/api-base.js";
25
25
  import { resolveAssessmentToken } from "../lib/workspace-token.js";
26
- import { collectBackfillSessions, planUploadBatches, defaultClaudeProjectsDir, } from "../lib/backfill.js";
26
+ import { collectBackfillSessions, withoutCapturedEvents, planUploadBatches, defaultClaudeProjectsDir, } from "../lib/backfill.js";
27
27
  import { pruneShadows, readShadowTrackerFile, shadowTrackerFileMtime, shadowLogPath } from "../lib/shadow.js";
28
28
  import { collectToolBackfillSources } from "../lib/backfill-tools.js";
29
29
  import { CLI_VERSION } from "../lib/version.js";
@@ -289,6 +289,50 @@ export function phoneHomeSeverity(results) {
289
289
  return "warning";
290
290
  return "info";
291
291
  }
292
+ /**
293
+ * A shared environment check as doctor records it (ENG-2739). Identical to
294
+ * setup-check's verdict except that a CLI behind npm latest is `warn`, not
295
+ * `fail`. Before an assessment that is a red line with a one-step fix; inside
296
+ * doctor it is a proxy for what the checks below inspect directly (the tracker,
297
+ * the capture hooks and self-test, uploads), and as a `fail` it paged
298
+ * #platform-health from every install still mid-assessment after each publish,
299
+ * and from every v2 workspace, whose baked CLI trails npm by design.
300
+ */
301
+ export function doctorEnvironmentCheck(env) {
302
+ const status = env.name === "cli_version" && env.status === "fail" ? "warn" : env.status;
303
+ return { ...env, status, quiet: status === "ok" };
304
+ }
305
+ /**
306
+ * Doctor's closing sentence. Counts only VISIBLE fixes and warnings, so it
307
+ * matches the lines the candidate just read; quiet internal fixes (upload
308
+ * bookkeeping, hook refreshes) still get "healthy now" rather than the false
309
+ * "no changes were made", and the machine line + records carry the full set.
310
+ *
311
+ * A visible warning is never followed by "Everything is healthy" (ENG-2739):
312
+ * after a yellow line naming something to do (a CLI behind npm latest) or
313
+ * something that could not be verified (the capture self-test), an all-clear
314
+ * reads as "ignore that".
315
+ */
316
+ export function doctorClosingLine(results) {
317
+ const count = (status, visibleOnly) => results.filter((r) => r.status === status && !(visibleOnly && r.quiet)).length;
318
+ const problems = count("fail", false);
319
+ const visibleFixed = count("fixed", true);
320
+ const warnings = count("warn", true);
321
+ const repaired = `Repaired ${visibleFixed} issue${visibleFixed === 1 ? "" : "s"}.`;
322
+ if (problems > 0) {
323
+ return { tone: "red", text: `${problems} problem${problems === 1 ? "" : "s"} need${problems === 1 ? "s" : ""} attention.` };
324
+ }
325
+ if (warnings > 0) {
326
+ const which = warnings === 1 ? "the warning above is" : `the ${warnings} warnings above are`;
327
+ const lead = visibleFixed > 0 ? `${repaired} No problems remain` : "No problems found";
328
+ return { tone: "yellow", text: `${lead}, but ${which} worth a look. You can keep working.` };
329
+ }
330
+ if (visibleFixed > 0)
331
+ return { tone: "green", text: `${repaired} Everything is healthy now; you can keep working.` };
332
+ if (count("fixed", false) > 0)
333
+ return { tone: "green", text: "Everything is healthy now; you can keep working." };
334
+ return { tone: "green", text: "Everything is healthy. No changes were made." };
335
+ }
292
336
  /**
293
337
  * The forensic snapshot we cannot get server-side (R5). The single most
294
338
  * important bit is `hooks.claudeUserScope`: submit is what uninstalls the
@@ -386,9 +430,10 @@ export async function runDoctor(opts) {
386
430
  // assessment, and these lines only earn their place by naming a fix. The
387
431
  // server probe and the watcher smoke are NOT run here: doctor makes an
388
432
  // authenticated round-trip and inspects the real tracker below, which are
389
- // stronger versions of both.
433
+ // stronger versions of both. A stale CLI is a warning here, not a problem
434
+ // remaining — see doctorEnvironmentCheck.
390
435
  for (const env of [checkNodeVersion(), await checkCliVersion(), checkGit()]) {
391
- record({ ...env, quiet: env.status === "ok" });
436
+ record(doctorEnvironmentCheck(env));
392
437
  }
393
438
  if (configRebuilt) {
394
439
  record({
@@ -918,6 +963,9 @@ export async function runDoctor(opts) {
918
963
  sinceMs = isNaN(started) ? null : started;
919
964
  sinceLabel = sinceMs === null ? "the beginning" : `your assessment start (${new Date(sinceMs).toISOString()})`;
920
965
  }
966
+ // ENG-2793: what the log already holds is not recovered again.
967
+ let alreadyCaptured = 0;
968
+ const replyReceipts = new Map();
921
969
  const scans = [
922
970
  {
923
971
  source: "claude_transcript",
@@ -935,7 +983,13 @@ export async function runDoctor(opts) {
935
983
  allSessions: opts.allSessions === true,
936
984
  sinceMs,
937
985
  }),
938
- ];
986
+ ].map((s) => {
987
+ const kept = withoutCapturedEvents(s.sessions, logText);
988
+ alreadyCaptured += kept.skipped;
989
+ for (const [e, receipt] of kept.receipts)
990
+ replyReceipts.set(e, receipt);
991
+ return { ...s, sessions: kept.sessions };
992
+ });
939
993
  const scopeLabel = opts.allSessions === true
940
994
  ? "every AI session on this machine (Claude, Codex, Gemini, Copilot, Cursor)"
941
995
  : "AI sessions in this assessment folder (Claude, Codex, Gemini, Copilot, Cursor)";
@@ -947,7 +1001,7 @@ export async function runDoctor(opts) {
947
1001
  const skippedOversized = scans.reduce((n, s) => n + s.skippedOversized.length, 0);
948
1002
  const unreadable = scans.reduce((n, s) => n + s.unreadable.length, 0);
949
1003
  const notes = scans.flatMap((s) => s.notes);
950
- const scanStats = `scanned ${scannedFiles} session records, ${skippedOversized} oversized, ${unreadable} unreadable${notes.length ? `; ${notes.join("; ")}` : ""}`;
1004
+ const scanStats = `scanned ${scannedFiles} session records, ${skippedOversized} oversized, ${unreadable} unreadable, ${alreadyCaptured} already in the activity log${notes.length ? `; ${notes.join("; ")}` : ""}`;
951
1005
  if (allEvents.length === 0) {
952
1006
  record({
953
1007
  name: "backfill",
@@ -970,10 +1024,18 @@ export async function runDoctor(opts) {
970
1024
  catch { /* upload is the real delivery; the summary event below still records the run */ }
971
1025
  let uploaded = 0;
972
1026
  let failure = null;
1027
+ // ENG-2793: replies are upload-only, so the summary line below carries a
1028
+ // digest of each one that reached the server, and the next run skips them.
1029
+ const sentReplies = [];
973
1030
  for (const batch of planUploadBatches(allEvents)) {
974
1031
  try {
975
1032
  await uploadActivityEvents(backendUrl, requestToken, batch);
976
1033
  uploaded += batch.length;
1034
+ for (const e of batch) {
1035
+ const receipt = replyReceipts.get(e);
1036
+ if (receipt)
1037
+ sentReplies.push(receipt);
1038
+ }
977
1039
  }
978
1040
  catch (err) {
979
1041
  failure = err instanceof Error ? err.message : String(err);
@@ -987,6 +1049,7 @@ export async function runDoctor(opts) {
987
1049
  sessions: sessions.length,
988
1050
  prompts: promptCount,
989
1051
  responses: responseCount,
1052
+ alreadyCaptured,
990
1053
  uploaded,
991
1054
  skippedOversized,
992
1055
  unreadable,
@@ -1008,6 +1071,7 @@ export async function runDoctor(opts) {
1008
1071
  cliVersion: CLI_VERSION,
1009
1072
  sources: scans.filter((s) => s.sessions.length > 0).map((s) => s.source),
1010
1073
  ...backfillSummary,
1074
+ sentReplies,
1011
1075
  }) + "\n");
1012
1076
  }
1013
1077
  catch { /* nothing else to do locally */ }
@@ -1071,7 +1135,6 @@ export async function runDoctor(opts) {
1071
1135
  // a successful repair is archived server-side without a Slack post; quiet
1072
1136
  // fixes and clean runs stay log-only. The part of the message before
1073
1137
  // "Internal detail:" is the server's dedupe key — keep it stable.
1074
- const visibleFixed = fixed.filter((r) => !r.quiet);
1075
1138
  const stableSummary = problems.length > 0
1076
1139
  ? `litmus doctor: problems remain (${problems.map((r) => r.name).sort().join(", ")})`
1077
1140
  : fixed.length > 0
@@ -1081,24 +1144,11 @@ export async function runDoctor(opts) {
1081
1144
  await reportEvent(phoneHomeSeverity(results), `${stableSummary}\n\nInternal detail: ${JSON.stringify(diagnostics)}`, undefined, "doctor");
1082
1145
  // 10. Summary + exit code ---------------------------------------------------
1083
1146
  console.log();
1084
- // The repaired count only counts VISIBLE fixes (visibleFixed, computed for
1085
- // the phone-home above), so the sentence matches the lines the candidate
1086
- // just read. Quiet internal fixes (upload bookkeeping, hook refreshes) still
1087
- // get "healthy now" rather than the false "no changes were made", and the
1088
- // machine line + records always carry the full set.
1147
+ const closing = doctorClosingLine(results);
1148
+ console.log(chalk[closing.tone](` ${closing.text}`));
1089
1149
  if (problems.length > 0) {
1090
- console.log(chalk.red(` ${problems.length} problem${problems.length === 1 ? "" : "s"} need${problems.length === 1 ? "s" : ""} attention.`));
1091
1150
  console.log(chalk.dim(" Copy this whole output into an email to support@litmushiring.com if you need help."));
1092
1151
  }
1093
- else if (visibleFixed.length > 0) {
1094
- console.log(chalk.green(` Repaired ${visibleFixed.length} issue${visibleFixed.length === 1 ? "" : "s"}. Everything is healthy now; you can keep working.`));
1095
- }
1096
- else if (fixed.length > 0) {
1097
- console.log(chalk.green(" Everything is healthy now; you can keep working."));
1098
- }
1099
- else {
1100
- console.log(chalk.green(" Everything is healthy. No changes were made."));
1101
- }
1102
1152
  console.log(chalk.dim(` ${summaryLine}`));
1103
1153
  // After a capture-affecting repair, close with the self-check. Deliberately
1104
1154
  // NOT a wait: an in-terminal wait blocks the very terminal the candidate
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -21,9 +21,10 @@
21
21
  * 2. Prefer over-capture to under-capture, within the declared scope. The
22
22
  * default scope is sessions whose recorded cwd sits inside the assessment
23
23
  * directory; `--all-sessions` widens to every session on the machine for
24
- * support-guided recoveries. Re-running the backfill can duplicate events
25
- * server-side — accepted, because the provenance flag makes duplicates
26
- * identifiable and the server store is append-only.
24
+ * support-guided recoveries. Events already in `.litmus/activity.jsonl`
25
+ * (the hook's copy, or an earlier recovery's) are not sent again
26
+ * (`withoutCapturedEvents`, ENG-2793); anything that still duplicates is
27
+ * identifiable by the provenance flag, and the report folds it.
27
28
  *
28
29
  * Parsing mirrors the hook-logger's Stop-hook transcript reader
29
30
  * (parseClaudeTranscript in hook-logger.cjs): same entry filtering
@@ -121,4 +122,46 @@ export declare function collectBackfillSessions(opts: {
121
122
  }): BackfillScan;
122
123
  /** Filter a session's events to the window; null keeps everything. */
123
124
  export declare function windowEvents(events: BackfillEvent[], sinceMs: number | null): BackfillEvent[];
125
+ /**
126
+ * ENG-2793: drop the events `activityLog` already holds, whether the hook wrote
127
+ * them or an earlier recovery did.
128
+ *
129
+ * The window above only trims by time, so a forced run, or an automatic one
130
+ * whose gap overlaps live capture, re-sent turns the hook had captured under
131
+ * fresh ids. Measured on production: 150 of 219 recovered Claude prompts and 144
132
+ * of 186 replies had a hook copy with the same words in the same session, and
133
+ * the report showed both.
134
+ *
135
+ * A PROMPT is held by a logged prompt with the same words, in the same tool and
136
+ * session, one logged copy per recovered copy, closest in time first within
137
+ * `CAPTURE_TWIN_WINDOW_MS`.
138
+ *
139
+ * A `tsApproximate` copy is never held: Cursor recovery spaces a conversation
140
+ * 1 ms apart, so neither its stamp nor its order says which turn it is, and a
141
+ * wrong match would leave a missed turn unsent where no match only sends a copy
142
+ * twice. A file-timed store's copy goes through the window like any other. No
143
+ * Cursor, Gemini or Copilot recovered event on production has a hook twin in its
144
+ * session (0 of 144).
145
+ *
146
+ * A REPLY is read against the hook replies stamped inside ITS RECOVERED TURN:
147
+ * from its recovered prompt up to the next one. The transcript's clock and the
148
+ * hook's are the same machine's, a Stop fires after the turn's last message and
149
+ * before the next prompt, and this holds whether or not the prompt hook caught the
150
+ * turn. The hook sends a reply per Stop and the transcript joins the turn, so
151
+ * * those hook replies joined by a blank line equal to it: held;
152
+ * * they are its head: only the rest is recovered;
153
+ * * there are none: held only on an earlier run's receipt FOR THIS TURN
154
+ * (`backfill_run.sentReplies`; replies are upload-only);
155
+ * * anything else: recovered.
156
+ * A session left with no events is dropped.
157
+ *
158
+ * `receipts` gives each reply that is to be sent the digest doctor records once it
159
+ * reaches the server: the reply's words and its recovered turn's prompt stamp, so
160
+ * a receipt only ever answers for the turn it was written for.
161
+ */
162
+ export declare function withoutCapturedEvents(sessions: SessionBackfill[], activityLog: string): {
163
+ sessions: SessionBackfill[];
164
+ skipped: number;
165
+ receipts: Map<BackfillEvent, string>;
166
+ };
124
167
  //# sourceMappingURL=backfill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backfill.d.ts","sourceRoot":"","sources":["../../src/lib/backfill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill.d.ts","sourceRoot":"","sources":["../../src/lib/backfill.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import os from "os";
4
+ import { createHash } from "crypto";
4
5
  /**
5
6
  * Prompt backfill from Claude Code's own session transcripts (`litmus doctor
6
7
  * --backfill-prompts`).
@@ -24,9 +25,10 @@ import os from "os";
24
25
  * 2. Prefer over-capture to under-capture, within the declared scope. The
25
26
  * default scope is sessions whose recorded cwd sits inside the assessment
26
27
  * directory; `--all-sessions` widens to every session on the machine for
27
- * support-guided recoveries. Re-running the backfill can duplicate events
28
- * server-side — accepted, because the provenance flag makes duplicates
29
- * identifiable and the server store is append-only.
28
+ * support-guided recoveries. Events already in `.litmus/activity.jsonl`
29
+ * (the hook's copy, or an earlier recovery's) are not sent again
30
+ * (`withoutCapturedEvents`, ENG-2793); anything that still duplicates is
31
+ * identifiable by the provenance flag, and the report folds it.
30
32
  *
31
33
  * Parsing mirrors the hook-logger's Stop-hook transcript reader
32
34
  * (parseClaudeTranscript in hook-logger.cjs): same entry filtering
@@ -359,4 +361,202 @@ export function windowEvents(events, sinceMs) {
359
361
  return !isNaN(t) && t >= sinceMs;
360
362
  });
361
363
  }
364
+ /** Identity of a captured event for `withoutCapturedEvents`: kind, tool,
365
+ * session and words. */
366
+ function capturedKey(e) {
367
+ return JSON.stringify([e.type, e.tool, e.sessionId ?? "", e.type === "ai_response" ? e.text : e.prompt]);
368
+ }
369
+ /** How far apart the hook's copy of a prompt and the transcript's may be stamped
370
+ * and still be one capture. The frontend's `PROMPT_TWIN_WINDOW_MS`; the widest gap
371
+ * measured on production was 105 s. */
372
+ const CAPTURE_TWIN_WINDOW_MS = 120000;
373
+ /**
374
+ * ENG-2793: drop the events `activityLog` already holds, whether the hook wrote
375
+ * them or an earlier recovery did.
376
+ *
377
+ * The window above only trims by time, so a forced run, or an automatic one
378
+ * whose gap overlaps live capture, re-sent turns the hook had captured under
379
+ * fresh ids. Measured on production: 150 of 219 recovered Claude prompts and 144
380
+ * of 186 replies had a hook copy with the same words in the same session, and
381
+ * the report showed both.
382
+ *
383
+ * A PROMPT is held by a logged prompt with the same words, in the same tool and
384
+ * session, one logged copy per recovered copy, closest in time first within
385
+ * `CAPTURE_TWIN_WINDOW_MS`.
386
+ *
387
+ * A `tsApproximate` copy is never held: Cursor recovery spaces a conversation
388
+ * 1 ms apart, so neither its stamp nor its order says which turn it is, and a
389
+ * wrong match would leave a missed turn unsent where no match only sends a copy
390
+ * twice. A file-timed store's copy goes through the window like any other. No
391
+ * Cursor, Gemini or Copilot recovered event on production has a hook twin in its
392
+ * session (0 of 144).
393
+ *
394
+ * A REPLY is read against the hook replies stamped inside ITS RECOVERED TURN:
395
+ * from its recovered prompt up to the next one. The transcript's clock and the
396
+ * hook's are the same machine's, a Stop fires after the turn's last message and
397
+ * before the next prompt, and this holds whether or not the prompt hook caught the
398
+ * turn. The hook sends a reply per Stop and the transcript joins the turn, so
399
+ * * those hook replies joined by a blank line equal to it: held;
400
+ * * they are its head: only the rest is recovered;
401
+ * * there are none: held only on an earlier run's receipt FOR THIS TURN
402
+ * (`backfill_run.sentReplies`; replies are upload-only);
403
+ * * anything else: recovered.
404
+ * A session left with no events is dropped.
405
+ *
406
+ * `receipts` gives each reply that is to be sent the digest doctor records once it
407
+ * reaches the server: the reply's words and its recovered turn's prompt stamp, so
408
+ * a receipt only ever answers for the turn it was written for.
409
+ */
410
+ export function withoutCapturedEvents(sessions, activityLog) {
411
+ const sessionOf = (e) => JSON.stringify([e.tool, e.sessionId ?? ""]);
412
+ const receiptOf = (e, turnTs) => createHash("sha256").update(JSON.stringify([capturedKey(e), turnTs])).digest("hex").slice(0, 16);
413
+ const sentReceipts = new Map();
414
+ const takeReceipt = (d) => {
415
+ const n = sentReceipts.get(d) ?? 0;
416
+ if (n === 0)
417
+ return false;
418
+ sentReceipts.set(d, n - 1);
419
+ return true;
420
+ };
421
+ const loggedPrompts = new Map();
422
+ // Every hook reply of a session, in log order, with its stamp.
423
+ const hookReplies = new Map();
424
+ let id = 0;
425
+ for (const line of activityLog.split("\n")) {
426
+ let e;
427
+ try {
428
+ e = JSON.parse(line);
429
+ }
430
+ catch {
431
+ continue;
432
+ }
433
+ if (!e || typeof e !== "object")
434
+ continue;
435
+ if (e.type === "backfill_run" && Array.isArray(e.sentReplies)) {
436
+ for (const d of e.sentReplies)
437
+ if (typeof d === "string")
438
+ sentReceipts.set(d, (sentReceipts.get(d) ?? 0) + 1);
439
+ continue;
440
+ }
441
+ const tsMs = Date.parse(String(e.ts));
442
+ if (e.type === "ai_prompt" && !Number.isNaN(tsMs)) {
443
+ const k = capturedKey(e);
444
+ loggedPrompts.set(k, [...(loggedPrompts.get(k) ?? []), { tsMs, id: id++ }]);
445
+ }
446
+ if (e.type === "ai_response" && typeof e.text === "string" && e.backfilled !== true) {
447
+ const k = sessionOf(e);
448
+ hookReplies.set(k, [...(hookReplies.get(k) ?? []), { text: e.text, tsMs, used: false }]);
449
+ }
450
+ }
451
+ for (const copies of loggedPrompts.values())
452
+ copies.sort((x, y) => x.tsMs - y.tsMs || x.id - y.id);
453
+ // Prompts: closest in time first inside the window, by binary search.
454
+ const heldPrompts = new Set();
455
+ const answered = new Set();
456
+ const candidates = [];
457
+ let order = 0;
458
+ for (const s of sessions) {
459
+ for (const e of s.events) {
460
+ order += 1;
461
+ if (e.type !== "ai_prompt" || e.tsApproximate === true)
462
+ continue;
463
+ const at = Date.parse(e.ts);
464
+ if (Number.isNaN(at))
465
+ continue;
466
+ const copies = loggedPrompts.get(capturedKey(e)) ?? [];
467
+ let lo = 0;
468
+ let hi = copies.length;
469
+ while (lo < hi) {
470
+ const mid = (lo + hi) >> 1;
471
+ if (copies[mid].tsMs < at - CAPTURE_TWIN_WINDOW_MS)
472
+ lo = mid + 1;
473
+ else
474
+ hi = mid;
475
+ }
476
+ for (let i = lo; i < copies.length && copies[i].tsMs <= at + CAPTURE_TWIN_WINDOW_MS; i++) {
477
+ candidates.push([Math.abs(copies[i].tsMs - at), order, e, copies[i].id]);
478
+ }
479
+ }
480
+ }
481
+ candidates.sort((x, y) => x[0] - y[0] || x[1] - y[1] || x[3] - y[3]);
482
+ for (const [, , e, logged] of candidates) {
483
+ if (heldPrompts.has(e) || answered.has(logged))
484
+ continue;
485
+ answered.add(logged);
486
+ heldPrompts.add(e);
487
+ }
488
+ let skipped = 0;
489
+ const receipts = new Map();
490
+ const kept = [];
491
+ for (const s of sessions) {
492
+ const events = [];
493
+ // Each reply's turn: from the recovered prompt before it to the next one.
494
+ const turnStart = new Map();
495
+ let start = { ts: "", ms: -Infinity };
496
+ const pending = [];
497
+ const close = (endMs) => {
498
+ for (const r of pending)
499
+ turnStart.set(r, { ts: start.ts, startMs: start.ms, endMs });
500
+ pending.length = 0;
501
+ };
502
+ for (const e of s.events) {
503
+ if (e.type === "ai_prompt") {
504
+ const ms = Date.parse(e.ts);
505
+ close(Number.isNaN(ms) ? Infinity : ms);
506
+ start = { ts: e.ts, ms: Number.isNaN(ms) ? -Infinity : ms };
507
+ }
508
+ else {
509
+ pending.push(e);
510
+ }
511
+ }
512
+ close(Infinity);
513
+ for (const e of s.events) {
514
+ if (e.type === "ai_prompt") {
515
+ if (heldPrompts.has(e))
516
+ skipped += 1;
517
+ else
518
+ events.push(e);
519
+ continue;
520
+ }
521
+ const turn = turnStart.get(e);
522
+ const text = e.text ?? "";
523
+ const replies = hookReplies.get(sessionOf(e)) ?? [];
524
+ const send = (out) => {
525
+ const receipt = receiptOf(out, turn.ts);
526
+ if (takeReceipt(receipt)) {
527
+ skipped += 1;
528
+ return;
529
+ }
530
+ receipts.set(out, receipt);
531
+ events.push(out);
532
+ };
533
+ if (e.tsApproximate === true) {
534
+ send(e);
535
+ continue;
536
+ }
537
+ const inTurn = replies.filter((r) => !r.used && r.tsMs >= turn.startMs && r.tsMs < turn.endMs);
538
+ const joined = inTurn.map((r) => r.text).join("\n\n");
539
+ for (const r of inTurn)
540
+ r.used = true;
541
+ if (inTurn.length > 0 && text === joined) {
542
+ skipped += 1;
543
+ }
544
+ else if (inTurn.length > 0 && text.startsWith(joined + "\n\n")) {
545
+ send({ ...e, text: text.slice(joined.length + 2) });
546
+ }
547
+ else {
548
+ send(e);
549
+ }
550
+ }
551
+ if (events.length === 0)
552
+ continue;
553
+ kept.push({
554
+ ...s,
555
+ events,
556
+ prompts: events.filter((e) => e.type === "ai_prompt").length,
557
+ responses: events.filter((e) => e.type === "ai_response").length,
558
+ });
559
+ }
560
+ return { sessions: kept, skipped, receipts };
561
+ }
362
562
  //# sourceMappingURL=backfill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../src/lib/backfill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../src/lib/backfill.ts"],"names":[],"mappings":"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"}
@@ -919,7 +919,7 @@ function parseClaudeTranscript(raw) {
919
919
  if (entry.type !== "assistant" || !Array.isArray(content)) continue
920
920
  for (const block of content) {
921
921
  if (block && block.type === "text" && typeof block.text === "string" && block.text) {
922
- collected.push(block.text)
922
+ collected.push({ id: typeof entry.uuid === "string" ? entry.uuid : null, text: block.text })
923
923
  }
924
924
  }
925
925
  // An assistant entry whose last block is tool_use is mid-turn; prose means
@@ -928,7 +928,8 @@ function parseClaudeTranscript(raw) {
928
928
  tail = lastBlock && lastBlock.type === "tool_use" ? "tool" : "text"
929
929
  }
930
930
  return {
931
- text: collected.length ? collected.join("\n\n") : null,
931
+ text: collected.length ? collected.map((b) => b.text).join("\n\n") : null,
932
+ blocks: collected,
932
933
  tailComplete: tail === "text",
933
934
  }
934
935
  }
@@ -986,8 +987,13 @@ function readSettledTranscript(transcriptPath, parse) {
986
987
  }
987
988
  }
988
989
 
990
+ // The whole parse, not just its text: `blocks` carries each block's entry id,
991
+ // which is what lets a later Stop send only what this one did not (ENG-2793).
989
992
  function readClaudeTranscriptResponse(transcriptPath) {
990
- return readSettledTranscript(transcriptPath, raw => parseClaudeTranscript(raw).text)
993
+ return readSettledTranscript(transcriptPath, (raw) => {
994
+ const parsed = parseClaudeTranscript(raw)
995
+ return parsed.text ? parsed : null
996
+ })
991
997
  }
992
998
 
993
999
  /**
@@ -1037,12 +1043,13 @@ function parseCopilotTranscript(raw) {
1037
1043
  }
1038
1044
  if (entry.type === "assistant.message" && entry.data
1039
1045
  && typeof entry.data.content === "string" && entry.data.content) {
1040
- collected.push(entry.data.content)
1046
+ collected.push({ id: typeof entry.id === "string" ? entry.id : null, text: entry.data.content })
1041
1047
  tail = "text"
1042
1048
  }
1043
1049
  }
1044
1050
  return {
1045
- text: collected.length ? collected.join("\n\n") : null,
1051
+ text: collected.length ? collected.map((b) => b.text).join("\n\n") : null,
1052
+ blocks: collected,
1046
1053
  tailComplete: tail === "text",
1047
1054
  }
1048
1055
  }
@@ -1051,7 +1058,10 @@ function readCopilotTranscriptResponse(transcriptPath) {
1051
1058
  // VS Code flushes before running the hook but bounds that flush at 500ms,
1052
1059
  // and the Copilot CLI's flush behavior is undocumented — so wait for
1053
1060
  // quiescence like the others.
1054
- return readSettledTranscript(transcriptPath, raw => parseCopilotTranscript(raw).text)
1061
+ return readSettledTranscript(transcriptPath, (raw) => {
1062
+ const parsed = parseCopilotTranscript(raw)
1063
+ return parsed.text ? parsed : null
1064
+ })
1055
1065
  }
1056
1066
 
1057
1067
  /**
@@ -1175,8 +1185,10 @@ function extractResponse(data, toolName) {
1175
1185
  // Claude Code Stop payload: { session_id, transcript_path, cwd,
1176
1186
  // hook_event_name, stop_hook_active }. The response text is not in the
1177
1187
  // payload — read it from the transcript.
1188
+ const parsed = readClaudeTranscriptResponse(data.transcript_path)
1178
1189
  return {
1179
- text: readClaudeTranscriptResponse(data.transcript_path),
1190
+ text: parsed ? parsed.text : null,
1191
+ blocks: parsed ? parsed.blocks : null,
1180
1192
  sessionId: data.session_id || null,
1181
1193
  }
1182
1194
  }
@@ -1220,8 +1232,10 @@ function extractResponse(data, toolName) {
1220
1232
  // Copilot Stop (both surfaces, via the PascalCase config spelling):
1221
1233
  // { hook_event_name: "Stop", session_id, transcript_path, ... }. The
1222
1234
  // response is in the transcript, not the payload.
1235
+ const parsed = readCopilotTranscriptResponse(data.transcript_path || data.transcriptPath)
1223
1236
  return {
1224
- text: readCopilotTranscriptResponse(data.transcript_path || data.transcriptPath),
1237
+ text: parsed ? parsed.text : null,
1238
+ blocks: parsed ? parsed.blocks : null,
1225
1239
  sessionId: data.session_id || data.sessionId || null,
1226
1240
  }
1227
1241
  }
@@ -1377,6 +1391,51 @@ function currentTurnRecord(sessionId) {
1377
1391
  }
1378
1392
  }
1379
1393
 
1394
+ // ── What a Stop has already sent (ENG-2793) ──────────────────────────
1395
+ // The Claude and Copilot readers collect every assistant message since the last
1396
+ // genuine user entry in the transcript. A Stop that fires again before one is
1397
+ // written collects the previous reply as well, and the report showed it twice:
1398
+ // measured on production, 258 hook replies began with the previous reply and a
1399
+ // blank line. So each Stop records the transcript entry its reply ended on, and
1400
+ // the next one sends only the blocks written after it. Kept beside the turn file
1401
+ // rather than in it, because `startTurn` rewrites that one on every prompt and a
1402
+ // re-send crosses prompts as often as not. A transcript without entry ids
1403
+ // records nothing and sends what it collected, as before.
1404
+
1405
+ function repliedFile(sessionId) {
1406
+ return turnFile(sessionId).replace(/\.json$/, ".replied.json")
1407
+ }
1408
+
1409
+ /** The entry id the session's last captured reply ended on, if any. */
1410
+ function lastRepliedEntry(sessionId) {
1411
+ if (!sessionId) return null
1412
+ try {
1413
+ const data = JSON.parse(fs.readFileSync(repliedFile(sessionId), "utf8"))
1414
+ return typeof data.entryId === "string" ? data.entryId : null
1415
+ } catch {
1416
+ return null
1417
+ }
1418
+ }
1419
+
1420
+ function recordRepliedEntry(sessionId, entryId) {
1421
+ if (!sessionId || !entryId) return
1422
+ try {
1423
+ fs.mkdirSync(TURNS_DIR, { recursive: true })
1424
+ fs.writeFileSync(repliedFile(sessionId), JSON.stringify({ entryId, ts: Date.now() }))
1425
+ } catch {
1426
+ // Unwritable: the next reply may repeat this one, which the report folds.
1427
+ }
1428
+ }
1429
+
1430
+ /** The blocks written after `entryId`. All of them when it is not among them,
1431
+ * because then a genuine prompt has started collection again since. */
1432
+ function unsentBlocks(blocks, entryId) {
1433
+ if (!entryId) return blocks
1434
+ let at = -1
1435
+ blocks.forEach((b, i) => { if (b.id === entryId) at = i })
1436
+ return at < 0 ? blocks : blocks.slice(at + 1)
1437
+ }
1438
+
1380
1439
  // ── Cursor's agent edits (ENG-2344) ──────────────────────────────────
1381
1440
  // Composer routes its model traffic to Cursor's own backend, so neither the
1382
1441
  // gateway nor the in-container MITM ever sees the tool call that writes a file
@@ -1777,12 +1836,20 @@ async function main() {
1777
1836
  let sessionId = null
1778
1837
  let workspaceRoots = []
1779
1838
  let responseMeta = null
1839
+ // ENG-2793: the entry this reply ends on, recorded once the reply is written.
1840
+ let repliedEntry = null
1780
1841
  if (responseEvent) {
1781
1842
  const extracted = extractResponse(parsed, effectiveTool)
1782
1843
  content = extracted.text
1783
1844
  sessionId = extracted.sessionId
1784
1845
  workspaceRoots = extracted.workspaceRoots || []
1785
1846
  responseMeta = extracted.meta || null
1847
+ const blocks = extracted.blocks
1848
+ if (blocks && blocks.length && sessionId && !selftestNonce) {
1849
+ const unsent = unsentBlocks(blocks, lastRepliedEntry(sessionId))
1850
+ content = unsent.length ? unsent.map((b) => b.text).join("\n\n") : null
1851
+ repliedEntry = blocks[blocks.length - 1].id
1852
+ }
1786
1853
  } else {
1787
1854
  const extracted = extractPrompt(raw, effectiveTool)
1788
1855
  content = extracted.prompt
@@ -1907,6 +1974,10 @@ async function main() {
1907
1974
  } catch {
1908
1975
  // Non-critical
1909
1976
  }
1977
+ // ENG-2793: the next Stop starts after this reply only once a copy of it is
1978
+ // on disk. The drain and the upload report no outcome, so a reply whose append
1979
+ // failed is sent again by the next Stop, and the report folds the repeat.
1980
+ if (repliedEntry && logged) recordRepliedEntry(sessionId, repliedEntry)
1910
1981
  // ENG-2344: the edits this reply carries leave the ledger only now that the
1911
1982
  // reply is on disk. An append that failed hands them back for the next reply.
1912
1983
  if (editLedger) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "litmus-cli",
3
- "version": "1.4.38",
3
+ "version": "1.4.40",
4
4
  "description": "CLI tool for Litmus engineering assessments",
5
5
  "license": "MIT",
6
6
  "author": "elenazhao",