@indigoai-us/hq-cloud 6.14.33 → 6.14.34

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.
@@ -38,6 +38,20 @@ type JournalFiles = ReturnType<typeof readJournal>["files"];
38
38
  * deliberately avoid enumeration; only directory unlinks expand descendants.
39
39
  */
40
40
  export declare function journalEntriesForWatcherDelete(files: JournalFiles, key: string, kind: "unlink" | "unlinkDir"): Array<[string, JournalFiles[string]]>;
41
+ /**
42
+ * Should a single `unlinkDir` expansion be quarantined instead of stamping a
43
+ * version-bound delete intent on every descendant journal entry?
44
+ *
45
+ * One filesystem event can cover an arbitrary subtree, so the producer is
46
+ * capable of minting thousands of individually-valid intents from a checkout
47
+ * swap, an unmount, a partial restore or an `rm -rf` — the 2026-07-30 mass
48
+ * deletion did exactly that. Quarantined entries are simply left intent-less,
49
+ * which the engine already refuses (`missing-delete-intent`); nothing is
50
+ * deleted locally or remotely and the next pull restores the tree.
51
+ *
52
+ * Pure so the threshold is unit-testable without a watcher or a journal.
53
+ */
54
+ export declare function shouldQuarantineWatcherDeleteIntents(expandedEntries: number, journalEntries: number): boolean;
41
55
  export declare function runOneShotWithOperationLock(argv: string[], parsed: ParsedLoopArgs, deps: RunnerLoopDeps, runtime: WatchLoopRuntime): Promise<number>;
42
56
  export declare function runWatchLoop(argv: string[], parsed: ParsedLoopArgs, deps: RunnerLoopDeps, runtime: WatchLoopRuntime): Promise<number>;
43
57
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner-watch-loop.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"AAwBA,OAAO,EAIL,WAAW,EAEZ,MAAM,eAAe,CAAC;AAWvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAU9D,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAiB1B;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAA+B,EACxC,MAAM,GAAE,MAA8B,GACrC,MAAM,CAKR;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC,EAAE,CACnC,QAAQ,EAAE,MAAM,EAAE,KACf,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;IAC7E,qBAAqB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,GAAG,WAAW,GAC3B,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CASvC;AAcD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAyuBjB"}
1
+ {"version":3,"file":"sync-runner-watch-loop.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"AAwBA,OAAO,EAIL,WAAW,EAEZ,MAAM,eAAe,CAAC;AAWvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAU9D,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAiB1B;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAA+B,EACxC,MAAM,GAAE,MAA8B,GACrC,MAAM,CAKR;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC,EAAE,CACnC,QAAQ,EAAE,MAAM,EAAE,KACf,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;IAC7E,qBAAqB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,GAAG,WAAW,GAC3B,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CASvC;AAWD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oCAAoC,CAClD,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAIT;AAuBD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAqwBjB"}
@@ -54,6 +54,42 @@ export function journalEntriesForWatcherDelete(files, key, kind) {
54
54
  }
55
55
  return Object.entries(files).filter(([candidate]) => key === "" || candidate === key || candidate.startsWith(`${key}/`));
56
56
  }
