@indigoai-us/hq-cloud 6.18.49 → 6.18.50-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 (63) hide show
  1. package/dist/bin/sync-runner-company.d.ts +5 -0
  2. package/dist/bin/sync-runner-company.d.ts.map +1 -1
  3. package/dist/bin/sync-runner-company.js +24 -2
  4. package/dist/bin/sync-runner-company.js.map +1 -1
  5. package/dist/bin/sync-runner-watch-loop.d.ts +85 -5
  6. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  7. package/dist/bin/sync-runner-watch-loop.js +1062 -123
  8. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  9. package/dist/bin/sync-runner.d.ts +30 -11
  10. package/dist/bin/sync-runner.d.ts.map +1 -1
  11. package/dist/bin/sync-runner.js +133 -15
  12. package/dist/bin/sync-runner.js.map +1 -1
  13. package/dist/bin/watcher-catchup-skip-store.d.ts +60 -0
  14. package/dist/bin/watcher-catchup-skip-store.d.ts.map +1 -0
  15. package/dist/bin/watcher-catchup-skip-store.js +282 -0
  16. package/dist/bin/watcher-catchup-skip-store.js.map +1 -0
  17. package/dist/cli/share.d.ts +12 -0
  18. package/dist/cli/share.d.ts.map +1 -1
  19. package/dist/cli/share.js +57 -4
  20. package/dist/cli/share.js.map +1 -1
  21. package/dist/cli/sync.d.ts +3 -0
  22. package/dist/cli/sync.d.ts.map +1 -1
  23. package/dist/cli/sync.js +27 -7
  24. package/dist/cli/sync.js.map +1 -1
  25. package/dist/cli/tombstones.d.ts.map +1 -1
  26. package/dist/cli/tombstones.js +7 -2
  27. package/dist/cli/tombstones.js.map +1 -1
  28. package/dist/ignore.d.ts +1 -1
  29. package/dist/ignore.d.ts.map +1 -1
  30. package/dist/ignore.js +2 -2
  31. package/dist/ignore.js.map +1 -1
  32. package/dist/lib/cloud-authoritative.d.ts +9 -2
  33. package/dist/lib/cloud-authoritative.d.ts.map +1 -1
  34. package/dist/lib/cloud-authoritative.js +34 -2
  35. package/dist/lib/cloud-authoritative.js.map +1 -1
  36. package/dist/local-path-codec.d.ts.map +1 -1
  37. package/dist/local-path-codec.js +3 -2
  38. package/dist/local-path-codec.js.map +1 -1
  39. package/dist/personal-vault-exclusions.d.ts +2 -2
  40. package/dist/personal-vault-exclusions.d.ts.map +1 -1
  41. package/dist/personal-vault-exclusions.js +5 -3
  42. package/dist/personal-vault-exclusions.js.map +1 -1
  43. package/dist/personal-vault.d.ts +7 -0
  44. package/dist/personal-vault.d.ts.map +1 -1
  45. package/dist/personal-vault.js +10 -0
  46. package/dist/personal-vault.js.map +1 -1
  47. package/dist/symlink-target-policy.d.ts +11 -0
  48. package/dist/symlink-target-policy.d.ts.map +1 -1
  49. package/dist/symlink-target-policy.js +80 -0
  50. package/dist/symlink-target-policy.js.map +1 -1
  51. package/dist/sync/parallel-sync-coordinator.d.ts +29 -0
  52. package/dist/sync/parallel-sync-coordinator.d.ts.map +1 -1
  53. package/dist/sync/parallel-sync-coordinator.js +229 -16
  54. package/dist/sync/parallel-sync-coordinator.js.map +1 -1
  55. package/dist/sync/push-receiver.d.ts +5 -0
  56. package/dist/sync/push-receiver.d.ts.map +1 -1
  57. package/dist/sync/push-receiver.js +32 -10
  58. package/dist/sync/push-receiver.js.map +1 -1
  59. package/dist/watcher.d.ts +16 -3
  60. package/dist/watcher.d.ts.map +1 -1
  61. package/dist/watcher.js +114 -21
  62. package/dist/watcher.js.map +1 -1
  63. package/package.json +1 -1
