@indigoai-us/hq-cloud 6.14.28 → 6.14.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/bin/sync-runner-company.d.ts +4 -0
  2. package/dist/bin/sync-runner-company.d.ts.map +1 -1
  3. package/dist/bin/sync-runner-company.js +3 -0
  4. package/dist/bin/sync-runner-company.js.map +1 -1
  5. package/dist/bin/sync-runner-planning.d.ts +7 -6
  6. package/dist/bin/sync-runner-planning.d.ts.map +1 -1
  7. package/dist/bin/sync-runner-planning.js +1 -1
  8. package/dist/bin/sync-runner-planning.js.map +1 -1
  9. package/dist/bin/sync-runner-planning.test.js +23 -0
  10. package/dist/bin/sync-runner-planning.test.js.map +1 -1
  11. package/dist/bin/sync-runner-rollup.d.ts.map +1 -1
  12. package/dist/bin/sync-runner-rollup.js +3 -1
  13. package/dist/bin/sync-runner-rollup.js.map +1 -1
  14. package/dist/bin/sync-runner-rollup.test.d.ts +2 -0
  15. package/dist/bin/sync-runner-rollup.test.d.ts.map +1 -0
  16. package/dist/bin/sync-runner-rollup.test.js +24 -0
  17. package/dist/bin/sync-runner-rollup.test.js.map +1 -0
  18. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  19. package/dist/bin/sync-runner-watch-loop.js +15 -1
  20. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  21. package/dist/bin/sync-runner.d.ts +11 -7
  22. package/dist/bin/sync-runner.d.ts.map +1 -1
  23. package/dist/bin/sync-runner.js +51 -9
  24. package/dist/bin/sync-runner.js.map +1 -1
  25. package/dist/bin/sync-runner.test.js +97 -0
  26. package/dist/bin/sync-runner.test.js.map +1 -1
  27. package/dist/cli/doctor.d.ts.map +1 -1
  28. package/dist/cli/doctor.js +3 -1
  29. package/dist/cli/doctor.js.map +1 -1
  30. package/dist/cli/reindex.d.ts.map +1 -1
  31. package/dist/cli/reindex.js +24 -13
  32. package/dist/cli/reindex.js.map +1 -1
  33. package/dist/cli/rescue-core.js +3 -1
  34. package/dist/cli/rescue-core.js.map +1 -1
  35. package/dist/cli/share.d.ts +35 -0
  36. package/dist/cli/share.d.ts.map +1 -1
  37. package/dist/cli/share.js +29 -11
  38. package/dist/cli/share.js.map +1 -1
  39. package/dist/cli/share.test.js +46 -0
  40. package/dist/cli/share.test.js.map +1 -1
  41. package/dist/ignore.d.ts.map +1 -1
  42. package/dist/ignore.js +5 -0
  43. package/dist/ignore.js.map +1 -1
  44. package/dist/ignore.test.js +9 -0
  45. package/dist/ignore.test.js.map +1 -1
  46. package/dist/outcome-telemetry.d.ts +167 -0
  47. package/dist/outcome-telemetry.d.ts.map +1 -0
  48. package/dist/outcome-telemetry.js +479 -0
  49. package/dist/outcome-telemetry.js.map +1 -0
  50. package/dist/outcome-telemetry.test.d.ts +9 -0
  51. package/dist/outcome-telemetry.test.d.ts.map +1 -0
  52. package/dist/outcome-telemetry.test.js +412 -0
  53. package/dist/outcome-telemetry.test.js.map +1 -0
  54. package/dist/qmd-reindex.d.ts +48 -35
  55. package/dist/qmd-reindex.d.ts.map +1 -1
  56. package/dist/qmd-reindex.js +188 -60
  57. package/dist/qmd-reindex.js.map +1 -1
  58. package/dist/qmd-reindex.test.d.ts +3 -3
  59. package/dist/qmd-reindex.test.js +203 -41
  60. package/dist/qmd-reindex.test.js.map +1 -1
  61. package/dist/telemetry.d.ts +5 -4
  62. package/dist/telemetry.d.ts.map +1 -1
  63. package/dist/telemetry.js +187 -13
  64. package/dist/telemetry.js.map +1 -1
  65. package/dist/telemetry.test.js +157 -0
  66. package/dist/telemetry.test.js.map +1 -1
  67. package/dist/vault-client.d.ts +34 -0
  68. package/dist/vault-client.d.ts.map +1 -1
  69. package/dist/vault-client.js +23 -0
  70. package/dist/vault-client.js.map +1 -1
  71. package/package.json +1 -1
  72. package/src/bin/sync-runner-company.ts +4 -0
  73. package/src/bin/sync-runner-planning.test.ts +26 -0
  74. package/src/bin/sync-runner-planning.ts +8 -7
  75. package/src/bin/sync-runner-rollup.test.ts +37 -0
  76. package/src/bin/sync-runner-rollup.ts +3 -1
  77. package/src/bin/sync-runner-watch-loop.ts +22 -1
  78. package/src/bin/sync-runner.test.ts +111 -0
  79. package/src/bin/sync-runner.ts +62 -17
  80. package/src/cli/doctor.ts +3 -1
  81. package/src/cli/reindex.ts +24 -12
  82. package/src/cli/rescue-core.ts +3 -1
  83. package/src/cli/share.test.ts +60 -0
  84. package/src/cli/share.ts +29 -11
  85. package/src/ignore.test.ts +10 -0
  86. package/src/ignore.ts +5 -0
  87. package/src/outcome-telemetry.test.ts +498 -0
  88. package/src/outcome-telemetry.ts +639 -0
  89. package/src/qmd-reindex.test.ts +226 -40
  90. package/src/qmd-reindex.ts +209 -61
  91. package/src/telemetry.test.ts +194 -0
  92. package/src/telemetry.ts +233 -14
  93. package/src/vault-client.ts +55 -0
