@indigoai-us/hq-cloud 6.18.87 → 6.18.89

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 (69) hide show
  1. package/dist/bin/sync-runner-company.d.ts.map +1 -1
  2. package/dist/bin/sync-runner-company.js +16 -0
  3. package/dist/bin/sync-runner-company.js.map +1 -1
  4. package/dist/bin/sync-runner.d.ts +5 -0
  5. package/dist/bin/sync-runner.d.ts.map +1 -1
  6. package/dist/bin/sync-runner.js.map +1 -1
  7. package/dist/cli/reconcile-skip-reason.d.ts +23 -0
  8. package/dist/cli/reconcile-skip-reason.d.ts.map +1 -0
  9. package/dist/cli/reconcile-skip-reason.js +60 -0
  10. package/dist/cli/reconcile-skip-reason.js.map +1 -0
  11. package/dist/cli/rescue-core.d.ts +16 -1
  12. package/dist/cli/rescue-core.d.ts.map +1 -1
  13. package/dist/cli/rescue-core.js +83 -27
  14. package/dist/cli/rescue-core.js.map +1 -1
  15. package/dist/cli/share.d.ts +31 -1
  16. package/dist/cli/share.d.ts.map +1 -1
  17. package/dist/cli/share.js +193 -28
  18. package/dist/cli/share.js.map +1 -1
  19. package/dist/cli/sync.d.ts +36 -2
  20. package/dist/cli/sync.d.ts.map +1 -1
  21. package/dist/cli/sync.js +135 -27
  22. package/dist/cli/sync.js.map +1 -1
  23. package/dist/local-link-warning.d.ts +48 -0
  24. package/dist/local-link-warning.d.ts.map +1 -0
  25. package/dist/local-link-warning.js +138 -0
  26. package/dist/local-link-warning.js.map +1 -0
  27. package/dist/object-io.d.ts +16 -1
  28. package/dist/object-io.d.ts.map +1 -1
  29. package/dist/object-io.js +25 -2
  30. package/dist/object-io.js.map +1 -1
  31. package/dist/outposts/cli-billing.d.ts +2 -0
  32. package/dist/outposts/cli-billing.d.ts.map +1 -1
  33. package/dist/outposts/cli-billing.js +13 -1
  34. package/dist/outposts/cli-billing.js.map +1 -1
  35. package/dist/outposts/client.d.ts +37 -6
  36. package/dist/outposts/client.d.ts.map +1 -1
  37. package/dist/outposts/client.js +100 -18
  38. package/dist/outposts/client.js.map +1 -1
  39. package/dist/outposts/command.d.ts +11 -5
  40. package/dist/outposts/command.d.ts.map +1 -1
  41. package/dist/outposts/command.js +945 -63
  42. package/dist/outposts/command.js.map +1 -1
  43. package/dist/outposts/company-outposts.d.ts +92 -0
  44. package/dist/outposts/company-outposts.d.ts.map +1 -0
  45. package/dist/outposts/company-outposts.js +194 -0
  46. package/dist/outposts/company-outposts.js.map +1 -0
  47. package/dist/outposts/company.d.ts +67 -9
  48. package/dist/outposts/company.d.ts.map +1 -1
  49. package/dist/outposts/company.js +211 -11
  50. package/dist/outposts/company.js.map +1 -1
  51. package/dist/outposts/errors.d.ts +7 -0
  52. package/dist/outposts/errors.d.ts.map +1 -1
  53. package/dist/outposts/errors.js +7 -0
  54. package/dist/outposts/errors.js.map +1 -1
  55. package/dist/outposts/host-deps.d.ts +2 -0
  56. package/dist/outposts/host-deps.d.ts.map +1 -1
  57. package/dist/outposts/host-deps.js +12 -0
  58. package/dist/outposts/host-deps.js.map +1 -1
  59. package/dist/s3.d.ts +7 -1
  60. package/dist/s3.d.ts.map +1 -1
  61. package/dist/s3.js +33 -12
  62. package/dist/s3.js.map +1 -1
  63. package/dist/sync-progress.d.ts.map +1 -1
  64. package/dist/sync-progress.js +3 -0
  65. package/dist/sync-progress.js.map +1 -1
  66. package/dist/vault-client.d.ts.map +1 -1
  67. package/dist/vault-client.js +5 -1
  68. package/dist/vault-client.js.map +1 -1
  69. package/package.json +1 -1