@@ -0,0 +1,282 @@
1
+ import * as fs from "node:fs";
2
+ import * as path from "node:path";
3
+ import { createHash, randomUUID } from "node:crypto";
4
+ // 50k gives more than 5x headroom over the Mac's measured ~3.5k durable skips.
5
+ export const WATCHER_CATCHUP_SKIP_MAX_RECORDS = 50_000;
6
+ export const WATCHER_CATCHUP_ACCESS_DENIED_TTL_MS = 24 * 60 * 60 * 1_000;
7
+ // Archived decisions recur until local bytes change; a weekly retry bounds
8
+ // stale remote-state suppression without charging every boot.
9
+ export const WATCHER_CATCHUP_REMOTE_SKIP_TTL_MS = 7 * 24 * 60 * 60 * 1_000;
10
+ export const WATCHER_CATCHUP_UNRESOLVED_COMPANY_TTL_MS = 24 * 60 * 60 * 1_000;
11
+ export function watcherCatchupSkipStorePath(stateDir, hqRoot) {
12
+ const rootId = createHash("sha256").update(path.resolve(hqRoot)).digest("hex").slice(0, 20);
13
+ return path.join(stateDir, `watcher-catchup-skips-${rootId}.json`);
14
+ }
15
+ const recordKey = (record) => `${record.company}\u0000${record.path}`;
16
+ function validRecord(value) {
17
+ if (typeof value !== "object" || value === null)
18
+ return false;
19
+ const record = value;
20
+ return typeof record.company === "string" && record.company.length > 0 &&
21
+ typeof record.path === "string" && record.path.length > 0 &&
22
+ (record.reason === "archived-session-log" || record.reason === "access-denied") &&
23
+ typeof record.size === "number" && Number.isFinite(record.size) &&
24
+ typeof record.mtimeMs === "number" && Number.isFinite(record.mtimeMs) &&
25
+ typeof record.recordedAt === "number" && Number.isFinite(record.recordedAt) &&
26
+ (record.grantVersion === undefined || typeof record.grantVersion === "string");
27
+ }
28
+ /** Host-local skip state. The caller reads during warm-up and commits while holding the sync operation lock. */
29
+ export class WatcherCatchupSkipStore {
30
+ filePath;
31
+ warn;
32
+ now;
33
+ maxRecords;
34
+ warned = new Set();
35
+ loaded = null;
36
+ unresolvedCompanies = new Map();
37
+ indexed = new Map();
38
+ capEvicted = 0;
39
+ needsPersist = false;
40
+ currentGrantVersions = new Map();
41
+ currentGrantCompanies = null;
42
+ currentOntologyPush = new Map();
43
+ constructor(filePath, warn = (message) => process.stderr.write(`${message}\n`), now = Date.now, maxRecords = WATCHER_CATCHUP_SKIP_MAX_RECORDS) {
44
+ this.filePath = filePath;
45
+ this.warn = warn;
46
+ this.now = now;
47
+ this.maxRecords = maxRecords;
48
+ }
49
+ read() {
50
+ if (this.loaded !== null)
51
+ return this.loaded;
52
+ let decoded;
53
+ try {
54
+ decoded = JSON.parse(fs.readFileSync(this.filePath, "utf8"));
55
+ }
56
+ catch (error) {
57
+ if (error.code === "ENOENT") {
58
+ this.warnOnce("missing", "hq-sync-runner: catch-up skip store missing; failing open");
59
+ this.loaded = [];
60
+ return this.loaded;
61
+ }
62
+ this.warnOnce("read", `hq-sync-runner: catch-up skip store unreadable; failing open: ${error instanceof Error ? error.message : String(error)}`);
63
+ this.loaded = [];
64
+ return this.loaded;
65
+ }
66
+ if (typeof decoded !== "object" || decoded === null ||
67
+ decoded.version !== 1 ||
68
+ !Array.isArray(decoded.records) ||
69
+ !decoded.records.every(validRecord) ||
70
+ (decoded.unresolvedCompanies !== undefined &&
71
+ (!Array.isArray(decoded.unresolvedCompanies) ||
72
+ !decoded.unresolvedCompanies.every(validUnresolvedCompanyRecord)))) {
73
+ this.warnOnce("corrupt", "hq-sync-runner: catch-up skip store corrupt; failing open");
74
+ this.loaded = [];
75
+ return this.loaded;
76
+ }
77
+ const records = decoded.records;
78
+ this.unresolvedCompanies = new Map((decoded.unresolvedCompanies ?? []).map((record) => [record.company, record]));
79
+ this.retainUnresolvedCompaniesWithinCap();
80
+ this.retainWithinCap(records);
81
+ return this.loaded ?? [];
82
+ }
83
+ matches(company, relativePath, stat, options = {}) {
84
+ this.read();
85
+ const record = this.indexed.get(company)?.get(relativePath);
86
+ if (!record || record.size !== stat.size || record.mtimeMs !== stat.mtimeMs)
87
+ return false;
88
+ const now = this.now();
89
+ const currentGrantVersion = options.grantVersion ?? this.currentGrantVersions.get(company);
90
+ const ttl = record.reason === "access-denied"
91
+ ? WATCHER_CATCHUP_ACCESS_DENIED_TTL_MS
92
+ : WATCHER_CATCHUP_REMOTE_SKIP_TTL_MS;
93
+ if (now - record.recordedAt >= ttl)
94
+ return false;
95
+ if (record.reason === "access-denied" &&
96
+ company !== "personal" &&
97
+ this.currentGrantCompanies !== null &&
98
+ !this.currentGrantCompanies.has(company))
99
+ return false;
100
+ if (record.reason === "access-denied" &&
101
+ currentGrantVersion !== undefined &&
102
+ record.grantVersion !== currentGrantVersion)
103
+ return false;
104
+ return true;
105
+ }
106
+ hasRecord(company, relativePath) {
107
+ this.read();
108
+ return this.indexed.get(company)?.has(relativePath) ?? false;
109
+ }
110
+ setCurrentGrantVersion(company, grantVersion) {
111
+ this.currentGrantVersions.set(company, grantVersion);
112
+ }
113
+ setCurrentGrantCompanies(companies) {
114
+ this.currentGrantCompanies = new Set(companies);
115
+ this.currentGrantVersions.clear();
116
+ }
117
+ hasCurrentGrantVersion(company) {
118
+ return this.currentGrantVersions.has(company);
119
+ }
120
+ hasCurrentGrantCompany(company) {
121
+ return this.currentGrantCompanies?.has(company) ?? false;
122
+ }
123
+ recordUnresolvedCompany(company) {
124
+ this.read();
125
+ const normalized = company.trim().toLowerCase();
126
+ if (!normalized)
127
+ return;
128
+ this.unresolvedCompanies.delete(normalized);
129
+ this.unresolvedCompanies.set(normalized, {
130
+ company: normalized,
131
+ reason: "unresolved-company",
132
+ recordedAt: this.now(),
133
+ });
134
+ this.retainUnresolvedCompaniesWithinCap();
135
+ this.persistCurrentRecords();
136
+ }
137
+ clearUnresolvedCompany(company) {
138
+ this.read();
139
+ if (!this.unresolvedCompanies.delete(company.trim().toLowerCase()))
140
+ return;
141
+ this.persistCurrentRecords();
142
+ }
143
+ hasFreshUnresolvedCompany(company) {
144
+ this.read();
145
+ const record = this.unresolvedCompanies.get(company.trim().toLowerCase());
146
+ return record !== undefined && this.now() - record.recordedAt < WATCHER_CATCHUP_UNRESOLVED_COMPANY_TTL_MS;
147
+ }
148
+ clearResolvedGrantCompanies() {
149
+ this.read();
150
+ let changed = false;
151
+ for (const company of this.currentGrantCompanies ?? []) {
152
+ changed = this.unresolvedCompanies.delete(company.trim().toLowerCase()) || changed;
153
+ }
154
+ if (changed)
155
+ this.persistCurrentRecords();
156
+ }
157
+ setCurrentOntologyPush(company, enabled) {
158
+ this.currentOntologyPush.set(company, enabled);
159
+ }
160
+ allowsOntologyEntityPush(company) {
161
+ return this.currentOntologyPush.get(company) === true;
162
+ }
163
+ takeCapEvictedCount() {
164
+ const count = this.capEvicted;
165
+ this.capEvicted = 0;
166
+ return count;
167
+ }
168
+ commit(records) {
169
+ if (records.length === 0 && !this.needsPersist)
170
+ return;
171
+ const existing = this.read();
172
+ const byKey = new Map(existing.map((record) => [recordKey(record), record]));
173
+ for (const record of records) {
174
+ const key = recordKey(record);
175
+ byKey.delete(key);
176
+ byKey.set(key, record);
177
+ }
178
+ const retained = [...byKey.values()].filter((record) => this.now() - record.recordedAt < (record.reason === "access-denied"
179
+ ? WATCHER_CATCHUP_ACCESS_DENIED_TTL_MS
180
+ : WATCHER_CATCHUP_REMOTE_SKIP_TTL_MS));
181
+ this.retainWithinCap(retained);
182
+ try {
183
+ this.write(this.loaded ?? []);
184
+ }
185
+ catch (error) {
186
+ this.loaded = [];
187
+ this.indexed.clear();
188
+ this.warnOnce("write", `hq-sync-runner: catch-up skip store write failed; failing open: ${error instanceof Error ? error.message : String(error)}`);
189
+ }
190
+ }
191
+ pruneMissing(isPresent) {
192
+ const now = this.now();
193
+ const records = this.read();
194
+ const retained = records.filter((record) => now - record.recordedAt < (record.reason === "access-denied"
195
+ ? WATCHER_CATCHUP_ACCESS_DENIED_TTL_MS
196
+ : WATCHER_CATCHUP_REMOTE_SKIP_TTL_MS) && isPresent(record));
197
+ if (retained.length === records.length)
198
+ return;
199
+ try {
200
+ this.write(retained);
201
+ }
202
+ catch (error) {
203
+ this.loaded = [];
204
+ this.warnOnce("prune", `hq-sync-runner: catch-up skip store prune failed; failing open: ${error instanceof Error ? error.message : String(error)}`);
205
+ }
206
+ }
207
+ write(records) {
208
+ fs.mkdirSync(path.dirname(this.filePath), { recursive: true });
209
+ const temporary = `${this.filePath}.${process.pid}.${randomUUID()}.tmp`;
210
+ try {
211
+ const now = this.now();
212
+ const unresolvedCompanies = [...this.unresolvedCompanies.values()]
213
+ .filter((record) => now - record.recordedAt < WATCHER_CATCHUP_UNRESOLVED_COMPANY_TTL_MS);
214
+ fs.writeFileSync(temporary, JSON.stringify({ version: 1, records, unresolvedCompanies }), { mode: 0o600 });
215
+ fs.renameSync(temporary, this.filePath);
216
+ this.loaded = records;
217
+ this.needsPersist = false;
218
+ this.rebuildIndex();
219
+ }
220
+ finally {
221
+ try {
222
+ fs.rmSync(temporary, { force: true });
223
+ }
224
+ catch { /* best-effort temp cleanup */ }
225
+ }
226
+ }
227
+ retainWithinCap(records) {
228
+ const evicted = Math.max(0, records.length - this.maxRecords);
229
+ if (evicted > 0) {
230
+ this.capEvicted += evicted;
231
+ this.needsPersist = true;
232
+ this.warnOnce("cap", `hq-sync-runner: catch-up skip store exceeded ${this.maxRecords} records; evicting ${evicted} oldest records (evicted paths fail open)`);
233
+ }
234
+ this.loaded = records.slice(-this.maxRecords);
235
+ this.rebuildIndex();
236
+ }
237
+ persistCurrentRecords() {
238
+ try {
239
+ this.write(this.loaded ?? []);
240
+ }
241
+ catch (error) {
242
+ this.loaded = [];
243
+ this.indexed.clear();
244
+ this.unresolvedCompanies.clear();
245
+ this.warnOnce("write", `hq-sync-runner: catch-up skip store write failed; failing open: ${error instanceof Error ? error.message : String(error)}`);
246
+ }
247
+ }
248
+ retainUnresolvedCompaniesWithinCap() {
249
+ const records = [...this.unresolvedCompanies.values()]
250
+ .filter((record) => this.now() - record.recordedAt < WATCHER_CATCHUP_UNRESOLVED_COMPANY_TTL_MS)
251
+ .sort((a, b) => a.recordedAt - b.recordedAt)
252
+ .slice(-this.maxRecords);
253
+ this.unresolvedCompanies = new Map(records.map((record) => [record.company, record]));
254
+ }
255
+ rebuildIndex() {
256
+ const indexed = new Map();
257
+ for (const record of this.loaded ?? []) {
258
+ let companyRecords = indexed.get(record.company);
259
+ if (!companyRecords) {
260
+ companyRecords = new Map();
261
+ indexed.set(record.company, companyRecords);
262
+ }
263
+ companyRecords.set(record.path, record);
264
+ }
265
+ this.indexed = indexed;
266
+ }
267
+ warnOnce(key, message) {
268
+ if (this.warned.has(key))
269
+ return;
270
+ this.warned.add(key);
271
+ this.warn(message);
272
+ }
273
+ }
274
+ function validUnresolvedCompanyRecord(value) {
275
+ if (typeof value !== "object" || value === null)
276
+ return false;
277
+ const record = value;
278
+ return typeof record.company === "string" && record.company.length > 0 &&
279
+ record.reason === "unresolved-company" &&
280
+ typeof record.recordedAt === "number" && Number.isFinite(record.recordedAt);
281
+ }
282
+ //# sourceMappingURL=watcher-catchup-skip-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher-catchup-skip-store.js","sourceRoot":"","sources":["../../src/bin/watcher-catchup-skip-store.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import type { EntityContext, VaultServiceConfig, SyncJournal } from "../types.js
8
8
  import type { UploadAuthor } from "../s3.js";