@@ -16,48 +16,29 @@
16
16
  *
17
17
  * What it does, best-effort and idempotent:
18
18
  * 1. Auto-registers any `companies/<slug>/knowledge` dir that isn't yet a
19
- * qmd collection (kills the manual "map" step).
19
+ * qmd collection (kills the manual "map" step). Detects path drift when
20
+ * the name exists but points elsewhere; repairs only when
21
+ * `HQ_QMD_REPAIR_PATH_DRIFT=1` (non-breaking default: detect-only).
20
22
  * 2. Runs an incremental lexical `qmd update` (fast — qmd skips unchanged
21
23
  * files by mtime).
22
24
  * 3. Rebuilds embeddings only when `embed: true` (slow on a multi-GB
23
- * index; meant for an idle pass, not every sync).
25
+ * index; meant for an idle pass, not every sync). Never embeds in the
26
+ * same cycle as a path-drift repair (repair drops that collection's
27
+ * vectors).
24
28
  *
25
29
  * The index itself is never synced — it is large, binary, and embeds absolute
26
30
  * local paths. Only its *freshness* is automated here.
27
31
  *
28
- * ## Corruption safety (feedback_b9a369ff)
32
+ * ## Corruption safety (feedback_b9a369ff + feedback_332c7ccc)
29
33
  *