@@ -4,6 +4,7 @@
4
4
  * Pulls all files the caller's STS session policy permits.
5
5
  * Never auto-overwrites local changes — prompts on conflict.
6
6
  */
7
+ import { type LocalLinkWarning } from "../local-link-warning.js";
7
8
  import { type CloudPlaceholder } from "../cloud-placeholder.js";
8
9
  import { type SpooledRemoteFiles } from "../sync/remote-file-spool.js";
9
10
  import type { EntityContext, VaultServiceConfig, SyncJournal } from "../types.js";
@@ -13,6 +14,8 @@ import type { RemoteFile } from "../s3.js";
13
14
  import { type ScopePrefixInput } from "../prefix-coalesce.js";
14
15
  import { type IgnoreExclusionLayer } from "../ignore.js";
15
16
  import { type TransferSemaphore, type TransferPriority } from "../sync-core.js";
17
+ import { type HumanSkipLineLog, type ReconcileSkipReason } from "./reconcile-skip-reason.js";
18
+ export type { ReconcileSkipReason };
16
19
  import type { ConflictDecision, ConflictStrategy, ConflictResolution } from "./conflict.js";
17
20
  import { type CompanyTombstone } from "./tombstones.js";
18
21
  import { MutationClient, type MutationStatus } from "../sync/mutation-client.js";
