@indigoai-us/hq-cloud 6.0.0 → 6.0.2
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/dist/cli/share.d.ts +54 -0
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +117 -3
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/share.test.js +174 -13
- package/dist/cli/share.test.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/share.test.ts +222 -14
- package/src/cli/share.ts +124 -3
package/dist/cli/share.d.ts
CHANGED
|
@@ -61,6 +61,60 @@ export declare const EPHEMERAL_PATH_PATTERN: RegExp;
|
|
|
61
61
|
* matches anywhere in the string, which is fine: the
|
|
62
62
|
* `.conflict-<ISO>-<hash>.` token is unambiguous.
|
|
63
63
|
*/
|
|
64
|
+
/**
|
|
65
|
+
* Rescue-overlay drift marker pattern. Written by `replace-rescue.sh`
|
|
66
|
+
* (`rescue_one` / `conflict_one`) when its rescue target already exists:
|
|
67
|
+
* `<orig>.drift-<unix-ts>-<pid>` — a collision suffix so the previous override
|
|
68
|
+
* is never silently overwritten. Distinct from `EPHEMERAL_PATH_PATTERN` —
|
|
69
|
+
* different producer (the rescue script vs the sync conflict-mirror path),
|
|
70
|
+
* different filename grammar (decimal timestamp + decimal pid vs ISO timestamp
|
|
71
|
+
* + hex machine hash). Like conflict mirrors, drift markers should never live
|
|
72
|
+
* in the vault; if a buggy past run uploaded one, the delete plan must be
|
|
73
|
+
* able to drain it regardless of where it sits.
|
|
74
|
+
*/
|
|
75
|
+
export declare const DRIFT_PATH_PATTERN: RegExp;
|
|
76
|
+
/**
|
|
77
|
+
* True iff the key is local-only ephemeral vault litter — a sync conflict
|
|
78
|
+
* mirror (`.conflict-<ISO>-<machine>[.ext]`) OR a rescue drift marker
|
|
79
|
+
* (`.drift-<unixts>-<pid>`).
|
|
80
|
+
*
|
|
81
|
+
* Used by `computeDeletePlan` to UNCONDITIONALLY drain existing vault litter,
|
|
82
|
+
* bypassing every "skip" gate that would otherwise trap it:
|
|
83
|
+
*
|
|
84
|
+
* 1. `shouldSync` — the personal-vault default exclusions (introduced in
|
|
85
|
+
* 5.25) reject paths like `**.obsidian/**`, `**.env`, `**output/**`,
|
|
86
|
+
* `**node_modules/**`, etc. from BOTH the upload walk AND the delete
|
|
87
|
+
* plan. That's correct for fresh content (don't upload), but it also
|
|
88
|
+
* strands any litter already in the vault at those paths — `<orig>.drift`
|
|
89
|
+
* / `<orig>.conflict` files inside an excluded parent get re-pulled
|
|
90
|
+
* every sync and never tombstoned. The live obsidian case here:
|
|
91
|
+
* `personal/.obsidian/graph.json.drift-1779863862-42519` survived every
|
|
92
|
+
* sync for two weeks because `.obsidian` is excluded.
|
|
93
|
+
* 2. `isEphemeralPath` — the existing skip in `computeDeletePlan` was
|
|
94
|
+
* designed to prevent a FRESH local `.conflict-*` mirror (written by the
|
|
95
|
+
* pull leg's "keep" branch as a side-by-side comparison file) from being
|
|
96
|
+
* miscounted as a delete candidate before the user has resolved the
|
|
97
|
+
* conflict. That intent stands, but it accidentally protects EXISTING
|
|
98
|
+
* cloud litter too. The fix: when the local file is already gone AND the
|
|
99
|
+
* key matches the litter pattern, drain it; the "fresh mirror, hasn't
|
|
100
|
+
* been resolved yet" case is impossible because that mirror would still
|
|
101
|
+
* be on disk.
|
|
102
|
+
* 3. The policy gate — `owned-only`'s direction filter and
|
|
103
|
+
* `currency-gated`'s etag check both encode user-content invariants
|
|
104
|
+
* that don't apply to litter (a `.drift-…-PID` file has no meaningful
|
|
105
|
+
* "ownership" or "freshness"; it's a stale local-overlay collision
|
|
106
|
+
* marker, by construction).
|
|
107
|
+
* 4. The bulk-asymmetry circuit breaker — litter cleanup is intentional
|
|
108
|
+
* ratchet-drain, not a "corrupt local mirror, refuse mass-delete"
|
|
109
|
+
* signal. Litter is queued via a separate bucket the breaker never
|
|
110
|
+
* sweeps.
|
|
111
|
+
*
|
|
112
|
+
* Together: a vault key matching either pattern always tombstones on the
|
|
113
|
+
* next push leg, regardless of personal-vault exclusions, ephemeral skip,
|
|
114
|
+
* policy, or breaker. Producer-side exclusions (upload walker + rescue
|
|
115
|
+
* script) close the ratchet on new litter; this drains the legacy buildup.
|
|
116
|
+
*/
|
|
117
|
+
export declare function isVaultLitterArtifact(p: string): boolean;
|
|
64
118
|
export declare function isEphemeralPath(p: string): boolean;
|
|
65
119
|
/**
|
|
66
120
|
* Test-only export. Kept under a `_testing` namespace so the module's public
|
package/dist/cli/share.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/cli/share.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAe,MAAM,aAAa,CAAC;AAalF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAgB7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,sBAAsB,QACmD,CAAC;AAEvF;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;;;CAGpB,CAAC;AAmLF,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,qBAAqB,CAAC,EAAE,gBAAgB,GAAG,YAAY,GAAG,KAAK,CAAC;IAChE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;;;;OASG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;;;;OAQG;IACH,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC;;;;;;;OAOG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/cli/share.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAe,MAAM,aAAa,CAAC;AAalF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAgB7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,sBAAsB,QACmD,CAAC;AAEvF;;;;;;;;;GASG;AACH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,QAAqB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;;;CAGpB,CAAC;AAmLF,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7C;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;;;;;;;;;;OAgBG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,qBAAqB,CAAC,EAAE,gBAAgB,GAAG,YAAY,GAAG,KAAK,CAAC;IAChE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;;;;OASG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;;;;;;;OAQG;IACH,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC;;;;;;;OAOG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA4tBvE"}
|
package/dist/cli/share.js
CHANGED
|
@@ -68,6 +68,62 @@ export const EPHEMERAL_PATH_PATTERN = /\.conflict-\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-
|
|
|
68
68
|
* matches anywhere in the string, which is fine: the
|
|
69
69
|
* `.conflict-<ISO>-<hash>.` token is unambiguous.
|
|
70
70
|
*/
|
|
71
|
+
/**
|
|
72
|
+
* Rescue-overlay drift marker pattern. Written by `replace-rescue.sh`
|
|
73
|
+
* (`rescue_one` / `conflict_one`) when its rescue target already exists:
|
|
74
|
+
* `<orig>.drift-<unix-ts>-<pid>` — a collision suffix so the previous override
|
|
75
|
+
* is never silently overwritten. Distinct from `EPHEMERAL_PATH_PATTERN` —
|
|
76
|
+
* different producer (the rescue script vs the sync conflict-mirror path),
|
|
77
|
+
* different filename grammar (decimal timestamp + decimal pid vs ISO timestamp
|
|
78
|
+
* + hex machine hash). Like conflict mirrors, drift markers should never live
|
|
79
|
+
* in the vault; if a buggy past run uploaded one, the delete plan must be
|
|
80
|
+
* able to drain it regardless of where it sits.
|
|
81
|
+
*/
|
|
82
|
+
export const DRIFT_PATH_PATTERN = /\.drift-\d+-\d+$/;
|
|
83
|
+
/**
|
|
84
|
+
* True iff the key is local-only ephemeral vault litter — a sync conflict
|
|
85
|
+
* mirror (`.conflict-<ISO>-<machine>[.ext]`) OR a rescue drift marker
|
|
86
|
+
* (`.drift-<unixts>-<pid>`).
|
|
87
|
+
*
|
|
88
|
+
* Used by `computeDeletePlan` to UNCONDITIONALLY drain existing vault litter,
|
|
89
|
+
* bypassing every "skip" gate that would otherwise trap it:
|
|
90
|
+
*
|
|
91
|
+
* 1. `shouldSync` — the personal-vault default exclusions (introduced in
|
|
92
|
+
* 5.25) reject paths like `**.obsidian/**`, `**.env`, `**output/**`,
|
|
93
|
+
* `**node_modules/**`, etc. from BOTH the upload walk AND the delete
|
|
94
|
+
* plan. That's correct for fresh content (don't upload), but it also
|
|
95
|
+
* strands any litter already in the vault at those paths — `<orig>.drift`
|
|
96
|
+
* / `<orig>.conflict` files inside an excluded parent get re-pulled
|
|
97
|
+
* every sync and never tombstoned. The live obsidian case here:
|
|
98
|
+
* `personal/.obsidian/graph.json.drift-1779863862-42519` survived every
|
|
99
|
+
* sync for two weeks because `.obsidian` is excluded.
|
|
100
|
+
* 2. `isEphemeralPath` — the existing skip in `computeDeletePlan` was
|
|
101
|
+
* designed to prevent a FRESH local `.conflict-*` mirror (written by the
|
|
102
|
+
* pull leg's "keep" branch as a side-by-side comparison file) from being
|
|
103
|
+
* miscounted as a delete candidate before the user has resolved the
|
|
104
|
+
* conflict. That intent stands, but it accidentally protects EXISTING
|
|
105
|
+
* cloud litter too. The fix: when the local file is already gone AND the
|
|
106
|
+
* key matches the litter pattern, drain it; the "fresh mirror, hasn't
|
|
107
|
+
* been resolved yet" case is impossible because that mirror would still
|
|
108
|
+
* be on disk.
|
|
109
|
+
* 3. The policy gate — `owned-only`'s direction filter and
|
|
110
|
+
* `currency-gated`'s etag check both encode user-content invariants
|
|
111
|
+
* that don't apply to litter (a `.drift-…-PID` file has no meaningful
|
|
112
|
+
* "ownership" or "freshness"; it's a stale local-overlay collision
|
|
113
|
+
* marker, by construction).
|
|
114
|
+
* 4. The bulk-asymmetry circuit breaker — litter cleanup is intentional
|
|
115
|
+
* ratchet-drain, not a "corrupt local mirror, refuse mass-delete"
|
|
116
|
+
* signal. Litter is queued via a separate bucket the breaker never
|
|
117
|
+
* sweeps.
|
|
118
|
+
*
|
|
119
|
+
* Together: a vault key matching either pattern always tombstones on the
|
|
120
|
+
* next push leg, regardless of personal-vault exclusions, ephemeral skip,
|
|
121
|
+
* policy, or breaker. Producer-side exclusions (upload walker + rescue
|
|
122
|
+
* script) close the ratchet on new litter; this drains the legacy buildup.
|
|
123
|
+
*/
|
|
124
|
+
export function isVaultLitterArtifact(p) {
|
|
125
|
+
return EPHEMERAL_PATH_PATTERN.test(p) || DRIFT_PATH_PATTERN.test(p);
|
|
126
|
+
}
|
|
71
127
|
export function isEphemeralPath(p) {
|
|
72
128
|
return EPHEMERAL_PATH_PATTERN.test(p);
|
|
73
129
|
}
|
|
@@ -209,7 +265,7 @@ export async function share(options) {
|
|
|
209
265
|
// `propagateDeletePolicy: "currency-gated"` (explicit) or
|
|
210
266
|
// `HQ_SYNC_DELETE_POLICY=currency-gated` (env, honored by sync-runner).
|
|
211
267
|
// The default flip to `"currency-gated"` is scheduled for 5.25.0.
|
|
212
|
-
|
|
268
|
+
let propagateDeletePolicy = options.propagateDeletePolicy ?? "owned-only";
|
|
213
269
|
const emit = options.onEvent ?? defaultConsoleLogger;
|
|
214
270
|
// Exactly-one-of contract: either we vend (vaultConfig) or the caller did
|
|
215
271
|
// (entityContext). Both supplied is ambiguous (which credentials win?), and
|
|
@@ -241,6 +297,26 @@ export async function share(options) {
|
|
|
241
297
|
let ctx = entityContext
|
|
242
298
|
? entityContext
|
|
243
299
|
: await resolveEntityContext(companyRef, vaultConfig);
|
|
300
|
+
// Personal-vault policy correction (6.0.1). The `owned-only` rule encodes a
|
|
301
|
+
// multi-user curation premise — "don't tombstone peer-uploaded content even
|
|
302
|
+
// if my journal says I pulled it" — which is meaningful when several humans
|
|
303
|
+
// share a company bucket (a behind machine's first sync must not erase
|
|
304
|
+
// recent uploads from peers). On a personal vault that premise collapses:
|
|
305
|
+
// every file is the same human's content, just routed through different
|
|
306
|
+
// machines, and `direction: "down"` only means "uploaded from my laptop,
|
|
307
|
+
// pulled by my EC2" — it never means "uploaded by someone else." With
|
|
308
|
+
// `owned-only` in effect, `rm <file>` followed by `hq sync` silently fails
|
|
309
|
+
// to propagate the delete, leaving permanent vault litter (the May-27
|
|
310
|
+
// `personal/.obsidian/*.drift-*` files were diagnosed exactly this way).
|
|
311
|
+
// The etag-based `currency-gated` policy already captures the only safety
|
|
312
|
+
// intent that survives the single-user case ("don't tombstone if remote
|
|
313
|
+
// drifted since I last synced"); coerce to it here so the policy is right
|
|
314
|
+
// regardless of which caller's default landed. Explicit `"all"` is
|
|
315
|
+
// preserved — it's the emergency-reconcile opt-out and the caller has
|
|
316
|
+
// already asserted intent.
|
|
317
|
+
if (ctx.uid.startsWith("prs_") && propagateDeletePolicy === "owned-only") {
|
|
318
|
+
propagateDeletePolicy = "currency-gated";
|
|
319
|
+
}
|
|
244
320
|
// Remote keys are company-relative; the on-disk scoping prefix is
|
|
245
321
|
// companies/{slug}/. Anything outside this folder gets skipped to avoid
|
|
246
322
|
// leaking cross-company state into the vault.
|
|
@@ -1287,12 +1363,21 @@ async function computeDeletePlan(journal, syncRoot, scopeRoots, shouldSync, poli
|
|
|
1287
1363
|
if (scopeRoots.length === 0)
|
|
1288
1364
|
return plan;
|
|
1289
1365
|
const headCandidates = [];
|
|
1366
|
+
// Litter drain bucket — kept separate from `plan.toDelete` so the
|
|
1367
|
+
// bulk-asymmetry breaker (which moves toDelete + headCandidates into
|
|
1368
|
+
// `refusedStale` when it trips) can't sweep these out. See
|
|
1369
|
+
// `isVaultLitterArtifact` for the patterns and rationale: by construction
|
|
1370
|
+
// these aren't user content losses, so a high ratio of litter must not
|
|
1371
|
+
// refuse the drain — that's the whole point of the bypass. Merged into
|
|
1372
|
+
// `plan.toDelete` after the breaker check.
|
|
1373
|
+
const litterToDelete = [];
|
|
1290
1374
|
// Bulk-asymmetry tracking: count every in-scope journal entry (denominator)
|
|
1291
1375
|
// and every entry that would have been a delete-candidate before the guard
|
|
1292
1376
|
// (numerator). Numerator = headCandidates + owned-only/all toDelete picks +
|
|
1293
1377
|
// legacy-no-etag refusals. We do NOT count "ENOENT but ignore-filtered" or
|
|
1294
1378
|
// "ENOENT but ephemeral" — those drop out of the plan entirely on their own
|
|
1295
|
-
// and don't reflect mirror-loss intent
|
|
1379
|
+
// and don't reflect mirror-loss intent — and litter drains (see above),
|
|
1380
|
+
// which are intentional ratchet-cleanup, not mass-delete intent.
|
|
1296
1381
|
let inScopeJournalEntries = 0;
|
|
1297
1382
|
let bulkCandidatePicks = 0;
|
|
1298
1383
|
for (const [relativeKey, entry] of Object.entries(journal.files)) {
|
|
@@ -1320,10 +1405,27 @@ async function computeDeletePlan(journal, syncRoot, scopeRoots, shouldSync, poli
|
|
|
1320
1405
|
}
|
|
1321
1406
|
if (presentLocally)
|
|
1322
1407
|
continue;
|
|
1408
|
+
// Vault-litter drain (6.0.2): conflict mirrors + rescue drift markers
|
|
1409
|
+
// ALWAYS drain, bypassing `shouldSync` (which would skip them when the
|
|
1410
|
+
// parent path is in personal-vault default exclusions like
|
|
1411
|
+
// `.obsidian/**`), the `isEphemeralPath` skip (which protects FRESH
|
|
1412
|
+
// local conflict mirrors but accidentally also protects existing vault
|
|
1413
|
+
// litter), the policy gate (no meaningful ownership/freshness for
|
|
1414
|
+
// litter), and the bulk-asymmetry breaker (intentional ratchet-drain,
|
|
1415
|
+
// not corrupt-mirror mass-delete intent). See `isVaultLitterArtifact`
|
|
1416
|
+
// for the full rationale and patterns. Queued via the separate
|
|
1417
|
+
// `litterToDelete` bucket so the breaker can't sweep these out.
|
|
1418
|
+
if (isVaultLitterArtifact(relativeKey)) {
|
|
1419
|
+
litterToDelete.push(relativeKey);
|
|
1420
|
+
continue;
|
|
1421
|
+
}
|
|
1323
1422
|
if (!shouldSync(localPath, false) && !shouldSync(localPath, true))
|
|
1324
1423
|
continue;
|
|
1325
1424
|
// Ephemeral artifacts (conflict mirrors) never propagate-delete via the
|
|
1326
|
-
// normal path — see EPHEMERAL_PATH_PATTERN doc.
|
|
1425
|
+
// normal path — see EPHEMERAL_PATH_PATTERN doc. NOTE: this is a no-op
|
|
1426
|
+
// post-litter-drain above — any key matching EPHEMERAL_PATH_PATTERN was
|
|
1427
|
+
// already routed to `litterToDelete`. Retained as defense-in-depth +
|
|
1428
|
+
// documentation of the policy-side intent.
|
|
1327
1429
|
if (isEphemeralPath(relativeKey))
|
|
1328
1430
|
continue;
|
|
1329
1431
|
if (policy === "all") {
|
|
@@ -1393,6 +1495,12 @@ async function computeDeletePlan(journal, syncRoot, scopeRoots, shouldSync, poli
|
|
|
1393
1495
|
ratio: bulkCandidatePicks / inScopeJournalEntries,
|
|
1394
1496
|
samplePaths,
|
|
1395
1497
|
};
|
|
1498
|
+
// Litter still drains even when the breaker trips — see `litterToDelete`
|
|
1499
|
+
// declaration. The breaker protects against corrupt-mirror mass-deletes
|
|
1500
|
+
// of user content; litter cleanup is orthogonal and should never be
|
|
1501
|
+
// refused for the same reason new-litter producer-side exclusions
|
|
1502
|
+
// shouldn't block it.
|
|
1503
|
+
plan.toDelete.push(...litterToDelete);
|
|
1396
1504
|
return plan;
|
|
1397
1505
|
}
|
|
1398
1506
|
// Stage 2: bounded-parallel HEAD pass. Promise.all over chunks of size
|
|
@@ -1427,6 +1535,12 @@ async function computeDeletePlan(journal, syncRoot, scopeRoots, shouldSync, poli
|
|
|
1427
1535
|
}
|
|
1428
1536
|
}
|
|
1429
1537
|
}
|
|
1538
|
+
// Litter drains alongside the normal candidates — bypasses every gate but
|
|
1539
|
+
// settles into the same plan.toDelete bucket so the share() executor's
|
|
1540
|
+
// delete loop tombstones each key identically (DeleteObject + remove from
|
|
1541
|
+
// journal). Merged at the end so the bulk-asymmetry breaker above had its
|
|
1542
|
+
// chance to NOT include litter in either the numerator or the sweep.
|
|
1543
|
+
plan.toDelete.push(...litterToDelete);
|
|
1430
1544
|
return plan;
|
|
1431
1545
|
}
|
|
1432
1546
|
/**
|
package/dist/cli/share.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/cli/share.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/cli/share.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/share.test.js
CHANGED
|
@@ -898,6 +898,110 @@ describe("share", () => {
|
|
|
898
898
|
const journal = JSON.parse(fs.readFileSync(journalPath, "utf-8"));
|
|
899
899
|
expect(journal.files["dangling-link.md"]).toBeDefined();
|
|
900
900
|
});
|
|
901
|
+
it("personal-vault override: `owned-only` is coerced to `currency-gated` so a direction:'down' " +
|
|
902
|
+
"entry whose local file is gone DOES tombstone in the vault (the May-27 .drift-* leak class)", async () => {
|
|
903
|
+
// The personal vault is a single-human-many-machines target. The
|
|
904
|
+
// owned-only "I won't tombstone peer content" rule has no peer to
|
|
905
|
+
// protect against, so it traps legitimate local deletes as permanent
|
|
906
|
+
// vault litter — exactly what the May-27 `personal/.obsidian/*.drift-*`
|
|
907
|
+
// pair did on this EC2 (journal direction "down", local rm, push
|
|
908
|
+
// silently swallowed the delete). Coercing to currency-gated keeps the
|
|
909
|
+
// only safety intent that still applies (HEAD-verify etag matches the
|
|
910
|
+
// journal before tombstone) without the multi-user premise.
|
|
911
|
+
const stateDirPersonal = fs.mkdtempSync(path.join(os.tmpdir(), "hq-state-prs-"));
|
|
912
|
+
process.env.HQ_STATE_DIR = stateDirPersonal;
|
|
913
|
+
try {
|
|
914
|
+
// Personal-vault syncRoot is `hqRoot` itself in personalMode, so the
|
|
915
|
+
// missing file's absolute path resolves to <hqRoot>/<key>.
|
|
916
|
+
// No on-disk file = local missing. Journal records a prior pull.
|
|
917
|
+
const journalPath = path.join(stateDirPersonal, "sync-journal.__hq_personal_vault__.json");
|
|
918
|
+
fs.writeFileSync(journalPath, JSON.stringify({
|
|
919
|
+
version: "1",
|
|
920
|
+
lastSync: new Date().toISOString(),
|
|
921
|
+
files: {
|
|
922
|
+
"personal/scripts/run-project.sh.drift-1779863862-42519": {
|
|
923
|
+
hash: "personal-vault-drift-hash",
|
|
924
|
+
size: 1054,
|
|
925
|
+
syncedAt: new Date(Date.now() - 86400000).toISOString(),
|
|
926
|
+
direction: "down",
|
|
927
|
+
remoteEtag: "personal-vault-drift-etag",
|
|
928
|
+
},
|
|
929
|
+
},
|
|
930
|
+
}));
|
|
931
|
+
// (Pre-6.0.2: currency-gated would have HEADed the candidate; the
|
|
932
|
+
// mockResolvedValueOnce that lived here is now redundant because the
|
|
933
|
+
// vault-litter drain bypasses HEAD entirely for `.drift-` markers.
|
|
934
|
+
// Leaving the mock here would queue an unconsumed return value and
|
|
935
|
+
// poison the next test's HEAD call — removed so the assertion above
|
|
936
|
+
// verifies the litter path, not the etag path.)
|
|
937
|
+
const personalCtx = makeEntityContext({
|
|
938
|
+
uid: "prs_01HASSAANTESTUSER",
|
|
939
|
+
slug: "__hq_personal_vault__",
|
|
940
|
+
bucketName: "hq-vault-prs-01HASSAANTESTUSER",
|
|
941
|
+
});
|
|
942
|
+
const result = await share({
|
|
943
|
+
paths: [tmpDir],
|
|
944
|
+
entityContext: personalCtx,
|
|
945
|
+
hqRoot: tmpDir,
|
|
946
|
+
personalMode: true,
|
|
947
|
+
skipUnchanged: true,
|
|
948
|
+
propagateDeletes: true,
|
|
949
|
+
// Caller pinned owned-only. The override MUST take precedence on a
|
|
950
|
+
// personal-vault entity — the whole point of the fix is that owned-
|
|
951
|
+
// only's "don't tombstone peer-uploaded content" rule has no peer
|
|
952
|
+
// to protect against here, so we coerce to currency-gated.
|
|
953
|
+
propagateDeletePolicy: "owned-only",
|
|
954
|
+
});
|
|
955
|
+
expect(result.filesDeleted).toBe(1);
|
|
956
|
+
expect(deleteRemoteFile).toHaveBeenCalledWith(expect.anything(), "personal/scripts/run-project.sh.drift-1779863862-42519");
|
|
957
|
+
const journal = JSON.parse(fs.readFileSync(journalPath, "utf-8"));
|
|
958
|
+
expect(journal.files["personal/scripts/run-project.sh.drift-1779863862-42519"]).toBeUndefined();
|
|
959
|
+
}
|
|
960
|
+
finally {
|
|
961
|
+
fs.rmSync(stateDirPersonal, { recursive: true, force: true });
|
|
962
|
+
delete process.env.HQ_STATE_DIR;
|
|
963
|
+
}
|
|
964
|
+
});
|
|
965
|
+
it("personal-vault override does NOT apply to company vaults: `owned-only` on cmp_ entity still " +
|
|
966
|
+
"refuses to tombstone a direction:'down' entry (multi-user curation intact)", async () => {
|
|
967
|
+
// Sibling guard for the previous test: the override is scoped strictly
|
|
968
|
+
// to `prs_` entities. Company vaults preserve owned-only's multi-user
|
|
969
|
+
// semantics — a behind machine pulling Alice's upload, then rm'ing it
|
|
970
|
+
// locally, must NOT tombstone Alice's file. Without this guard the
|
|
971
|
+
// override could silently widen its blast radius the next time someone
|
|
972
|
+
// refactors share()'s entity-typing.
|
|
973
|
+
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
974
|
+
fs.mkdirSync(companyRoot, { recursive: true });
|
|
975
|
+
// No file on disk under companies/acme/peer-uploaded.md → local missing.
|
|
976
|
+
const journalPath = path.join(stateDir, "sync-journal.acme.json");
|
|
977
|
+
fs.writeFileSync(journalPath, JSON.stringify({
|
|
978
|
+
version: "1",
|
|
979
|
+
lastSync: new Date().toISOString(),
|
|
980
|
+
files: {
|
|
981
|
+
"peer-uploaded.md": {
|
|
982
|
+
hash: "alice-hash",
|
|
983
|
+
size: 100,
|
|
984
|
+
syncedAt: new Date(Date.now() - 86400000).toISOString(),
|
|
985
|
+
direction: "down",
|
|
986
|
+
remoteEtag: "alice-etag",
|
|
987
|
+
},
|
|
988
|
+
},
|
|
989
|
+
}));
|
|
990
|
+
const result = await share({
|
|
991
|
+
paths: [companyRoot],
|
|
992
|
+
company: "acme",
|
|
993
|
+
vaultConfig: mockConfig,
|
|
994
|
+
hqRoot: tmpDir,
|
|
995
|
+
skipUnchanged: true,
|
|
996
|
+
propagateDeletes: true,
|
|
997
|
+
// Company-vault entity (cmp_) → owned-only stays in effect.
|
|
998
|
+
propagateDeletePolicy: "owned-only",
|
|
999
|
+
});
|
|
1000
|
+
expect(result.filesDeleted).toBe(0);
|
|
1001
|
+
expect(deleteRemoteFile).not.toHaveBeenCalled();
|
|
1002
|
+
const journal = JSON.parse(fs.readFileSync(journalPath, "utf-8"));
|
|
1003
|
+
expect(journal.files["peer-uploaded.md"]).toBeDefined();
|
|
1004
|
+
});
|
|
901
1005
|
it("propagateDeletes: deletes journal-tracked files whose local copy is gone", async () => {
|
|
902
1006
|
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
903
1007
|
fs.mkdirSync(companyRoot, { recursive: true });
|
|
@@ -1509,14 +1613,22 @@ describe("share", () => {
|
|
|
1509
1613
|
// tooling that hands a conflict mirror to share() directly.
|
|
1510
1614
|
expect(uploadFile).not.toHaveBeenCalled();
|
|
1511
1615
|
});
|
|
1512
|
-
it("
|
|
1616
|
+
it("vault-litter drain (6.0.2): journaled `.conflict-*` mirror with local-missing IS swept by the delete plan", async () => {
|
|
1617
|
+
// Updated semantics (6.0.2): the existing-litter state — a conflict
|
|
1618
|
+
// mirror that leaked into the journal from a prior buggy upload and was
|
|
1619
|
+
// subsequently deleted locally — used to survive every sync because the
|
|
1620
|
+
// `isEphemeralPath` skip in computeDeletePlan was wired to drop it
|
|
1621
|
+
// before tombstoning. The deferred "dedicated reconcile command" the
|
|
1622
|
+
// doc-comment promised never materialized, and the litter accumulated
|
|
1623
|
+
// until users noticed it (e.g. the May-27 `personal/.obsidian/*.drift-*`
|
|
1624
|
+
// pair on the EC2 outpost). The fix: drain unconditionally via the
|
|
1625
|
+
// litter bucket — bypass shouldSync, ephemeral-skip, policy, and the
|
|
1626
|
+
// bulk-asymmetry breaker. By construction litter is not user content
|
|
1627
|
+
// (the EPHEMERAL_PATH_PATTERN / DRIFT_PATH_PATTERN regexes are precise
|
|
1628
|
+
// enough that a false-positive on a real user filename is vanishingly
|
|
1629
|
+
// unlikely), so the absence of those gates is the correct behavior.
|
|
1513
1630
|
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
1514
1631
|
fs.mkdirSync(companyRoot, { recursive: true });
|
|
1515
|
-
// Simulate the existing-litter state: a conflict mirror that leaked
|
|
1516
|
-
// into the journal in a prior buggy version. Locally missing (user
|
|
1517
|
-
// already deleted it). The regular delete plan must NOT issue a
|
|
1518
|
-
// DeleteObject — that's the dedicated reconcile command's job, and
|
|
1519
|
-
// a sync should not accidentally race a user reviewing the mirror.
|
|
1520
1632
|
const journalPath = path.join(stateDir, "sync-journal.acme.json");
|
|
1521
1633
|
fs.writeFileSync(journalPath, JSON.stringify({
|
|
1522
1634
|
version: "1",
|
|
@@ -1534,7 +1646,10 @@ describe("share", () => {
|
|
|
1534
1646
|
},
|
|
1535
1647
|
},
|
|
1536
1648
|
}));
|
|
1537
|
-
// HEAD needed for the non-mirror entry under currency-gated.
|
|
1649
|
+
// HEAD needed for the non-mirror entry under currency-gated. The litter
|
|
1650
|
+
// drain bypasses HEAD by design — the etag check encodes a "remote
|
|
1651
|
+
// hasn't drifted since I last synced" invariant that doesn't apply to
|
|
1652
|
+
// never-should-have-been-there litter.
|
|
1538
1653
|
vi.mocked(headRemoteFile).mockResolvedValue({
|
|
1539
1654
|
lastModified: new Date(),
|
|
1540
1655
|
etag: '"regular-etag"',
|
|
@@ -1548,14 +1663,60 @@ describe("share", () => {
|
|
|
1548
1663
|
skipUnchanged: true,
|
|
1549
1664
|
propagateDeletes: true,
|
|
1550
1665
|
});
|
|
1551
|
-
|
|
1552
|
-
expect(
|
|
1666
|
+
// BOTH the regular file AND the conflict mirror tombstone in one pass.
|
|
1667
|
+
expect(result.filesDeleted).toBe(2);
|
|
1668
|
+
expect(deleteRemoteFile).toHaveBeenCalledTimes(2);
|
|
1553
1669
|
expect(deleteRemoteFile).toHaveBeenCalledWith(expect.anything(), "regular.md");
|
|
1554
|
-
expect(deleteRemoteFile).
|
|
1555
|
-
//
|
|
1556
|
-
// sweeps it once the user explicitly opts in.
|
|
1670
|
+
expect(deleteRemoteFile).toHaveBeenCalledWith(expect.anything(), "CLAUDE.md.conflict-2026-05-13T19-40-40Z-e5797a.md");
|
|
1671
|
+
// Both journal entries are removed by the delete loop's removeEntry call.
|
|
1557
1672
|
const journal = JSON.parse(fs.readFileSync(journalPath, "utf-8"));
|
|
1558
|
-
expect(journal.files["CLAUDE.md.conflict-2026-05-13T19-40-40Z-e5797a.md"]).
|
|
1673
|
+
expect(journal.files["CLAUDE.md.conflict-2026-05-13T19-40-40Z-e5797a.md"]).toBeUndefined();
|
|
1674
|
+
expect(journal.files["regular.md"]).toBeUndefined();
|
|
1675
|
+
});
|
|
1676
|
+
it("vault-litter drain (6.0.2): `.drift-<unixts>-<pid>` rescue markers drain regardless of personal-vault exclusion path (the live obsidian case)", async () => {
|
|
1677
|
+
// The exact failure mode that motivated the fix: a rescue-overlay
|
|
1678
|
+
// `.drift-` marker sitting under a personal-vault default exclusion
|
|
1679
|
+
// (`.obsidian/**`) survives every sync because `shouldSync` rejects
|
|
1680
|
+
// the parent path before the delete plan ever considers the entry.
|
|
1681
|
+
// The litter bypass routes such keys around shouldSync directly into
|
|
1682
|
+
// `litterToDelete`.
|
|
1683
|
+
const stateDirPersonal = fs.mkdtempSync(path.join(os.tmpdir(), "hq-state-prs-drift-"));
|
|
1684
|
+
process.env.HQ_STATE_DIR = stateDirPersonal;
|
|
1685
|
+
try {
|
|
1686
|
+
const journalPath = path.join(stateDirPersonal, "sync-journal.__hq_personal_vault__.json");
|
|
1687
|
+
fs.writeFileSync(journalPath, JSON.stringify({
|
|
1688
|
+
version: "1",
|
|
1689
|
+
lastSync: new Date().toISOString(),
|
|
1690
|
+
files: {
|
|
1691
|
+
"personal/.obsidian/graph.json.drift-1779863862-42519": {
|
|
1692
|
+
hash: "h", size: 1054, syncedAt: new Date().toISOString(),
|
|
1693
|
+
direction: "down",
|
|
1694
|
+
remoteEtag: "obsidian-drift-etag",
|
|
1695
|
+
},
|
|
1696
|
+
},
|
|
1697
|
+
}));
|
|
1698
|
+
const personalCtx = makeEntityContext({
|
|
1699
|
+
uid: "prs_01HASSAANTESTUSER",
|
|
1700
|
+
slug: "__hq_personal_vault__",
|
|
1701
|
+
bucketName: "hq-vault-prs-01HASSAANTESTUSER",
|
|
1702
|
+
});
|
|
1703
|
+
const result = await share({
|
|
1704
|
+
paths: [tmpDir],
|
|
1705
|
+
entityContext: personalCtx,
|
|
1706
|
+
hqRoot: tmpDir,
|
|
1707
|
+
personalMode: true,
|
|
1708
|
+
skipUnchanged: true,
|
|
1709
|
+
propagateDeletes: true,
|
|
1710
|
+
});
|
|
1711
|
+
expect(result.filesDeleted).toBe(1);
|
|
1712
|
+
expect(deleteRemoteFile).toHaveBeenCalledWith(expect.anything(), "personal/.obsidian/graph.json.drift-1779863862-42519");
|
|
1713
|
+
const journal = JSON.parse(fs.readFileSync(journalPath, "utf-8"));
|
|
1714
|
+
expect(journal.files["personal/.obsidian/graph.json.drift-1779863862-42519"]).toBeUndefined();
|
|
1715
|
+
}
|
|
1716
|
+
finally {
|
|
1717
|
+
fs.rmSync(stateDirPersonal, { recursive: true, force: true });
|
|
1718
|
+
delete process.env.HQ_STATE_DIR;
|
|
1719
|
+
}
|
|
1559
1720
|
});
|
|
1560
1721
|
// ── personalMode ───────────────────────────────────────────────────────────
|
|
1561
1722
|
//
|