30
- * The qmd store (`.qmd/index.sqlite`, backed by a sqlite-vec virtual table) was
31
- * being corrupted on the vector side (`content_vectors` / `vectors_vec_rowids`)
32
- * because TWO uncoordinated writers raced on it: this post-sync reindex and an
33
- * interactive session's own qmd maintenance (e.g. a skill's `qmd embed`). Two
34
- * defects compounded:
35
- * 1. A hard 120s `spawnSync` timeout that KILLED a long `qmd update`/`embed`
36
- * mid-write, tearing down the process between vector-table writes.
37
- * 2. No cross-process serialization, so an interactive `qmd embed` and a
38
- * runner-spawned `qmd update` overlapped with near certainty.
39
- *
40
- * The mitigations here, all inside the runner so every teammate gets them on
41
- * their next sync:
42
- * - The exec timeout is raised substantially so a legitimate long pass is no
43
- * longer killed mid-write in the first place. A timed-out pass is treated as
44
- * "not done" (left dirty, retried next cycle) and NEVER advances to embed.
45
- * That not-done handling — together with the writer serialization below — is
46
- * the real protection; the signal used for the (now rare) kill is secondary.
47
- * When the bound does fire the child is sent SIGINT rather than the default
48
- * SIGTERM, but qmd 2.5.3 traps both identically (each just restores the
49
- * cursor and exits), so this is only the same clean exit path qmd takes on
50
- * Ctrl-C — not a guarantee the in-flight SQLite write unwinds.
51
- * - A shared advisory lock at `<hqRoot>/.qmd/.reindex.lock` serializes qmd
52
- * writers. The runner takes it before touching qmd and SKIPS the cycle (and
53
- * marks the tree dirty so the next sync retries) when another writer holds
54
- * it. The lock path sits next to the DB so interactive HQ qmd maintenance
55
- * can honor the same rendezvous.
56
- * - Corruption is detected cheaply from qmd's own output (the SQLITE_CORRUPT
57
- * signature). On detection the corrupt DB files are quarantined aside (moved
58
- * to `index.sqlite.corrupt-<ts>`, never deleted) and the cycle stops writing
59
- * so a clean rebuild happens on the next pass — instead of writing further
60
- * onto an already-damaged store.
34
+ * The qmd store (sqlite-vec) was being corrupted on the vector side because
35
+ * TWO uncoordinated writers raced on it. Mitigations:
36
+ * - Raised exec timeout so legitimate long passes are not killed mid-write.
37
+ * - Dual advisory lock: legacy `<hqRoot>/.qmd/.reindex.lock` AND
38
+ * `<resolvedIndexDir>/.reindex.lock` (deduped when equal). Default index
39
+ * is often `~/.cache/qmd/index.sqlite`, not `<hqRoot>/.qmd`.
40
+ * - Corruption quarantine targets the resolved index dir; reports success
41
+ * only when files were actually moved.
61
42
  */
62
43
  import * as fs from "fs";
63
44
  import * as path from "path";
@@ -82,6 +63,47 @@ export function resolveExecTimeoutMs(env = process.env) {
82
63
  }
83
64
  return DEFAULT_QMD_EXEC_TIMEOUT_MS;
84
65
  }
