@indigoai-us/hq-cloud 6.18.14 → 6.18.16-alpha.0

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 (42) hide show
  1. package/dist/bin/sync-runner-watch-loop.d.ts +1 -1
  2. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  3. package/dist/bin/sync-runner-watch-loop.js +25 -10
  4. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  5. package/dist/bin/sync-runner-watch-loop.test.js +199 -2
  6. package/dist/bin/sync-runner-watch-loop.test.js.map +1 -1
  7. package/dist/bin/sync-runner.d.ts +12 -1
  8. package/dist/bin/sync-runner.d.ts.map +1 -1
  9. package/dist/bin/sync-runner.js +32 -14
  10. package/dist/bin/sync-runner.js.map +1 -1
  11. package/dist/bin/sync-runner.test.js +4 -4
  12. package/dist/bin/sync-runner.test.js.map +1 -1
  13. package/dist/cli/case-alias.d.ts +37 -0
  14. package/dist/cli/case-alias.d.ts.map +1 -0
  15. package/dist/cli/case-alias.js +140 -0
  16. package/dist/cli/case-alias.js.map +1 -0
  17. package/dist/cli/case-alias.test.d.ts +2 -0
  18. package/dist/cli/case-alias.test.d.ts.map +1 -0
  19. package/dist/cli/case-alias.test.js +96 -0
  20. package/dist/cli/case-alias.test.js.map +1 -0
  21. package/dist/cli/rescue-classify-ordering.test.js +16 -10
  22. package/dist/cli/rescue-classify-ordering.test.js.map +1 -1
  23. package/dist/cli/rescue-core.d.ts.map +1 -1
  24. package/dist/cli/rescue-core.js +39 -5
  25. package/dist/cli/rescue-core.js.map +1 -1
  26. package/dist/cli/rescue-unchanged-delete.test.d.ts +2 -0
  27. package/dist/cli/rescue-unchanged-delete.test.d.ts.map +1 -0
  28. package/dist/cli/rescue-unchanged-delete.test.js +291 -0
  29. package/dist/cli/rescue-unchanged-delete.test.js.map +1 -0
  30. package/dist/cli/sync.d.ts +17 -1
  31. package/dist/cli/sync.d.ts.map +1 -1
  32. package/dist/cli/sync.js +56 -4
  33. package/dist/cli/sync.js.map +1 -1
  34. package/dist/cli/sync.test.js +144 -0
  35. package/dist/cli/sync.test.js.map +1 -1
  36. package/dist/qmd-reindex.d.ts +30 -10
  37. package/dist/qmd-reindex.d.ts.map +1 -1
  38. package/dist/qmd-reindex.js +148 -41
  39. package/dist/qmd-reindex.js.map +1 -1
  40. package/dist/qmd-reindex.test.js +191 -78
  41. package/dist/qmd-reindex.test.js.map +1 -1
  42. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rescue-unchanged-delete.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rescue-unchanged-delete.test.d.ts","sourceRoot":"","sources":["../../src/cli/rescue-unchanged-delete.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,291 @@