@@ -235,6 +238,14 @@ export type SyncProgressEvent = {
235
238
  type: "reconciled";
236
239
  path: string;
237
240
  direction: "pull" | "push";
241
+ /**
242
+ * Why this file was counted as a skip. `already_up_to_date` means the
243
+ * vault already holds the same bytes. Other values name a different
244
+ * deliberate skip that previously incremented the counter in silence.
245
+ * Optional so callers outside this package can still build a reconciled
246
+ * event without a reason. Emitters in this package set it.
247
+ */
248
+ reason?: ReconcileSkipReason;
238
249
  } | {
239
250
  type: "new-files";
240
251
  files: Array<{
@@ -539,9 +550,23 @@ export type SyncProgressEvent = {
539
550
  } | {
540
551
  /** A local symlink target cannot be published safely; the raw target is omitted. */
541
552
  type: "skip-unsafe-symlink-target";
553
+ remedy?: string;
542
554
  path: string;
543
555
  classification: string;
544
556
  shape: string;
557
+ } | {
558
+ /**
559
+ * A broken local symbolic link was skipped so sibling files can still
560
+ * transfer. Deliberately NOT `type: "error"` (policy
561
+ * hq-sync-deliberate-skip-not-fatal-error-exit2). The path is unjournaled
562
+ * so a later pass can retry after repair; the reconcile checkpoint still
563
+ * advances past it.
564
+ */
565
+ type: "skip-broken-link";
566
+ path: string;
567
+ reason: "missing_target" | "loop" | "unreadable_link";
568
+ remedy: string;
569
+ message: string;
545
570
  } | {
546
571
  /**
547
572
  * Emitted once per key skipped because it is permanently unstorable.
@@ -1000,6 +1025,9 @@ export interface SyncOptions {
1000
1025
  reconcileApply?: ReconcileApplyCheckpoint;
1001
1026
  }
1002
1027
  export interface SyncResult {
1028
+ linkWarnings?: LocalLinkWarning[];
1029
+ /** Distinct broken links beyond the listed cap. */
1030
+ linkWarningsOmitted?: number;
1003
1031
  /** Present only for the internal no-side-effect runner preflight. */
1004
1032
  preflightCounts?: {
1005
1033
  pulls: number;
@@ -1134,6 +1162,7 @@ export declare const _testing: {
1134
1162
  cooperativeRowVisits: typeof snapshotCooperativeRowVisits;
1135
1163
  cooperativePhase: () => "list" | "plan" | "download" | null;
1136
1164
  computePullPlan: typeof computePullPlan;
1165
+ defaultConsoleLogger: typeof defaultConsoleLogger;
1137
1166
  };
1138
1167
  /**
1139
1168
  * Best-effort report of the files that were new to this drive during the sync,
@@ -1374,6 +1403,11 @@ interface PullPlan {
1374
1403
  * false off win32.
1375
1404
  */
1376
1405
  export declare function win32SymlinkFlavorBroken(localPath: string, win32?: boolean): boolean;
1377
- 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, allowRootMcpConfig?: boolean, quarantinedPaths?: ReadonlySet<string>, onAuditRemoteFile?: (file: Omit<Parameters<NonNullable<SyncOptions["onAuditRemoteFile"]>>[0], "phase">) => void): Promise<PullPlan>;
1378
- export {};
1406
+ 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, allowRootMcpConfig?: boolean, quarantinedPaths?: ReadonlySet<string>, onAuditRemoteFile?: (file: Omit<Parameters<NonNullable<SyncOptions["onAuditRemoteFile"]>>[0], "phase">) => void, onLinkWarning?: (warning: LocalLinkWarning) => void): Promise<PullPlan>;
1407
+ /**
1408
+ * Default human-readable event rendering. Preserves the exact output format
1409
+ * that `hq sync` emitted before SyncProgressEvent was introduced, so callers
1410
+ * without an `onEvent` see no behavioral change.
1411
+ */
1412
+ declare function defaultConsoleLogger(event: SyncProgressEvent, humanSkipLines?: HumanSkipLineLog): void;
1379
1413
  //# 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
@@ -4,6 +4,7 @@
4
4
  * Pulls all files the caller's STS session policy permits.
5
5
  * Never auto-overwrites local changes — prompts on conflict.
6
6
  */
7
+ import { localLinkWarning, rememberLinkWarning, brokenLinkSkipEvent, LinkWarningCollector, LOCAL_LINK_REMEDY } from "../local-link-warning.js";
7
8
  import * as fs from "fs";
8
9
  import * as path from "path";
9
10
  import { cloudPlaceholderPathFor, formatCloudPlaceholder, hasCloudPlaceholderSibling, isCloudOnlyLocally, markCloudPlaceholderOrphaned, readCloudPlaceholder, writeCloudPlaceholder, } from "../cloud-placeholder.js";
@@ -43,6 +44,7 @@ import { createIgnoreFilter, isPathExcludedFromSync, SYNC_MAX_FILE_BYTES, } from
43
44
  import { claimNeverSyncedLocalNotice, formatSecretsNotSyncedLine, isNeverSyncedVaultPath, isSecretBearingVaultPath, isSkipSecretPathsEnabled, } from "../sync/secret-path-policy.js";
44
45
  import { hasRemoteChanged, isAccessDenied, isNotFound, resolveActiveCompany, resolveTransferConcurrency, readHostLoad, } from "../sync-core.js";
45
46
  import { formatIgnoreExcludedWarningLines, isEphemeralPath, isMalformedVaultKey } from "./share.js";
47
+ import { createHumanSkipLineLog, formatReconcileSkipLine, } from "./reconcile-skip-reason.js";
46
48
  import { pickWinner, resolveConflict, usesVersionAwareWinner } from "./conflict.js";
47
49
  import { appendIfUnchanged, isAppendOnlyPath, mergeAppendOnly } from "../lib/append-only-merge.js";
48
50
  import { isBoardJsonPath, mergeBoardJson, replaceIfUnchanged } from "../lib/board-merge.js";
@@ -518,6 +520,7 @@ export const _testing = {
518
520
  cooperativeRowVisits: snapshotCooperativeRowVisits,
519
521
  cooperativePhase: () => cooperativePhaseForTest,
520
522
  computePullPlan,
523
+ defaultConsoleLogger,
521
524
  };
522
525
  /**
523
526
  * Server cap on files per `/v1/notify/file-added` report. The endpoint rejects
@@ -705,6 +708,8 @@ async function syncWithOperationLockHeld(options) {
705
708
  (scopeShrink?.shrinkPlan.clean.length ?? 0);
706
709
  return {
707
710
  filesDownloaded: 0,
711
+ linkWarnings: run.linkWarnings.warnings,
712
+ linkWarningsOmitted: run.linkWarnings.omitted,
708
713
  bytesDownloaded: 0,
709
714
  filesSkipped: 0,
710
715
  conflicts: 0,
@@ -750,6 +755,8 @@ async function syncWithOperationLockHeld(options) {
750
755
  const newFiles = reportableNewFiles(run, plan);
751
756
  return {
752
757
  filesDownloaded: counters.filesDownloaded,
758
+ linkWarnings: run.linkWarnings.warnings,
759
+ linkWarningsOmitted: run.linkWarnings.omitted,
753
760
  bytesDownloaded: counters.bytesDownloaded,
754
761
  filesSkipped: counters.filesSkipped,
755
762
  conflicts: counters.conflicts,
@@ -774,6 +781,7 @@ async function syncWithOperationLockHeld(options) {
774
781
  return finalizePullRun(run, plan, scopeRun, counters);
775
782
  }
776
783
  finally {
784
+ run.humanSkipLines?.flush();
777
785
  // Release a pass-local lease even on conflict, transfer, or auth failure.
778
786
  // The one bounded hot lease remains available only for its same vault.
779
787
  run.releaseKeyedJournal?.();
@@ -781,7 +789,9 @@ async function syncWithOperationLockHeld(options) {
781
789
  }
782
790
  async function buildPullContext(options) {
783
791
  const { company, vaultConfig, hqRoot } = options;
784
- const baseEmit = options.onEvent ?? defaultConsoleLogger;
792
+ const humanSkipLines = options.onEvent ? undefined : createHumanSkipLineLog();
793
+ const baseEmit = options.onEvent
794
+ ?? ((event) => defaultConsoleLogger(event, humanSkipLines));
785
795
  // Sample host load before planPull() walks and hashes, so the transfer pool
786
796
  // reflects other processes' load, not sync's own (mirrors share()).
787
797
  const hostLoadAtStart = readHostLoad();
@@ -840,6 +850,7 @@ async function buildPullContext(options) {
840
850
  company: options.personalMode === true ? null : ctx.slug,
841
851
  phase: "pull",
842
852
  });
853
+ const linkWarnings = new LinkWarningCollector();
843
854
  const emit = (event) => {
844
855
  baseEmit(event);
845
856
  recordProgress(event);
@@ -947,10 +958,12 @@ async function buildPullContext(options) {
947
958
  return {
948
959
  options,
949
960
  hostLoadAtStart,
961
+ linkWarnings,
950
962
  companyRef,
951
963
  vaultConfig,
952
964
  hqRoot,
953
965
  emit,
966
+ humanSkipLines,
954
967
  ctx,
955
968
  companyRoot,
956
969
  personalConnectorSettingsSync,
@@ -1052,7 +1065,11 @@ async function planPull(run) {
1052
1065
  ...file,
1053
1066
  phase: run.options.preflightOnly === true ? "preflight" : "execution",
1054
1067
  })
1055
- : undefined);
1068
+ : undefined, (warning) => {
1069
+ if (!rememberLinkWarning(run.linkWarnings, warning))
1070
+ return;
1071
+ run.emit(brokenLinkSkipEvent(warning));
1072
+ });
1056
1073
  const localDeleteKeys = Array.from(new Set([
1057
1074
  ...plan.tombstones.map((tombstone) => tombstone.key),
1058
1075
  ...plan.items.flatMap((item) => item.action === "tombstone-delete" ? [item.remoteFile.key] : []),
@@ -1398,10 +1415,11 @@ async function executeConflictExecutor(run, plan, scopeRun, counters) {
1398
1415
  continue;
1399
1416
  }
1400
1417
  if (item.action === "skip-unreadable-link") {
1401
- // An unreadable local link must stay non-fatal: the runner treats a
1402
- // generic error event as a failed company leg. Surface the exact remote
1403
- // key through the recoverable not-shipped channel instead.
1404
1418
  counters.filesSkipped++;
1419
+ const warning = { path: item.remoteFile.key, reason: "unreadable_link", remedy: LOCAL_LINK_REMEDY };
1420
+ if (rememberLinkWarning(run.linkWarnings, warning)) {
1421
+ run.emit(brokenLinkSkipEvent(warning));
1422
+ }
1405
1423
  run.emit({
1406
1424
  type: "not-shipped",
1407
1425
  reason: "unreadable-link",
@@ -2041,11 +2059,18 @@ async function executeConflictItem(run, plan, scopeRun, counters, downloadItems,
2041
2059
  symlinkTargetScope: run.options.personalMode === true
2042
2060
  ? { kind: "personal" }
2043
2061
  : { kind: "company", companySlug: run.ctx.slug },
2062
+ syncRoot: run.companyRoot,
2044
2063
  });
2045
2064
  if (run.personalConnectorSettingsSync &&
2046
2065
  remoteFile.key === ".mcp.json" &&
2047
2066
  !isSafePersonalMcpConfigFile(probeAbs)) {
2048
2067
  counters.filesSkipped++;
2068
+ run.emit({
2069
+ type: "reconciled",
2070
+ path: remoteFile.key,
2071
+ direction: "pull",
2072
+ reason: "unsafe_personal_mcp",
2073
+ });
2049
2074
  return null;
2050
2075
  }
2051
2076
  remoteFetched = true;
@@ -2055,6 +2080,12 @@ async function executeConflictItem(run, plan, scopeRun, counters, downloadItems,
2055
2080
  // probe was in flight. Leave both sides untouched and let the next
2056
2081
  // per-file pass classify that new state; a stale conflict is not useful.
2057
2082
  counters.filesSkipped++;
2083
+ run.emit({
2084
+ type: "reconciled",
2085
+ path: remoteFile.key,
2086
+ direction: "pull",
2087
+ reason: "body_changed_during_decision",
2088
+ });
2058
2089
  return null;
2059
2090
  }
2060
2091
  if (fs.lstatSync(probeAbs).isSymbolicLink()) {
@@ -2145,6 +2176,12 @@ async function executeConflictItem(run, plan, scopeRun, counters, downloadItems,
2145
2176
  if (converged) {
2146
2177
  if (executionLocal === null) {
2147
2178
  counters.filesSkipped++;
2179
+ run.emit({
2180
+ type: "reconciled",
2181
+ path: remoteFile.key,
2182
+ direction: "pull",
2183
+ reason: "body_changed_during_decision",
2184
+ });
2148
2185
  return null;
2149
2186
  }
2150
2187
  updateEntry(run.journal, remoteFile.key, executionLocal.hash, executionLocal.size, "down", localPath, {
@@ -2153,7 +2190,12 @@ async function executeConflictItem(run, plan, scopeRun, counters, downloadItems,
2153
2190
  ctimeMs: executionLocal.ctimeMs,
2154
2191
  kind: executionLocal.kind,
2155
2192
  });
2156
- run.emit({ type: "reconciled", path: remoteFile.key, direction: "pull" });
2193
+ run.emit({
2194
+ type: "reconciled",
2195
+ path: remoteFile.key,
2196
+ direction: "pull",
2197
+ reason: "already_up_to_date",
2198
+ });
2157
2199
  counters.filesSkipped++;
2158
2200
  return null;
2159
2201
  }
@@ -2202,6 +2244,12 @@ async function executeConflictItem(run, plan, scopeRun, counters, downloadItems,
2202
2244
  // Another writer changed the file after the merge read it; the next
2203
2245
  // pass merges again from its new body.
2204
2246
  counters.filesSkipped++;
2247
+ run.emit({
2248
+ type: "reconciled",
2249
+ path: remoteFile.key,
2250
+ direction: "pull",
2251
+ reason: "body_changed_during_decision",
2252
+ });
2205
2253
  return null;
2206
2254
  }
2207
2255
  const mergedStat = fs.lstatSync(localPath);
@@ -2220,7 +2268,12 @@ async function executeConflictItem(run, plan, scopeRun, counters, downloadItems,
2220
2268
  }
2221
2269
  if (!merged.equals(localBody))
2222
2270
  counters.changedPaths.push(remoteFile.key);
2223
- run.emit({ type: "reconciled", path: remoteFile.key, direction: "pull" });
2271
+ run.emit({
2272
+ type: "reconciled",
2273
+ path: remoteFile.key,
2274
+ direction: "pull",
2275
+ reason: merged.equals(remoteBody) ? "already_up_to_date" : "merged_with_remote",
2276
+ });
2224
2277
  counters.filesSkipped++;
2225
2278
  return null;
2226
2279
  }
@@ -2335,6 +2388,8 @@ async function executeConflictItem(run, plan, scopeRun, counters, downloadItems,
2335
2388
  const abortedNewFiles = reportableNewFiles(run, plan);
2336
2389
  return {
2337
2390
  filesDownloaded: counters.filesDownloaded,
2391
+ linkWarnings: run.linkWarnings.warnings,
2392
+ linkWarningsOmitted: run.linkWarnings.omitted,
2338
2393
  bytesDownloaded: counters.bytesDownloaded,
2339
2394
  filesSkipped: counters.filesSkipped,
2340
2395
  conflicts: counters.conflicts,
@@ -2710,6 +2765,7 @@ async function downloadOne(run, downloadItem, counters, deferJournalCheckpoint =
2710
2765
  symlinkTargetScope: run.options.personalMode === true
2711
2766
  ? { kind: "personal" }
2712
2767
  : { kind: "company", companySlug: run.ctx.slug },
2768
+ syncRoot: run.companyRoot,
2713
2769
  });
2714
2770
  if (validatePersonalMcp && !isSafePersonalMcpConfigFile(stagePath)) {
2715
2771
  discardDownloadStage(stagePath);
@@ -2836,7 +2892,10 @@ async function downloadOne(run, downloadItem, counters, deferJournalCheckpoint =
2836
2892
  });
2837
2893
  return "timed-out";
2838
2894
  }
2839
- counters.hasRetryableOutcome = true;
2895
+ // A broken link is a settled skip for this slice, not a transient transfer
2896
+ // failure. Preserve any retryable outcome already raised by another worker.
2897
+ if (!(err instanceof DanglingSymlinkParentError))
2898
+ counters.hasRetryableOutcome = true;
2840
2899
  if (err instanceof LocalSnapshotChangedError) {
2841
2900
  reportLocalSnapshotConflict(run, counters, remoteFile.key);
2842
2901
  }
@@ -2916,18 +2975,12 @@ async function downloadOne(run, downloadItem, counters, deferJournalCheckpoint =
2916
2975
  });
2917
2976
  }
2918
2977
  else if (err instanceof DanglingSymlinkParentError) {
2919
- // Per-object condition, not a company failure. The pre-flight
2920
- // containment check can miss this: it runs before the download, and a
2921
- // sibling worker in the SAME batch may materialize the parent symlink in
2922
- // between (the vault stores the link and the files beneath it as
2923
- // separate objects, ordered arbitrarily). Skip loudly — never silently —
2924
- // so the run stays `complete` instead of `errored` on every cycle.
2978
+ // Deliberate skip: do not pin the whole bounded slice until user repair.
2925
2979
  counters.filesSkipped++;
2926
- run.emit({
2927
- type: "error",
2928
- path: remoteFile.key,
2929
- message: describeError(err),
2930
- });
2980
+ const warning = { path: err.linkKey, reason: err.reason, remedy: LOCAL_LINK_REMEDY };
2981
+ if (rememberLinkWarning(run.linkWarnings, warning)) {
2982
+ run.emit(brokenLinkSkipEvent(warning));
2983
+ }
2931
2984
  }
2932
2985
  else if (isRemoteObjectGoneError(err)) {
2933
2986
  // LIST→GET race: a short-lived inbox file (e.g. inbox/pending/jobrun-*.json)
@@ -3281,6 +3334,8 @@ function finalizePullRun(run, plan, scopeRun, counters) {
3281
3334
  const newFiles = reportableNewFiles(run, plan);
3282
3335
  const result = {
3283
3336
  filesDownloaded: counters.filesDownloaded,
3337
+ linkWarnings: run.linkWarnings.warnings,
3338
+ linkWarningsOmitted: run.linkWarnings.omitted,
3284
3339
  bytesDownloaded: counters.bytesDownloaded,
3285
3340
  filesSkipped: counters.filesSkipped,
3286
3341
  conflicts: counters.conflicts,
@@ -3297,8 +3352,8 @@ function finalizePullRun(run, plan, scopeRun, counters) {
3297
3352
  appliedUpserts: counters.appliedUpserts,
3298
3353
  appliedDeletes: counters.appliedDeletes,
3299
3354
  };
3300
- // Do not advance a bounded reconcile past an unjournaled download. A retry
3301
- // replays successful work at most, while retaining every failed candidate.
3355
+ // Retry transient failures, but allow deliberate broken-link skips to settle
3356
+ // the slice without adding a successful-transfer journal row for the link.
3302
3357
  if (!counters.hasRetryableOutcome) {
3303
3358
  checkpointReconcileApply(run.options.reconcileApply, result.changedPaths ?? []);
3304
3359
  }
@@ -3400,6 +3455,18 @@ function deepestExistingAncestor(start) {
3400
3455
  current = parent;
3401
3456
  }
3402
3457
  }
3458
+ /** Lexical path for a key whose only containment failure is a broken link above it. */
3459
+ function brokenLinkLexicalPath(root, key, cache) {
3460
+ if (isMalformedVaultKey(key) || hasTraversalSegment(key))
3461
+ return null;
3462
+ const resolvedRoot = path.resolve(root);
3463
+ const lexical = localPathForVaultKey(resolvedRoot, key);
3464
+ if (!isPathWithin(resolvedRoot, lexical))
3465
+ return null;
3466
+ return localLinkWarning(resolvedRoot, path.dirname(lexical), path.posix.dirname(key), cache)
3467
+ ? lexical
3468
+ : null;
3469
+ }
3403
3470
  function resolveContainedVaultPath(root, key) {
3404
3471
  if (isMalformedVaultKey(key) || hasTraversalSegment(key))
3405
3472
  return null;
@@ -3610,7 +3677,7 @@ fileTombstones = new Map(),
3610
3677
  excludePrefixes = [],
3611
3678
  // The runner resolves this once and shares it with the push leg. Direct
3612
3679
  // callers preserve the pre-policy, watcher-intent-only behavior.
3613
- propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows(journal).size, cooperativeCheckpoint, onCooperativeHandoff, deleteDenominatorKeys, pullContentHashes = {}, ctx, caseFoldingVolume = false, allowRootMcpConfig = false, quarantinedPaths = new Set(), onAuditRemoteFile) {
3680
+ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows(journal).size, cooperativeCheckpoint, onCooperativeHandoff, deleteDenominatorKeys, pullContentHashes = {}, ctx, caseFoldingVolume = false, allowRootMcpConfig = false, quarantinedPaths = new Set(), onAuditRemoteFile, onLinkWarning) {
3614
3681
  const prefixMatcher = compileScopeMatcher(prefixSet);
3615
3682
  const excludeMatcher = compileScopeMatcher(excludePrefixes);
3616
3683
  const items = [];
@@ -3618,6 +3685,7 @@ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows
3618
3685
  let preplannedFilesSkipped = 0;
3619
3686
  let preplannedFilesOutOfScope = 0;
3620
3687
  let preplannedFilesExcludedByPolicy = 0;
3688
+ const linkInspectCache = new Map();
3621
3689
  const retain = items.push.bind(items);
3622
3690
  items.push = (...next) => {
3623
3691
  for (const item of next) {
@@ -3860,7 +3928,15 @@ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows
3860
3928
  });
3861
3929
  continue;
3862
3930
  }
3863
- const localPath = resolveContainedVaultPath(companyRoot, remoteFile.key);
3931
+ let localPath = resolveContainedVaultPath(companyRoot, remoteFile.key);
3932
+ // A broken directory link above the key fails containment because its target
3933
+ // cannot be resolved. Keep the lexical path so the filters below still apply and
3934
+ // the link check after them reports the link instead of a silent policy skip.
3935
+ const underBrokenLink = localPath === null
3936
+ ? brokenLinkLexicalPath(companyRoot, remoteFile.key, linkInspectCache)
3937
+ : null;
3938
+ if (underBrokenLink !== null)
3939
+ localPath = underBrokenLink;
3864
3940
  if (localPath === null) {
3865
3941
  items.push({ action: "skip-excluded-policy", remoteFile, localPath: companyRoot });
3866
3942
  continue;
@@ -4050,9 +4126,17 @@ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows
4050
4126
  // guard (a remote object newer than the local delete is a genuine re-create
4051
4127
  // and still downloads). Consulted ONLY on the `!localExists` re-download
4052
4128
  // path below — never to delete a file that is present locally.
4129
+ // The currency-gated producer also stamps local-delete without a watcher
4130
+ // intent. Preserve that decision while the remote ETag is still current;
4131
+ // otherwise a second pull undoes the first before push can propagate it.
4053
4132
  const localTombstoneSuppresses = journalEntry !== undefined &&
4054
4133
  isTombstone(journalEntry) &&
4055
- hasCurrentLocalDeleteIntent(journalEntry) &&
4134
+ (hasCurrentLocalDeleteIntent(journalEntry) ||
4135
+ (propagateDeletePolicy === "currency-gated" &&
4136
+ journalEntry.removedReason === "local-delete" &&
4137
+ !journalEntry.localDiverges &&
4138
+ !!journalEntry.remoteEtag &&
4139
+ normalizeEtag(remoteFile.etag) === journalEntry.remoteEtag)) &&
4056
4140
  journalEntry.removedAt !== undefined &&
4057
4141
  !isRemoteRecreateAfterTombstone(remoteFile, {
4058
4142
  deletedAt: journalEntry.removedAt,
@@ -4065,6 +4149,24 @@ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows
4065
4149
  if (!tombstoneSuppresses && !localTombstoneSuppresses) {
4066
4150
  caseAliasTracker?.observeRemote(remoteFile.key);
4067
4151
  }
4152
+ // A broken directory link ABOVE the key cannot hold the download, so skip
4153
+ // it loudly with one warning per link. Only ancestors are inspected: a
4154
+ // dangling link AT the key is a journaled symlink record and must keep the
4155
+ // normal journal / remote-change / conflict classification below, so a
4156
+ // remote repair (new target, or a regular file) still pulls. Runs after
4157
+ // every policy, scope, ignore and tombstone filter so excluded keys never
4158
+ // warn.
4159
+ const tombstoned = tombstoneSuppresses || localTombstoneSuppresses;
4160
+ if (underBrokenLink !== null || !tombstoned) {
4161
+ const ancestorWarning = localLinkWarning(companyRoot, path.dirname(localPath), path.posix.dirname(remoteFile.key), linkInspectCache);
4162
+ if (ancestorWarning) {
4163
+ // A tombstoned key has nothing to pull or delete under the broken link.
4164
+ if (!tombstoned)
4165
+ onLinkWarning?.(ancestorWarning);
4166
+ preplannedFilesSkipped++;
4167
+ continue;
4168
+ }
4169
+ }
4068
4170
  // lstat (not existsSync/statSync) handles three cases the legacy
4069
4171
  // checks got wrong for symlinks:
4070
4172
  // 1. A valid symlink at localPath: existsSync returns true and the
@@ -4848,7 +4950,7 @@ propagateDeletePolicy = "owned-only", onHeartbeat, journalRowCount = journalRows
4848
4950
  * that `hq sync` emitted before SyncProgressEvent was introduced, so callers
4849
4951
  * without an `onEvent` see no behavioral change.
4850
4952
  */
4851
- function defaultConsoleLogger(event) {
4953
+ function defaultConsoleLogger(event, humanSkipLines) {
4852
4954
  if (event.type === "journal-quarantine-unresolved") {
4853
4955
  console.warn(` ! ${event.count} journal path${event.count === 1 ? " is" : "s are"} unresolved and held for manual review`);
4854
4956
  }
@@ -4886,6 +4988,9 @@ function defaultConsoleLogger(event) {
4886
4988
  console.log(` ✓ ${event.path}`);
4887
4989
  }
4888
4990
  }
4991
+ else if (event.type === "skip-broken-link") {
4992
+ console.warn(` ! ${event.path} skipped — ${event.message}`);
4993
+ }
4889
4994
  else if (event.type === "error") {
4890
4995
  console.error(` ✗ ${event.path} — ${event.message}`);
4891
4996
  }
@@ -4899,7 +5004,10 @@ function defaultConsoleLogger(event) {
4899
5004
  console.warn(` ! ${event.path} is server-owned and was not uploaded. ${nextStep}`);
4900
5005
  }
4901
5006
  else if (event.type === "reconciled") {
4902
- console.log(` = reconciled (${event.direction}): ${event.path} — remote bytes identical to local, journal re-stamped`);
5007
+ if (humanSkipLines)
5008
+ humanSkipLines.note(event.path, event.reason, event.direction);
5009
+ else
5010
+ console.log(formatReconcileSkipLine(event.path, event.reason, event.direction));
4903
5011
  }
4904
5012
  else if (event.type === "new-files") {
4905
5013
  if (event.files.length > 0) {
@@ -5002,7 +5110,7 @@ function defaultConsoleLogger(event) {
5002
5110
  console.warn(` ! ${event.path} skipped — could not create the symbolic link on this Windows host (missing privilege). ${event.remedy}`);
5003
5111
  }
5004
5112
  else if (event.type === "skip-unsafe-symlink-target") {
5005
- console.warn(` ! ${event.path} skipped — unsafe symlink target (${event.classification}, ${event.shape})`);
5113
+ console.warn(` ! ${event.path} skipped — unsafe symlink target (${event.classification}, ${event.shape}). ${event.remedy ?? ""}`);
5006
5114
  }
5007
5115
  else if (event.type === "skip-rename-blocked") {
5008
5116
  console.warn(` ! ${event.path} skipped — another program on this PC is holding the file open, so HQ could not replace it yet. ${event.remedy}`);