57
+ /**
58
+ * Bulk-intent quarantine thresholds. Deliberately the same shape and values as
59
+ * the engine's `BULK_ASYMMETRY_*` constants (`src/cli/share.ts`) so operators
60
+ * learn one rule and one knob: a disappearance covering >= 10 journal entries
61
+ * AND >= 10% of the shard is treated as suspect rather than deliberate.
62
+ */
63
+ const WATCHER_BULK_INTENT_MIN_ABS = 10;
64
+ const WATCHER_BULK_INTENT_RATIO = 0.1;
65
+ /**
66
+ * Should a single `unlinkDir` expansion be quarantined instead of stamping a
67
+ * version-bound delete intent on every descendant journal entry?
68
+ *
69
+ * One filesystem event can cover an arbitrary subtree, so the producer is
70
+ * capable of minting thousands of individually-valid intents from a checkout
71
+ * swap, an unmount, a partial restore or an `rm -rf` — the 2026-07-30 mass
72
+ * deletion did exactly that. Quarantined entries are simply left intent-less,
73
+ * which the engine already refuses (`missing-delete-intent`); nothing is
74
+ * deleted locally or remotely and the next pull restores the tree.
75
+ *
76
+ * Pure so the threshold is unit-testable without a watcher or a journal.
77
+ */
78
+ export function shouldQuarantineWatcherDeleteIntents(expandedEntries, journalEntries) {
79
+ if (expandedEntries < WATCHER_BULK_INTENT_MIN_ABS)
80
+ return false;
81
+ if (journalEntries <= 0)
82
+ return false;
83
+ return expandedEntries / journalEntries >= WATCHER_BULK_INTENT_RATIO;
84
+ }
85
+ /**
86
+ * Same operator escape hatch as the engine breaker — one knob for both layers.
87
+ * Set when a genuinely intentional large folder removal must propagate.
88
+ */
89
+ function isBulkIntentOverride() {
90
+ const v = (process.env.HQ_SYNC_DELETE_BULK_OVERRIDE ?? "").toLowerCase();
91
+ return v === "1" || v === "true" || v === "yes";
92
+ }
57
93
  function passExitCode(outcome) {
58
94
  return typeof outcome === "number" ? outcome : outcome.exitCode;
59
95
  }
@@ -354,7 +390,23 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
354
390
  // Chokidar emits one unlink per file during rm -rf. Avoid walking the
355
391
  // whole shard for every exact-key event; directory unlinks alone need
356
392
  // descendant expansion.
357
- for (const [key, entry] of journalEntriesForWatcherDelete(journal.files, coordinates.key, kind)) {
393
+ const covered = journalEntriesForWatcherDelete(journal.files, coordinates.key, kind);
394
+ // Bulk-intent quarantine: one directory event must not be able to mint
395
+ // intents across a large fraction of the shard. Leaving them intent-less
396
+ // is the safe state — the engine refuses intent-less disappearances and
397
+ // the next pull restores the subtree.
398
+ const stampable = covered.filter(([, entry]) => entry?.remoteEtag && entry.kind && entry.removedAt === undefined);
399
+ if (kind === "unlinkDir" &&
400
+ !isBulkIntentOverride() &&
401
+ shouldQuarantineWatcherDeleteIntents(stampable.length, Object.keys(journal.files).length)) {
402
+ process.stderr.write(`hq-sync-runner: refusing to record delete intent for ${stampable.length} ` +
403
+ `of ${Object.keys(journal.files).length} journal entries under ` +
404
+ `"${coordinates.key || "<root>"}" — a single directory removal that large ` +
405
+ `is treated as a possible mirror loss. Nothing was deleted. ` +
406
+ `Set HQ_SYNC_DELETE_BULK_OVERRIDE=1 to propagate it deliberately.\n`);
407
+ return [];
408
+ }
409
+ for (const [key, entry] of stampable) {
358
410
  captureEntry(key, entry);
359
411
  }
360
412
  // Persist at observation time, before the debounced batch can queue
@@ -1 +1 @@
1
- {"version":3,"file":"sync-runner-watch-loop.js","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-runner-watch-loop.js","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import * as path from "path";
13
13
  import { runRunner, runRunnerWithLoop, resolveDeletePolicy, resolveSkipPersonal, resolveSkipCompanies, selectObjectIOFactory, routeChangeToTarget, buildTargetedPushArgv, resolvePullScope, readPinnedPrefixes, SESSIONS_SCOPE_PREFIX, defaultCollectTelemetry, AUTH_REQUIRED_PASS_EXIT, } from "./sync-runner.js";
14
14
  import { PresignObjectIO, S3SdkObjectIO } from "../object-io.js";
15
15
  import { FakeClock, } from "../watcher.js";
16
- import { adaptivePollMs, journalEntriesForWatcherDelete, } from "./sync-runner-watch-loop.js";
16
+ import { adaptivePollMs, journalEntriesForWatcherDelete, shouldQuarantineWatcherDeleteIntents, } from "./sync-runner-watch-loop.js";
17
17
  import { PERSONAL_VAULT_JOURNAL_SLUG, readJournal, writeJournal, } from "../journal.js";
18
18
  import { HQ_CLOUD_VERSION } from "../version.js";
19
19
  import { lockPathFor, OPERATION_LOCKED_EXIT } from "../operation-lock.js";
@@ -6363,6 +6363,23 @@ describe("watcher delete intents without pre-seeded authorization", () => {
6363
6363
  });
6364
6364
  expect(journalEntriesForWatcherDelete(files, "knowledge/exact.md", "unlink")).toEqual([["knowledge/exact.md", exactEntry]]);
6365
6365
  });