1
+ /** Regression coverage for unchanged files whose upstream bytes or presence changed. */
2
+ import { describe, expect, it } from "vitest";
3
+ import { execFileSync } from "child_process";
4
+ import * as fs from "fs";
5
+ import * as os from "os";
6
+ import * as path from "path";
7
+ import { runRescue } from "./rescue-core.js";
8
+ const toolsAvailable = (() => {
9
+ try {
10
+ execFileSync("git", ["--version"], { stdio: "ignore" });
11
+ execFileSync("rsync", ["--version"], { stdio: "ignore" });
12
+ return true;
13
+ }
14
+ catch {
15
+ return false;
16
+ }
17
+ })();
18
+ function runRescueCapture(argv, env) {
19
+ let stdout = "";
20
+ let stderr = "";
21
+ const origOut = process.stdout.write.bind(process.stdout);
22
+ const origErr = process.stderr.write.bind(process.stderr);
23
+ process.stdout.write = ((chunk) => {
24
+ stdout += String(chunk);
25
+ return true;
26
+ });
27
+ process.stderr.write = ((chunk) => {
28
+ stderr += String(chunk);
29
+ return true;
30
+ });
31
+ let status;
32
+ let threw;
33
+ try {
34
+ status = runRescue(argv, { env }).status;
35
+ }
36
+ catch (error) {
37
+ threw = error;
38
+ }
39
+ finally {
40
+ process.stdout.write = origOut;
41
+ process.stderr.write = origErr;
42
+ }
43
+ return { status, stdout, stderr, threw };
44
+ }
45
+ function makeFixture() {
46
+ const workDir = fs.mkdtempSync(path.join(os.tmpdir(), "hq-rescue-unchanged-delete-"));
47
+ const upstream = path.join(workDir, "upstream");
48
+ const hqRoot = path.join(workDir, "hq");
49
+ const backupRoot = path.join(workDir, "backups");
50
+ const templateDir = path.join(workDir, "git-template");
51
+ const emptyGitConfig = path.join(workDir, "empty.gitconfig");
52
+ fs.mkdirSync(path.join(upstream, ".codex"), { recursive: true });
53
+ fs.mkdirSync(path.join(upstream, "core"), { recursive: true });
54
+ fs.mkdirSync(templateDir, { recursive: true });
55
+ fs.writeFileSync(emptyGitConfig, "");
56
+ const gitEnv = {
57
+ ...process.env,
58
+ GIT_CONFIG_NOSYSTEM: "1",
59
+ GIT_CONFIG_GLOBAL: emptyGitConfig,
60
+ GIT_CONFIG_COUNT: "1",
61
+ GIT_CONFIG_KEY_0: "commit.gpgsign",
62
+ GIT_CONFIG_VALUE_0: "false",
63
+ GIT_TEMPLATE_DIR: templateDir,
64
+ GIT_AUTHOR_NAME: "rescue-test",
65
+ GIT_AUTHOR_EMAIL: "rescue-test@example.invalid",
66
+ GIT_COMMITTER_NAME: "rescue-test",
67
+ GIT_COMMITTER_EMAIL: "rescue-test@example.invalid",
68
+ GIT_AUTHOR_DATE: "2020-01-01T00:00:00Z",
69
+ GIT_COMMITTER_DATE: "2020-01-01T00:00:00Z",
70
+ };
71
+ const git = (cwd, ...args) => execFileSync("git", args, {
72
+ cwd,
73
+ env: gitEnv,
74
+ stdio: ["ignore", "pipe", "pipe"],
75
+ })
76
+ .toString()
77
+ .trim();
78
+ git(workDir, "init", "-b", "main", upstream);
79
+ fs.writeFileSync(path.join(upstream, ".codex/release.md"), "old value\n");
80
+ fs.writeFileSync(path.join(upstream, "core/removed.md"), "removed at head\n");
81
+ git(upstream, "add", "-A");
82
+ git(upstream, "commit", "-m", "floor");
83
+ const floorSha = git(upstream, "rev-parse", "HEAD");
84
+ fs.writeFileSync(path.join(upstream, ".codex/release.md"), "new value\n");
85
+ fs.rmSync(path.join(upstream, "core/removed.md"));
86
+ git(upstream, "add", "-A");
87
+ git(upstream, "commit", "-m", "head");
88
+ fs.mkdirSync(path.join(hqRoot, ".codex"), { recursive: true });
89
+ fs.mkdirSync(path.join(hqRoot, "core"), { recursive: true });
90
+ fs.mkdirSync(path.join(hqRoot, "personal"), { recursive: true });
91
+ fs.mkdirSync(path.join(hqRoot, "companies"), { recursive: true });
92
+ const changedPath = path.join(hqRoot, ".codex/release.md");
93
+ const removedPath = path.join(hqRoot, "core/removed.md");
94
+ fs.writeFileSync(changedPath, "old value\n");
95
+ const upstreamMtime = new Date("2020-01-01T00:00:00Z");
96
+ fs.utimesSync(changedPath, upstreamMtime, upstreamMtime);
97
+ fs.writeFileSync(removedPath, "removed at head\n");
98
+ const realGit = execFileSync("bash", ["-c", "command -v git"], {
99
+ encoding: "utf-8",
100
+ }).trim();
101
+ const realRsync = execFileSync("bash", ["-c", "command -v rsync"], {
102
+ encoding: "utf-8",
103
+ }).trim();
104
+ const shimDir = path.join(workDir, "shim");
105
+ fs.mkdirSync(shimDir, { recursive: true });
106
+ const changedObservation = path.join(workDir, "changed-at-overlay.txt");
107
+ const removedObservation = path.join(workDir, "removed-at-overlay.txt");
108
+ const sourceAndLocalBeforeApply = path.join(workDir, "mtime-before-apply.txt");
109
+ const sourceAndLocalBeforeOverlay = path.join(workDir, "mtime-before-overlay.txt");
110
+ const preflightMarker = path.join(workDir, "overlay-preflight-observed");
111
+ const observedMarker = path.join(workDir, "overlay-observed");
112
+ const gitShim = `#!/usr/bin/env bash
113
+ if [ "$1" = "clone" ] || [ "$1" = "ls-remote" ]; then
114
+ args=()
115
+ for a in "$@"; do
116
+ case "$a" in
117
+ https://github.com/*) a=${JSON.stringify(upstream)} ;;
118
+ esac
119
+ args+=("$a")
120
+ done
121
+ if [ "$1" = "clone" ]; then
122
+ ${JSON.stringify(realGit)} "\${args[@]}"
123
+ status=$?
124
+ exit "$status"
125
+ fi
126
+ exec ${JSON.stringify(realGit)} "\${args[@]}"
127
+ fi
128
+ exec ${JSON.stringify(realGit)} "$@"
129
+ `;
130
+ const rsyncShim = `#!/usr/bin/env bash
131
+ set -eu
132
+ dry_run=0
133
+ for arg in "$@"; do
134
+ if [ "$arg" = "--dry-run" ]; then dry_run=1; fi
135
+ done
136
+ args=("$@")
137
+ last_arg="\${args[\${#args[@]}-1]}"
138
+ if [ "$last_arg" = ${JSON.stringify(`${hqRoot}/`)} ]; then
139
+ source_arg="\${args[\${#args[@]}-2]}"
140
+ source_root="\${source_arg%/}"
141
+ source_file="$source_root/.codex/release.md"
142
+ if [ "$dry_run" = "1" ] && [ ! -e ${JSON.stringify(preflightMarker)} ]; then
143
+ printf '%s %s %s %s\\n' \\
144
+ "$(stat -c '%Y' "$source_file")" \\
145
+ "$(stat -c '%Y' ${JSON.stringify(changedPath)})" \\
146
+ "$(stat -c '%s' "$source_file")" \\
147
+ "$(stat -c '%s' ${JSON.stringify(changedPath)})" > ${JSON.stringify(sourceAndLocalBeforeApply)}
148
+ : > ${JSON.stringify(preflightMarker)}
149
+ fi
150
+ fi
151
+ if [ "$dry_run" = "0" ] && [ "$last_arg" = ${JSON.stringify(`${hqRoot}/`)} ] && [ ! -e ${JSON.stringify(observedMarker)} ]; then
152
+ source_arg="\${args[\${#args[@]}-2]}"
153
+ source_root="\${source_arg%/}"
154
+ source_file="$source_root/.codex/release.md"
155
+ printf '%s %s\\n' \\
156
+ "$(stat -c '%Y' "$source_file")" \\
157
+ "$(stat -c '%Y' ${JSON.stringify(changedPath)})" > ${JSON.stringify(sourceAndLocalBeforeOverlay)}
158
+ if [ -e ${JSON.stringify(changedPath)} ]; then
159
+ printf 'present\\n' > ${JSON.stringify(changedObservation)}
160
+ cat ${JSON.stringify(changedPath)} >> ${JSON.stringify(changedObservation)}
161
+ else
162
+ printf 'absent\\n' > ${JSON.stringify(changedObservation)}
163
+ fi
164
+ if [ -e ${JSON.stringify(removedPath)} ]; then
165
+ printf 'present\\n' > ${JSON.stringify(removedObservation)}
166
+ cat ${JSON.stringify(removedPath)} >> ${JSON.stringify(removedObservation)}
167
+ else
168
+ printf 'absent\\n' > ${JSON.stringify(removedObservation)}
169
+ fi
170
+ : > ${JSON.stringify(observedMarker)}
171
+ fi
172
+ exec ${JSON.stringify(realRsync)} "$@"
173
+ `;
174
+ fs.writeFileSync(path.join(shimDir, "git"), gitShim, { mode: 0o755 });
175
+ fs.writeFileSync(path.join(shimDir, "rsync"), rsyncShim, { mode: 0o755 });
176
+ const env = {
177
+ ...gitEnv,
178
+ HQ_RESCUE_NO_BACKUP: "0",
179
+ PATH: `${shimDir}${path.delimiter}${process.env.PATH ?? ""}`,
180
+ };
181
+ const args = (dryRun, withBackup = false) => [
182
+ "--hq-root", hqRoot,
183
+ "--source", "test/repo",
184
+ "--ref", "main",
185
+ "--floor-sha", floorSha,
186
+ ...(dryRun ? ["--dry-run"] : []),
187
+ "--yes",
188
+ ...(withBackup ? ["--backup-dir", backupRoot] : ["--no-backup"]),
189
+ ];
190
+ return {
191
+ workDir,
192
+ hqRoot,
193
+ backupRoot,
194
+ changedPath,
195
+ removedPath,
196
+ changedObservation,
197
+ removedObservation,
198
+ sourceAndLocalBeforeApply,
199
+ sourceAndLocalBeforeOverlay,
200
+ env,
201
+ args,
202
+ };
203
+ }
204
+ describe("rescue unchanged-delete overlay handling", () => {
205
+ it("reports the overlay replacement and true upstream removal in dry-run", () => {
206
+ expect(toolsAvailable, "the integration fixture requires git and rsync").toBe(true);
207
+ const fixture = makeFixture();
208
+ try {
209
+ const result = runRescueCapture(fixture.args(true), fixture.env);
210
+ const output = `${result.stdout}\n${result.stderr}`;
211
+ expect(result.status, output).toBe(0);
212
+ expect(output).toContain("unchanged (replace by overlay): .codex/release.md");
213
+ expect(output).toContain("unchanged (delete; absent upstream): core/removed.md");
214
+ expect(output).toContain("unchanged (preserved/re-laid): 2 files");
215
+ expect(output).not.toContain("unchanged (delete + replace)");
216
+ }
217
+ finally {
218
+ fs.rmSync(fixture.workDir, { recursive: true, force: true });
219
+ }
220
+ });
221
+ it("keeps changed upstream bytes present until overlay and deletes only upstream removals", () => {
222
+ expect(toolsAvailable, "the integration fixture requires git and rsync").toBe(true);
223
+ const fixture = makeFixture();
224
+ try {
225
+ const result = runRescueCapture(fixture.args(false), fixture.env);
226
+ const output = `${result.stdout}\n${result.stderr}`;
227
+ expect(result.status, output).toBe(0);
228
+ const [sourceMtime, localMtime, sourceSize, localSize] = fs
229
+ .readFileSync(fixture.sourceAndLocalBeforeApply, "utf-8")
230
+ .trim()
231
+ .split(" ");
232
+ expect(sourceMtime).toBe("1577836800");
233
+ expect(localMtime).toBe(sourceMtime);
234
+ expect(localSize).toBe(sourceSize);
235
+ expect(fs.readFileSync(fixture.changedObservation, "utf-8")).toBe("present\nold value\n");
236
+ expect(fs.readFileSync(fixture.removedObservation, "utf-8")).toBe("absent\n");
237
+ const [sourceMtimeBeforeOverlay, localMtimeBeforeOverlay] = fs
238
+ .readFileSync(fixture.sourceAndLocalBeforeOverlay, "utf-8")
239
+ .trim()
240
+ .split(" ");
241
+ expect(sourceMtimeBeforeOverlay).toBe(sourceMtime);
242
+ expect(Number(localMtimeBeforeOverlay)).not.toBe(Number(sourceMtime));
243
+ expect(Math.abs(Number(localMtimeBeforeOverlay) - Number(sourceMtime))).toBeGreaterThanOrEqual(2);
244
+ expect(fs.readFileSync(fixture.changedPath, "utf-8")).toBe("new value\n");
245
+ expect(fs.existsSync(fixture.removedPath)).toBe(false);
246
+ expect(output).toContain("unchanged: 2");
247
+ }
248
+ finally {
249
+ fs.rmSync(fixture.workDir, { recursive: true, force: true });
250
+ }
251
+ });
252
+ it("backs up replacement bytes and records accurate replacement and deletion actions", () => {
253
+ expect(toolsAvailable, "the integration fixture requires git and rsync").toBe(true);
254
+ const fixture = makeFixture();
255
+ try {
256
+ const result = runRescueCapture(fixture.args(false, true), fixture.env);
257
+ const output = `${result.stdout}\n${result.stderr}`;
258
+ expect(result.status, output).toBe(0);
259
+ const snapshotName = fs.readdirSync(fixture.backupRoot).find((name) => name.startsWith("pre-update-"));
260
+ expect(snapshotName, output).toBeDefined();
261
+ const snapshot = path.join(fixture.backupRoot, snapshotName);
262
+ expect(fs.readFileSync(path.join(snapshot, ".codex/release.md"), "utf-8")).toBe("old value\n");
263
+ const recovery = fs.readFileSync(path.join(snapshot, "RECOVERY.md"), "utf-8");
264
+ expect(recovery).toContain("replaced-by-overlay\t.codex/release.md\t(unchanged vs baseline; upstream differs)");
265
+ expect(recovery).toContain("deleted\tcore/removed.md\t(unchanged vs baseline; absent from upstream)");
266
+ }
267
+ finally {
268
+ fs.rmSync(fixture.workDir, { recursive: true, force: true });
269
+ }
270
+ });
271
+ it("keeps replacement paths in rollback bookkeeping when a later apply action fails", () => {
272
+ expect(toolsAvailable, "the integration fixture requires git and rsync").toBe(true);
273
+ const fixture = makeFixture();
274
+ try {
275
+ const result = runRescueCapture(fixture.args(false, true), {
276
+ ...fixture.env,
277
+ HQ_RESCUE_FAULT_BEFORE_APPLY_REL: "core/removed.md",
278
+ HQ_RESCUE_FAULT_BEFORE_APPLY_KIND: "directory",
279
+ });
280
+ const output = `${result.stdout}\n${result.stderr}`;
281
+ expect(result.threw, output).toBeInstanceOf(Error);
282
+ expect(output).toContain("Rolled back 1 prior action path(s) from the safety snapshot.");
283
+ expect(fs.readFileSync(fixture.changedPath, "utf-8")).toBe("old value\n");
284
+ expect(fs.statSync(fixture.removedPath).isDirectory()).toBe(true);
285
+ }
286
+ finally {
287
+ fs.rmSync(fixture.workDir, { recursive: true, force: true });
288
+ }
289
+ });
290
+ });
291
+ //# sourceMappingURL=rescue-unchanged-delete.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rescue-unchanged-delete.test.js","sourceRoot":"","sources":["../../src/cli/rescue-unchanged-delete.test.ts"],"names":[],"mappings":"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"}
@@ -669,6 +669,12 @@ export interface SyncOptions {
669
669
  * the correct company or personal scope itself.
670
670
  */
671
671
  fileTombstones?: ReadonlyMap<string, CompanyTombstone>;
672
+ /**
673
+ * Whether the company root's volume folds case. Probed once per pull when
674
+ * absent. Tests on case-sensitive filesystems force `true` to exercise the
675
+ * case-only rename guard (feedback_c8ed69d1).
676
+ */
677
+ caseFoldingVolume?: boolean;
672
678
  /**
673
679
  * Effective sync mode for this leg (US-005 wiring). Defaults to `"all"`
674
680
  * when absent, preserving the legacy full-bucket pull. The runner resolves
@@ -1100,6 +1106,11 @@ interface PullPlan {
1100
1106
  key: string;
1101
1107
  localPath: string;
1102
1108
  localSnapshot: LocalSnapshot;
1109
+ /**
1110
+ * The key's local path belongs to a live key that differs only in case
1111
+ * (feedback_c8ed69d1). Drop the journal row; never touch the disk.
1112
+ */
1113
+ journalOnly?: true;
1103
1114
  }>;