66
+ /** Opt-in destructive path-drift repair (remove + re-add). Default off. */
67
+ export function repairPathDriftEnabled(env = process.env) {
68
+ const raw = (env.HQ_QMD_REPAIR_PATH_DRIFT ?? "").trim().toLowerCase();
69
+ return raw === "1" || raw === "true" || raw === "yes";
70
+ }
71
+ /**
72
+ * Parse the directory that holds `index.sqlite` from `qmd status` output.
73
+ * Returns null when the Index line is missing/unparseable.
74
+ */
75
+ export function parseIndexDirFromStatus(stdout) {
76
+ const m = stdout.match(/^\s*Index:\s*(.+?)\s*$/m);
77
+ if (!m)
78
+ return null;
79
+ const indexFile = m[1].trim();
80
+ if (!indexFile)
81
+ return null;
82
+ return path.dirname(indexFile);
83
+ }
84
+ /** Parse `Path:` from `qmd collection show` human output. */
85
+ export function parseCollectionPathFromShow(stdout) {
86
+ const m = stdout.match(/^\s*Path:\s*(.+?)\s*$/m);
87
+ if (!m)
88
+ return null;
89
+ const p = m[1].trim();
90
+ return p || null;
91
+ }
92
+ /** Case-insensitive, trailing-separator-tolerant path equality after realpath. */
93
+ export function pathsEquivalent(a, b, realpathSync = safeRealpathSync) {
94
+ return normalizePathKey(realpathSync(a)) === normalizePathKey(realpathSync(b));
95
+ }
96
+ function normalizePathKey(p) {
97
+ return path.resolve(p).replace(/[/\\]+$/, "").toLowerCase();
98
+ }
99
+ function safeRealpathSync(p) {
100
+ try {
101
+ return fs.realpathSync(p);
102
+ }
103
+ catch {
104
+ return path.resolve(p);
105
+ }
106
+ }
85
107
  const defaultExec = (args) => {
86
108
  const res = spawnSync("qmd", args, {
87
109
  encoding: "utf8",
@@ -239,9 +261,9 @@ const defaultAcquireReindexLock = (lockPath) => {
239
261
  }
240
262
  catch (err) {
241
263
  if (err?.code !== "EEXIST") {
242
- // The `.qmd` dir isn't writable (unusual — it holds the DB). Fail OPEN
243
- // rather than block the reindex on an infra problem: proceed without the
244
- // advisory lock. The corruption guard below is the remaining backstop.
264
+ // The lock dir isn't writable. Fail OPEN rather than block the reindex
265
+ // on an infra problem: proceed without the advisory lock. The corruption
266
+ // guard below is the remaining backstop.
245
267
  return NOOP_LOCK;
246
268
  }
247
269
  // Held. Reclaim iff the holder is dead/stale, then retry once.
@@ -252,6 +274,33 @@ const defaultAcquireReindexLock = (lockPath) => {
252
274
  }
253
275
  return null;
254
276
  };
277
+ /**
278
+ * Acquire unique lock paths (legacy + resolved index). If any is busy, release
279
+ * what was acquired and return busy. Dedupes when both paths are the same so a
280
+ * process never O_EXCL-locks itself out.
281
+ */
282
+ export function acquireDualReindexLocks(acquireLock, lockPaths) {
283
+ const unique = [];
284
+ const seen = new Set();
285
+ for (const p of lockPaths) {
286
+ const key = normalizePathKey(p);
287
+ if (seen.has(key))
288
+ continue;
289
+ seen.add(key);
290
+ unique.push(p);
291
+ }
292
+ const locks = [];
293
+ for (const p of unique) {
294
+ const handle = acquireLock(p);
295
+ if (!handle) {
296
+ for (const acquired of locks)
297
+ acquired.release();
298
+ return { locks: [], busy: true };
299
+ }
300
+ locks.push(handle);
301
+ }
302
+ return { locks, busy: false };
303
+ }
255
304
  const CORRUPTIBLE_DB_FILES = ["index.sqlite", "index.sqlite-wal", "index.sqlite-shm"];
256
305
  const defaultQuarantineCorruptIndex = (qmdDir, tsSuffix) => {
257
306
  let movedBase = null;
@@ -264,6 +313,8 @@ const defaultQuarantineCorruptIndex = (qmdDir, tsSuffix) => {
264
313
  fs.renameSync(src, dest);
265
314
  if (name === "index.sqlite")
266
315
  movedBase = dest;
316
+ else if (movedBase === null)
317
+ movedBase = dest;
267
318
  }
268
319
  catch {
269
320
  // Best-effort: move what we can. A file we can't move is left in place;
@@ -288,15 +339,21 @@ export function reindexAfterSync(hqRoot, opts = {}) {
288
339
  const existsSync = opts.existsSync ?? fs.existsSync;
289
340
  const acquireLock = opts.acquireReindexLock ?? defaultAcquireReindexLock;
290
341
  const quarantine = opts.quarantineCorruptIndex ?? defaultQuarantineCorruptIndex;
342
+ const realpathSync = opts.realpathSync ?? safeRealpathSync;
343
+ const env = opts.env ?? process.env;
291
344
  const result = {
292
345
  qmdAvailable: false,
293
346
  collectionsAdded: [],
347
+ pathDriftDetected: [],
348
+ collectionsRepaired: [],
294
349
  updated: false,
295
350
  embedded: false,
296
351
  pendingDirty: false,
297
352
  lockBusy: false,
298
353
  timedOut: false,
299
354
  corruptionQuarantined: false,
355
+ corruptionQuarantineFailed: false,
356
+ indexDir: null,
300
357
  };
301
358
  try {
302
359
  // Guard: only operate on a real HQ tree.
@@ -318,19 +375,29 @@ export function reindexAfterSync(hqRoot, opts = {}) {
318
375
  const pendingSinceMs = pendingDirty && typeof state.pendingSinceMs === "number"
319
376
  ? state.pendingSinceMs
320
377
  : nowMs;
321
- // Serialize qmd writers. If another writer (this runner from a prior cycle,
322
- // or an interactive session's qmd maintenance) holds the lock, SKIP this
323
- // cycle and mark the tree dirty so the next sync retries — never write onto
324
- // the vector store concurrently (feedback_b9a369ff).
325
- const lockPath = path.join(hqRoot, ".qmd", ".reindex.lock");
326
- const lock = acquireLock(lockPath);
327
- if (!lock) {
378
+ // Resolve the real index directory before locking. Default qmd layout is
379
+ // ~/.cache/qmd, not <hqRoot>/.qmd — status is read-only.
380
+ const legacyQmdDir = path.join(hqRoot, ".qmd");
381
+ const status = exec(["status"]);
382
+ const parsedIndexDir = parseIndexDirFromStatus(status.stdout ?? "");
383
+ const indexDir = parsedIndexDir ?? legacyQmdDir;
384
+ result.indexDir = indexDir;
385
+ // Serialize qmd writers across legacy + resolved layouts (feedback_332c7ccc).
386
+ const { locks, busy } = acquireDualReindexLocks(acquireLock, [
387
+ path.join(legacyQmdDir, ".reindex.lock"),
388
+ path.join(indexDir, ".reindex.lock"),
389
+ ]);
390
+ if (busy) {
328
391
  writeState(statePath, { ...state, pendingDirty: true, pendingSinceMs });
329
392
  result.lockBusy = true;
330
393
  result.pendingDirty = true;
331
394
  return result;
332
395
  }
333
396
  try {
397
+ if (looksCorrupt(status)) {
398
+ handleCorruption(indexDir, statePath, state, pendingSinceMs, nowMs, quarantine, result);
399
+ return result;
400
+ }
334
401
  // Guard: qmd must be installed. `qmd collection list` doubles as the
335
402
  // availability probe AND the source for which collections already exist.
336
403
  const list = exec(["collection", "list"]);
@@ -338,15 +405,17 @@ export function reindexAfterSync(hqRoot, opts = {}) {
338
405
  return result; // qmd absent or errored — no-op
339
406
  // An already-corrupt store can surface here even on the lexical side.
340
407
  if (looksCorrupt(list)) {
341
- handleCorruption(hqRoot, statePath, state, pendingSinceMs, nowMs, quarantine, result);
408
+ handleCorruption(indexDir, statePath, state, pendingSinceMs, nowMs, quarantine, result);
342
409
  return result;
343
410
  }
344
411
  result.qmdAvailable = true;
345
412
  const existingCollections = list.stdout;
346
- // 1. Auto-register missing company knowledge collections.
413
+ let repairedThisCycle = false;
414
+ // 1. Auto-register missing / reconcile drifted company knowledge collections.
347
415
  if (registrationMayBeStale) {
348
416
  const companiesDir = path.join(hqRoot, "companies");
349
417
  const slugs = (opts.readCompanies ?? defaultReadCompanies)(companiesDir);
418
+ const allowRepair = repairPathDriftEnabled(env);
350
419
  for (const slug of slugs) {
351
420
  const knowledgeDir = path.join(companiesDir, slug, "knowledge");
352
421
  if (!existsSync(knowledgeDir))
@@ -354,14 +423,66 @@ export function reindexAfterSync(hqRoot, opts = {}) {
354
423
  const hasMd = (opts.hasIndexableMarkdown ?? defaultHasIndexableMarkdown)(knowledgeDir);
355
424
  if (!hasMd)
356
425
  continue;
357
- // Already registered? qmd collection URIs look like `qmd://<slug>/`.
358
- if (existingCollections.includes(`qmd://${slug}/`))
426
+ const namePresent = existingCollections.includes(`qmd://${slug}/`);
427
+ if (!namePresent) {
428
+ const add = exec(["collection", "add", knowledgeDir, "--name", slug, "--mask", "**/*.md"]);
429
+ if (add.status === 0) {
430
+ exec(["context", "add", `qmd://${slug}`, `Knowledge base for ${slug}.`]);
431
+ result.collectionsAdded.push(slug);
432
+ }
433
+ continue;
434
+ }
435
+ // Name exists — check path (feedback_f8e233c6). Paths only on `show`.
436
+ const show = exec(["collection", "show", slug]);
437
+ if (show.status !== 0)
438
+ continue;
439
+ const registeredPath = parseCollectionPathFromShow(show.stdout ?? "");
440
+ if (!registeredPath)
441
+ continue;
442
+ if (pathsEquivalent(registeredPath, knowledgeDir, realpathSync))
443
+ continue;
444
+ result.pathDriftDetected.push(slug);
445
+ opts.log?.({
446
+ event: "runner.qmd_reindex.path_drift",
447
+ message: `qmd collection ${slug} path drifted`,
448
+ err: null,
449
+ context: {
450
+ slug,
451
+ registeredPath,
452
+ desiredPath: knowledgeDir,
453
+ repairEnabled: allowRepair,
454
+ },
455
+ });
456
+ if (!allowRepair)
457
+ continue;
458
+ // Guaranteed hasMd + exists above. Remove + re-add; never embed inline.
459
+ const removed = exec(["collection", "remove", slug]);
460
+ if (removed.status !== 0) {
461
+ writeState(statePath, { ...state, pendingDirty: true, pendingSinceMs });
462
+ result.pendingDirty = true;
463
+ opts.log?.({
464
+ event: "runner.qmd_reindex.path_drift_repair_failed",
465
+ message: `failed to remove drifted collection ${slug}`,
466
+ err: removed.stderr ?? removed.stdout,
467
+ context: { slug },
468
+ });
359
469
  continue;
470
+ }
360
471
  const add = exec(["collection", "add", knowledgeDir, "--name", slug, "--mask", "**/*.md"]);
361
- if (add.status === 0) {
362
- exec(["context", "add", `qmd://${slug}`, `Knowledge base for ${slug}.`]);
363
- result.collectionsAdded.push(slug);
472
+ if (add.status !== 0) {
473
+ writeState(statePath, { ...state, pendingDirty: true, pendingSinceMs });
474
+ result.pendingDirty = true;
475
+ opts.log?.({
476
+ event: "runner.qmd_reindex.path_drift_repair_failed",
477
+ message: `removed ${slug} but failed to re-add at desired path`,
478
+ err: add.stderr ?? add.stdout,
479
+ context: { slug, knowledgeDir },
480
+ });
481
+ continue;
364
482
  }
483
+ exec(["context", "add", `qmd://${slug}`, `Knowledge base for ${slug}.`]);
484
+ result.collectionsRepaired.push(slug);
485
+ repairedThisCycle = true;
365
486
  }
366
487
  }
367
488
  // 2. Incremental lexical reindex.
@@ -376,7 +497,7 @@ export function reindexAfterSync(hqRoot, opts = {}) {
376
497
  }
377
498
  const update = exec(["update"]);
378
499
  if (looksCorrupt(update)) {
379
- handleCorruption(hqRoot, statePath, state, pendingSinceMs, nowMs, quarantine, result);
500
+ handleCorruption(indexDir, statePath, state, pendingSinceMs, nowMs, quarantine, result);
380
501
  return result;
381
502
  }
382
503
  if (update.timedOut) {
@@ -396,11 +517,12 @@ export function reindexAfterSync(hqRoot, opts = {}) {
396
517
  result.pendingDirty = true;
397
518
  }
398
519
  }
399
- // 3. Embeddings only on explicit request.
400
- if (opts.embed) {
520
+ // 3. Embeddings only on explicit request — never after a path-drift repair
521
+ // in the same cycle (repair destroys that collection's vectors).
522
+ if (opts.embed && !repairedThisCycle) {
401
523
  const embed = exec(["embed"]);
402
524
  if (looksCorrupt(embed)) {
403
- handleCorruption(hqRoot, statePath, state, pendingSinceMs, nowMs, quarantine, result);
525
+ handleCorruption(indexDir, statePath, state, pendingSinceMs, nowMs, quarantine, result);
404
526
  return result;
405
527
  }
406
528
  if (embed.timedOut) {
@@ -413,7 +535,8 @@ export function reindexAfterSync(hqRoot, opts = {}) {
413
535
  }
414
536
  }
415
537
  finally {
416
- lock.release();
538
+ for (const lock of locks)
539
+ lock.release();
417
540
  }
418
541
  }
419
542
  catch (err) {
@@ -436,12 +559,17 @@ export function reindexAfterSync(hqRoot, opts = {}) {
436
559
  * Quarantine the corrupt DB aside and mark the tree dirty so the NEXT cycle
437
560
  * rebuilds from scratch under the lock, instead of writing further onto an
438
561
  * already-damaged vector store. Mutates `result` in place.
562
+ * `corruptionQuarantined` is true only when files were actually moved.
439
563
  */
440
- function handleCorruption(hqRoot, statePath, state, pendingSinceMs, nowMs, quarantine, result) {
441
- const qmdDir = path.join(hqRoot, ".qmd");
442
- quarantine(qmdDir, quarantineSuffix(nowMs));
564
+ function handleCorruption(indexDir, statePath, state, pendingSinceMs, nowMs, quarantine, result) {
565
+ const moved = quarantine(indexDir, quarantineSuffix(nowMs));
443
566
  writeState(statePath, { ...state, pendingDirty: true, pendingSinceMs });
444
- result.corruptionQuarantined = true;
567
+ if (moved != null) {
568
+ result.corruptionQuarantined = true;
569
+ }
570
+ else {
571
+ result.corruptionQuarantineFailed = true;
572
+ }
445
573
  result.pendingDirty = true;
446
574
  }
447
575
  function readState(statePath) {
@@ -1 +1 @@
1
- {"version":3,"file":"qmd-reindex.js","sourceRoot":"","sources":["../src/qmd-reindex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qmd-reindex.js","sourceRoot":"","sources":["../src/qmd-reindex.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,9 @@
6
6
  * is invoked. We assert on the *sequence of qmd commands* the function would
7
7
  * run, which is the contract that keeps a teammate's index fresh after sync.
8
8
  *
9
- * The corruption-safety tests (lock serialization, timeout-kill handling, and
10
- * SQLITE_CORRUPT quarantine) pin the fix for feedback_b9a369ff — the post-sync
11
- * reindex racing an interactive qmd writer and corrupting the vector store.
9
+ * Corruption-safety tests pin feedback_b9a369ff + feedback_332c7ccc (resolved
10
+ * index path, dual-lock, honest quarantine). Path-drift tests pin
11
+ * feedback_f8e233c6 (detect-only by default; opt-in repair).
12
12
  */
13
13
  export {};
14
14
  //# sourceMappingURL=qmd-reindex.test.d.ts.map