9
9
  import { journalFingerprintMatchesStat } from "../journal.js";
10
10
  import type { ConflictStrategy } from "./conflict.js";
11
+ import type { WatcherCatchupSkipReason } from "../bin/watcher-catchup-skip-store.js";
11
12
  import type { SyncProgressEvent } from "./sync.js";
12
13
  import { type CompanyTombstone } from "./tombstones.js";
13
14
  import { type ScopePrefixInput } from "../prefix-coalesce.js";
@@ -586,6 +587,17 @@ export interface ShareOptions {
586
587
  * upload to the same vault clears it.
587
588
  */
588
589
  planLimitPause?: boolean;
590
+ /** Called for watch-runner push skips that warm-up can safely remember. */
591
+ catchupGrantVersion?: string;
592
+ onCatchupOntologyPush?: (company: string, enabled: boolean) => void;
593
+ onCatchupSkip?: (record: {
594
+ company: string;
595
+ path: string;
596
+ reason: WatcherCatchupSkipReason;
597
+ size: number;
598
+ mtimeMs: number;
599
+ grantVersion?: string;
600
+ }) => void;
589
601
  }
590
602
  export interface CompanySkillRegistrationRequest {
591
603
  companySlug: string;
@@ -1 +1 @@
1
- {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/cli/share.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../../src/cli/share.ts"],"names":[],"mappings":"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"}
package/dist/cli/share.js CHANGED
@@ -8,7 +8,7 @@ import * as fs from "fs";
8
8
  import * as os from "os";
9
9
  import * as path from "path";
10
10
  import { resolveSymlinkTargetRefusalFlag } from "../sync/symlink-target-refusal-flag.js";
11
- import { inspectSymlinkTarget, materializedTargetMatchesWire, personalSymlinkTargetLinkPath, } from "../symlink-target-policy.js";
11
+ import { inspectLocalSymlinkScope, inspectSymlinkTarget, materializedTargetMatchesWire, personalSymlinkTargetLinkPath, } from "../symlink-target-policy.js";
12
12
  import { resolveEntityContext, isExpiringSoon, refreshEntityContext } from "../context.js";
13
13
  import { ensureCompanyVaultTransport } from "../company-vault-transport.js";
14
14
  import { createSyncProgressRecorder } from "../sync-progress.js";
@@ -29,7 +29,7 @@ import { compileScopeMatcher, } from "../prefix-coalesce.js";
29
29
  import { hasRemoteChanged, isAccessDenied, resolveActiveCompany, resolveTransferConcurrency, resolveUploadByteBudget, readHostLoad, } from "../sync-core.js";
30
30
  import { buildConflictBackupPath, buildConflictId, buildConflictProbePath, readShortMachineId, } from "../lib/conflict-file.js";
31
31
  import { appendConflictEntry } from "../lib/conflict-index.js";
32
- import { isCloudAuthoritative } from "../lib/cloud-authoritative.js";
32
+ import { isLocallyIneligibleForPush } from "../lib/cloud-authoritative.js";
33
33
  import { isOntologyEntityKey, ONTOLOGY_MULTI_WRITER_FLAG, resolveOntologyEntityPush, } from "../lib/ontology-entity-push.js";
34
34
  import { entityIsFreshForCreate, outboxAllowsEntityPush, readOntologyOutbox, } from "../lib/ontology-outbox.js";
35
35
  import { resolveSkillRegisterLandedBytes } from "../lib/skill-register-landed-bytes.js";
@@ -447,7 +447,7 @@ function refusesServerOwnedPush(relativePath, ontologyEntityPush, absolutePath,
447
447
  return false;
448
448
  return !outboxAllowsEntityPush(ontologyEntityPush, relativePath, absolutePath, plannedHash);
449
449
  }
450
- return isCloudAuthoritative(relativePath);
450
+ return isLocallyIneligibleForPush(relativePath, { boardClientOwned: true });
451
451
  }
452
452
  function computePushPlan(filesToShare, journal, skipUnchanged, onHeartbeat, ontologyEntityPush = false, symlinkContext) {
453
453
  const items = [];
@@ -658,6 +658,22 @@ function portablePushSymlinkTarget(absolutePath, relativePath, localTarget, wire
658
658
  linkPath = `companies/${context.companySlug}/${relativePath}`;
659
659
  }
660
660
  }
661
+ if (scope && scopeRoot) {
662
+ const localInspection = inspectLocalSymlinkScope({
663
+ absoluteLinkPath: absolutePath,
664
+ linkPath,
665
+ scopeRoot,
666
+ scope,
667
+ });
668
+ if (localInspection.refused) {
669
+ const event = {
670
+ classification: localInspection.classification,
671
+ shape: localInspection.shape,
672
+ };
673
+ reportRefusal(event);
674
+ return { target: "", refused: true, ...event };
675
+ }
676
+ }
661
677
  const reuseMatchingWireTarget = () => {
662
678
  if (wireTarget === undefined || !scope || !materializedTargetMatchesWire(absolutePath, localTarget, wireTarget)) {
663
679
  return undefined;
@@ -2070,6 +2086,9 @@ async function buildSharePlans(run) {
2070
2086
  // push, so ordinary passes make no flag request.
2071
2087
  if (pushEntries.some((entry) => isOntologyEntityKey(entry.relativePath))) {
2072
2088
  run.ontologyEntityPush = await resolveRunOntologyEntityPush(run);
2089
+ if (run.options.personalMode !== true) {
2090
+ run.options.onCatchupOntologyPush?.(run.ctx.slug, run.ontologyEntityPush !== false);
2091
+ }
2073
2092
  }
2074
2093
  const pushPlan = await computePushPlanCooperatively(pushEntries, run.journal, run.skipUnchanged === true, run.options.onHeartbeat, run.options.cooperativeCheckpoint, run.ontologyEntityPush, {
2075
2094
  hqRoot: run.hqRoot,
@@ -2401,8 +2420,38 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
2401
2420
  }
2402
2421
  planLimitPauses.save(now);
2403
2422
  };
2423
+ let catchupSkipStatWarningReported = false;
2424
+ const recordCatchupSkip = (relativePath, absolutePath, reason) => {
2425
+ const record = run.options.onCatchupSkip;
2426
+ if (!record)
2427
+ return;
2428
+ try {
2429
+ const stat = fs.lstatSync(absolutePath);
2430
+ if (!stat.isFile() && !stat.isSymbolicLink())
2431
+ return;
2432
+ record({
2433
+ company: run.options.personalMode === true ? "personal" : run.ctx.slug,
2434
+ path: relativePath,
2435
+ reason,
2436
+ size: stat.size,
2437
+ mtimeMs: stat.mtimeMs,
2438
+ ...(run.options.catchupGrantVersion
2439
+ ? { grantVersion: run.options.catchupGrantVersion }
2440
+ : {}),
2441
+ });
2442
+ }
2443
+ catch (error) {
2444
+ // A path that vanished or became unreadable cannot suppress a later warm-up candidate.
2445
+ if (!catchupSkipStatWarningReported) {
2446
+ catchupSkipStatWarningReported = true;
2447
+ process.stderr.write(`hq-cloud: catch-up skip metadata unavailable; leaving path eligible: ${error instanceof Error ? error.message : String(error)}\n`);
2448
+ }
2449
+ }
2450
+ };
2404
2451
  const settleFreshSkip = (item) => {
2405
2452
  if (item.action === "refuse-server-owned") {
2453
+ // Server-owned paths share the local cloud-authoritative predicate with
2454
+ // warm-up. They never enter the host-local remote-refusal skip store.
2406
2455
  if (run.options.serverOwnedPathPolicy !== "skip") {
2407
2456
  emitServerOwnedRefusal(run, item.relativePath);
2408
2457
  }
@@ -2496,7 +2545,8 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
2496
2545
  // fences — see the precondition block below.
2497
2546
  let fenceOnObservedRemote = false;
2498
2547
  // Cloud-authoritative paths (server-regenerated: company-brief.md, board.json,
2499
- // ontology/ signals/ sources/) are PULL-WINS and server-owned. The push leg must
2548
+ // pipeline-owned ontology/, signals/, and sources/) are PULL-WINS and server-owned.
2549
+ // The push leg must
2500
2550
  // NEVER upload the local copy over them — not just on a two-sided conflict, but on
2501
2551
  // ANY divergence, including a one-sided local change. A stale local mirror (e.g. a
2502
2552
  // second HQ root that shares this machine's sync journal) would otherwise read as
@@ -2527,6 +2577,7 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
2527
2577
  catch (headErr) {
2528
2578
  if (isAccessDenied(headErr)) {
2529
2579
  run.scopeExcludedSet.add(relativePath);
2580
+ recordCatchupSkip(relativePath, absolutePath, "access-denied");
2530
2581
  return;
2531
2582
  }
2532
2583
  throw headErr;
@@ -2538,6 +2589,7 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
2538
2589
  if (remoteMeta &&
2539
2590
  !journalRows(run.journal).has(relativePath) &&
2540
2591
  isArchivedSessionLog(relativePath, remoteMeta)) {
2592
+ recordCatchupSkip(relativePath, absolutePath, "archived-session-log");
2541
2593
  run.emit({ type: "skip-archived-session-log", path: relativePath });
2542
2594
  counters.filesSkipped++;
2543
2595
  return;
@@ -2676,6 +2728,7 @@ async function executeUploads(run, pushPlan, counters, conflictPaths) {
2676
2728
  // ordinary journaled edit whose remote is unchanged still uploads.
2677
2729
  const needsRemoteBody = !journalEntry || (localChanged && remoteChanged) || !!journalEntry.localDiverges;
2678
2730
  if (needsRemoteBody && isArchivedSessionLog(relativePath, remoteMeta)) {
2731
+ recordCatchupSkip(relativePath, absolutePath, "archived-session-log");
2679
2732
  run.emit({ type: "skip-archived-session-log", path: relativePath });
2680
2733
  counters.filesSkipped++;
2681
2734
  return;