1104
1115
  /**
1105
1116
  * Count of `tombstone-delete` items — remote keys present in the LIST but
@@ -1118,6 +1129,11 @@ interface PullPlan {
1118
1129
  path: string;
1119
1130
  errorCode: string;
1120
1131
  }>;
1132
+ /**
1133
+ * Keys whose local path belongs to a live key that differs only in case;
1134
+ * null on case-sensitive volumes (feedback_c8ed69d1).
1135
+ */
1136
+ caseAliasedKeys?: ReadonlySet<string> | null;
1121
1137
  }
1122
1138
  /**
1123
1139
  * win32 only: true when an existing local symlink's TARGET exists but the
@@ -1128,6 +1144,6 @@ interface PullPlan {
1128
1144
  * false off win32.
1129
1145
  */
1130
1146
  export declare function win32SymlinkFlavorBroken(localPath: string, win32?: boolean): boolean;
1131
- declare function computePullPlan(remoteFiles: RemoteFileSource, journal: SyncJournal, companyRoot: string, shouldSync: (filePath: string, isDir?: boolean) => boolean, personalMode: boolean, teamSyncedSlugs: ReadonlySet<string> | null, prefixSet: readonly ScopePrefixInput[], fileTombstones?: ReadonlyMap<string, CompanyTombstone>, excludePrefixes?: readonly ScopePrefixInput[], propagateDeletePolicy?: "currency-gated" | "owned-only" | "all", onHeartbeat?: () => void, journalRowCount?: number, cooperativeCheckpoint?: () => Promise<void | boolean>, onCooperativeHandoff?: () => void, deleteDenominatorKeys?: ReadonlySet<string>, pullContentHashes?: Readonly<Record<string, string>>, ctx?: EntityContext): Promise<PullPlan>;
1147
+ declare function computePullPlan(remoteFiles: RemoteFileSource, journal: SyncJournal, companyRoot: string, shouldSync: (filePath: string, isDir?: boolean) => boolean, personalMode: boolean, teamSyncedSlugs: ReadonlySet<string> | null, prefixSet: readonly ScopePrefixInput[], fileTombstones?: ReadonlyMap<string, CompanyTombstone>, excludePrefixes?: readonly ScopePrefixInput[], propagateDeletePolicy?: "currency-gated" | "owned-only" | "all", onHeartbeat?: () => void, journalRowCount?: number, cooperativeCheckpoint?: () => Promise<void | boolean>, onCooperativeHandoff?: () => void, deleteDenominatorKeys?: ReadonlySet<string>, pullContentHashes?: Readonly<Record<string, string>>, ctx?: EntityContext, caseFoldingVolume?: boolean): Promise<PullPlan>;
1132
1148
  export {};