6366
+ // Bulk-intent quarantine. A single `unlinkDir` expands to every descendant
6367
+ // journal entry, so without a ceiling one filesystem event — a checkout
6368
+ // swap, an unmount, a partial restore — mints thousands of individually
6369
+ // valid delete intents. Same thresholds as the engine's bulk-asymmetry
6370
+ // breaker so there is one rule and one override knob across both layers.
6371
+ it.each([
6372
+ // [expanded, journalEntries, quarantined, why]
6373
+ [11, 100, true, "11% of the shard, above both thresholds"],
6374
+ [10, 100, true, "exactly at MIN_ABS and RATIO"],
6375
+ [9, 100, false, "below MIN_ABS — ordinary cleanup must propagate"],
6376
+ [9, 9, false, "100% ratio but below MIN_ABS floor"],
6377
+ [10, 1000, false, "at MIN_ABS but only 1% of the shard"],
6378
+ [50, 50, true, "the whole shard vanished at once"],
6379
+ [0, 0, false, "empty journal never quarantines"],
6380
+ ])("bulk-intent quarantine for %i of %i journal entries → %s (%s)", (expanded, journalEntries, quarantined) => {
6381
+ expect(shouldQuarantineWatcherDeleteIntents(expanded, journalEntries)).toBe(quarantined);
6382
+ });
6366
6383
  it("keeps a deleted top-level personal file in the scoped push delete roots", async () => {
6367
6384
  const hqRoot = fs.mkdtempSync(path.join(os.tmpdir(), "hq-personal-delete-"));
6368
6385
  const key = "personal-note.md";
@@ -6514,13 +6531,70 @@ describe("watcher delete intents without pre-seeded authorization", () => {
6514
6531
  expect(fs.existsSync(newPath)).toBe(true);
6515
6532
  await stopHarness(h);
6516
6533
  });
6517
- it("unlinkDir records every tracked descendant across a 12-file breaker-sized subtree", async () => {
6534
+ // Replaces #227's "unlinkDir records every tracked descendant across a
6535
+ // 12-file breaker-sized subtree", which asserted that one directory event
6536
+ // may mint an intent for the entire shard and wipe it remotely. That is the
6537
+ // shape of the 2026-07-30 incident (1,108 files in one push), and the test
6538
+ // name conceded it was breaker-sized. Quarantining is now the contract; the
6539
+ // three tests below cover the refusal, the operator escape hatch, and the
6540
+ // ordinary folder removal that must keep working.
6541
+ it("unlinkDir covering the whole shard is quarantined: no intents, nothing deleted", async () => {
6518
6542
  const keys = Array.from({ length: 12 }, (_, i) => `knowledge/moved/f-${i}.md`);
6519
6543
  const h = startDeleteHarness(keys);
6520
6544
  await settle();
6521
6545
  const subtree = path.join(h.companyRoot, "knowledge/moved");
6522
6546
  const snapshots = h.capture()("companies/indigo/knowledge/moved", "unlinkDir");
6523
- expect(snapshots).toHaveLength(12);
6547
+ expect(snapshots).toHaveLength(0);
6548
+ expect(Object.values(readJournal("indigo").files).filter((entry) => entry.localDeleteIntent)).toHaveLength(0);
6549
+ fs.rmSync(subtree, { recursive: true, force: true });
6550
+ h.watcher.emit("companies/indigo/knowledge/moved", {
6551
+ paths: new Map([[subtree, "companies/indigo/knowledge/moved"]]),
6552
+ changes: new Map([
6553
+ [subtree, { kind: "unlinkDir", deleteSnapshots: snapshots }],
6554
+ ]),
6555
+ });
6556
+ h.tick();
6557
+ await settle();
6558
+ expect(h.remote.size).toBe(12);
6559
+ expect(Object.keys(readJournal("indigo").files)).toHaveLength(12);
6560
+ await stopHarness(h);
6561
+ });
6562
+ it("HQ_SYNC_DELETE_BULK_OVERRIDE=1 lets a whole-shard unlinkDir propagate", async () => {
6563
+ process.env.HQ_SYNC_DELETE_BULK_OVERRIDE = "1";
6564
+ try {
6565
+ const keys = Array.from({ length: 12 }, (_, i) => `knowledge/moved/f-${i}.md`);
6566
+ const h = startDeleteHarness(keys);
6567
+ await settle();
6568
+ const subtree = path.join(h.companyRoot, "knowledge/moved");
6569
+ const snapshots = h.capture()("companies/indigo/knowledge/moved", "unlinkDir");
6570
+ expect(snapshots).toHaveLength(12);
6571
+ fs.rmSync(subtree, { recursive: true, force: true });
6572
+ h.watcher.emit("companies/indigo/knowledge/moved", {
6573
+ paths: new Map([[subtree, "companies/indigo/knowledge/moved"]]),
6574
+ changes: new Map([
6575
+ [subtree, { kind: "unlinkDir", deleteSnapshots: snapshots }],
6576
+ ]),
6577
+ });
6578
+ h.tick();
6579
+ await settle();
6580
+ expect(h.remote.size).toBe(0);
6581
+ expect(Object.keys(readJournal("indigo").files)).toHaveLength(0);
6582
+ await stopHarness(h);
6583
+ }
6584
+ finally {
6585
+ delete process.env.HQ_SYNC_DELETE_BULK_OVERRIDE;
6586
+ }
6587
+ });
6588
+ // The quarantine must not touch ordinary folder cleanup — that is the
6589
+ // delete-resurrection bug #227 was written to fix, and it stays fixed.
6590
+ it("an ordinary folder removal (10 of 120 entries) still records intents and propagates", async () => {
6591
+ const removed = Array.from({ length: 10 }, (_, i) => `knowledge/moved/f-${i}.md`);
6592
+ const kept = Array.from({ length: 110 }, (_, i) => `knowledge/keep/k-${i}.md`);
6593
+ const h = startDeleteHarness([...removed, ...kept]);
6594
+ await settle();
6595
+ const subtree = path.join(h.companyRoot, "knowledge/moved");
6596
+ const snapshots = h.capture()("companies/indigo/knowledge/moved", "unlinkDir");
6597
+ expect(snapshots).toHaveLength(10);
6524
6598
  fs.rmSync(subtree, { recursive: true, force: true });
6525
6599
  h.watcher.emit("companies/indigo/knowledge/moved", {
6526
6600
  paths: new Map([[subtree, "companies/indigo/knowledge/moved"]]),
@@ -6530,8 +6604,9 @@ describe("watcher delete intents without pre-seeded authorization", () => {
6530
6604
  });
6531
6605
  h.tick();
6532
6606
  await settle();
6533
- expect(h.remote.size).toBe(0);
6534
- expect(Object.keys(readJournal("indigo").files)).toHaveLength(0);
6607
+ for (const key of removed)
6608
+ expect(h.remote.has(key)).toBe(false);
6609
+ expect(h.remote.size).toBe(110);
6535
6610
  await stopHarness(h);
6536
6611
  });
6537
6612
  it("concurrent recreation before delete execution invalidates the observation and preserves remote", async () => {