1133
1149
  //# sourceMappingURL=sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"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"}
package/dist/cli/sync.js CHANGED
@@ -43,6 +43,7 @@ import { withOperationLock } from "../operation-lock.js";
43
43
  import { fetchFileTombstones, } from "./tombstones.js";
44
44
  import { MutationClient, } from "../sync/mutation-client.js";
45
45
  import { checkpointReconcileApply } from "../sync/reconcile-cursor.js";
46
+ import { createCaseAliasTracker, directoryFoldsCase } from "./case-alias.js";
46
47
  /** The desktop sidecar invokes exactly `hq-cloud sync mutation --stdin-json`. */
47
48
  export const SYNC_MUTATION_STDIN_COMMAND = ["sync", "mutation", "--stdin-json"];
48
49
  /**
@@ -742,7 +743,7 @@ async function listRemoteFilesForScope(ctx, syncMode, listedPrefixSet, isTargete
742
743
  async function planPull(run) {
743
744
  cooperativePhaseForTest = "plan";
744
745
  try {
745
- return await computePullPlan(run.remoteFiles, run.journal, run.companyRoot, run.shouldSync, run.options.personalMode === true, run.options.teamSyncedSlugs ?? null, run.listedPrefixSet, run.fileTombstones, run.currentExcludeSet, run.options.propagateDeletePolicy ?? "owned-only", run.options.onHeartbeat, run.journalRowCount, run.options.cooperativeCheckpoint, () => overlayPullJournalDelta(run), run.deleteDenominatorKeys, run.options.pullContentHashes, run.ctx);
746
+ return await computePullPlan(run.remoteFiles, run.journal, run.companyRoot, run.shouldSync, run.options.personalMode === true, run.options.teamSyncedSlugs ?? null, run.listedPrefixSet, run.fileTombstones, run.currentExcludeSet, run.options.propagateDeletePolicy ?? "owned-only", run.options.onHeartbeat, run.journalRowCount, run.options.cooperativeCheckpoint, () => overlayPullJournalDelta(run), run.deleteDenominatorKeys, run.options.pullContentHashes, run.ctx, run.options.caseFoldingVolume ?? directoryFoldsCase(run.companyRoot));
746
747
  }
747
748
  finally {
748
749
  if (isStreamingRemoteFileSource(run.remoteFiles))
@@ -1010,7 +1011,7 @@ async function executeConflictExecutor(run, plan, scopeRun, counters) {
1010
1011
  continue;
1011
1012
  }
1012
1013
  if (item.action === "tombstone-delete") {
1013
- executeFileTombstoneDelete(run, item, counters);
1014
+ executeFileTombstoneDelete(run, item, counters, plan.caseAliasedKeys ?? null);
1014
1015
  continue;
1015
1016
  }
1016
1017
  if (item.action === "download") {
@@ -1024,9 +1025,13 @@ async function executeConflictExecutor(run, plan, scopeRun, counters) {
1024
1025
  }
1025
1026
  return { downloadItems, abortResult: null };
1026
1027
  }
1027
- function executeFileTombstoneDelete(run, item, counters) {
1028
+ function executeFileTombstoneDelete(run, item, counters, caseAliasedKeys) {
1028
1029
  const tombstoneKey = item.remoteFile.key;
1029
1030
  const tombstonePath = item.localPath;
1031
+ if (caseAliasedKeys?.has(toPosixKey(tombstoneKey))) {
1032
+ retireCaseAliasJournalRow(run, tombstoneKey);
1033
+ return;
1034
+ }
1030
1035
  if (!isDownloadWritePathStillContained(run.companyRoot, tombstoneKey, tombstonePath)) {
1031
1036
  run.emit({
1032
1037
  type: "error",
@@ -2063,9 +2068,28 @@ async function verifyPlannedJournalTombstones(run, plan) {
2063
2068
  }
2064
2069
  plan.tombstones = verified;
2065
2070
  }
2071
+ /**
2072
+ * A deleted key whose local path is the live file of a key that differs only
2073
+ * in case (feedback_c8ed69d1). Unlinking it would delete the live key's only
2074
+ * copy, so only the stale journal row goes. Emitted as a diagnostic, not a
2075
+ * progress event: the runner counts progress events as transfers.
2076
+ */
2077
+ function retireCaseAliasJournalRow(run, key) {
2078
+ removeEntry(run.journal, key);
2079
+ run.emit({
2080
+ type: "error",
2081
+ diagnostic: true,
2082
+ path: key,
2083
+ message: "case-only rename: kept the local file (it belongs to a live key spelled differently); dropped the stale journal row",
2084
+ });
2085
+ }
2066
2086
  function executeJournalTombstoneDeletes(run, plan, counters) {
2067
2087
  for (const tombstone of plan.tombstones) {
2068
2088
  const { key, localPath, localSnapshot } = tombstone;
2089
+ if (tombstone.journalOnly || plan.caseAliasedKeys?.has(toPosixKey(key))) {
2090
+ retireCaseAliasJournalRow(run, key);
2091
+ continue;
2092
+ }
2069
2093
  if (!isDownloadWritePathStillContained(run.companyRoot, key, localPath)) {
2070
2094
  run.emit({
2071
2095
  type: "error",
@@ -2472,7 +2496,7 @@ fileTombstones = new Map(),
2472
2496
  excludePrefixes = [],
2473
2497
  // The runner resolves this once and shares it with the push leg. Direct
2474
2498
  // callers preserve the pre-policy, watcher-intent-only behavior.
2475
- propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows(journal).size, cooperativeCheckpoint, onCooperativeHandoff, deleteDenominatorKeys, pullContentHashes = {}, ctx) {
2499
+ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows(journal).size, cooperativeCheckpoint, onCooperativeHandoff, deleteDenominatorKeys, pullContentHashes = {}, ctx, caseFoldingVolume = false) {
2476
2500
  const prefixMatcher = compileScopeMatcher(prefixSet);
2477
2501
  const excludeMatcher = compileScopeMatcher(excludePrefixes);
2478
2502
  const items = [];
@@ -2537,6 +2561,19 @@ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows
2537
2561
  unseenJournalKeys.add(journaledKey);
2538
2562
  }
2539
2563
  }
2564
+ // Case-only rename guard (feedback_c8ed69d1). On a case-folding volume a
2565
+ // journal or tombstoned key can share its local file with a live key that
2566
+ // differs only in case; the executors must not unlink that file.
2567
+ const caseAlias = caseFoldingVolume
2568
+ ? createCaseAliasTracker((function* () {
2569
+ for (const key of unseenJournalKeys)
2570
+ yield toPosixKey(key);
2571
+ for (const key of fileTombstones.keys()) {
2572
+ if (prefixMatcher.coversPath(key))
2573
+ yield key;
2574
+ }
2575
+ })(), (key) => unseenJournalKeys.has(key) || fileTombstones.has(key))
2576
+ : null;
2540
2577
  for (const journaledKey of journalRows(journal).keys()) {
2541
2578
  onHeartbeat?.();
2542
2579
  const posixJournaledKey = toPosixKey(journaledKey);
@@ -2833,6 +2870,12 @@ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows
2833
2870
  !isRemoteRecreateAfterTombstone(remoteFile, {
2834
2871
  deletedAt: journalEntry.removedAt,
2835
2872
  });
2873
+ // Only a key that passed validation, policy, scope and ignore filtering
2874
+ // and is not itself a deleted object can own a local file, so only such a
2875
+ // key may protect a case-only twin from deletion (feedback_c8ed69d1).
2876
+ if (!tombstoneSuppresses && !localTombstoneSuppresses) {
2877
+ caseAlias?.observeRemote(remoteFile.key);
2878
+ }
2836
2879
  // lstat (not existsSync/statSync) handles three cases the legacy
2837
2880
  // checks got wrong for symlinks:
2838
2881
  // 1. A valid symlink at localPath: existsSync returns true and the
@@ -3343,6 +3386,7 @@ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows
3343
3386
  // gating the download branch applies. The executor will apply each
3344
3387
  // as a local delete + journal removal. Symmetric to the push side's
3345
3388
  // `propagateDeletes` plan in share.ts.
3389
+ const caseAliasedKeys = caseAlias?.finish() ?? null;
3346
3390
  const tombstones = [];
3347
3391
  for (const key of unseenJournalKeys) {
3348
3392
  // Compare membership in POSIX space. A pre-5.47.2 Windows journal key can
@@ -3388,6 +3432,13 @@ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows
3388
3432
  const localPath = resolveContainedVaultPath(companyRoot, key);
3389
3433
  if (localPath === null)
3390
3434
  continue;
3435
+ // A live key that differs only in case owns this local file on a
3436
+ // case-folding volume. The dead spelling has no file of its own: retire
3437
+ // its journal row and never touch the disk.
3438
+ if (caseAliasedKeys?.has(posixKey)) {
3439
+ tombstones.push({ key, localPath, localSnapshot: { kind: "absent" }, journalOnly: true });
3440
+ continue;
3441
+ }
3391
3442
  // PersonalMode key gating — mirror the download branch. Local (non-cloud)
3392
3443
  // company keys are tombstone-eligible (a peer's delete should propagate),
3393
3444
  // but team-synced orphans are left alone (the team-bucket pull owns those
@@ -3483,6 +3534,7 @@ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows
3483
3534
  filesToTombstoneDelete,
3484
3535
  tombstones,
3485
3536
  invalidRemoteKeys,
3537
+ caseAliasedKeys,
3486
3538
  };
3487
3539
  }
3488
3540
  /**