clinkx 1.1.1 → 1.2.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 (199) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +97 -13
  3. package/clinkx-workflows/dist/allowed-roots.js +2 -0
  4. package/clinkx-workflows/dist/allowed-roots.js.map +1 -1
  5. package/clinkx-workflows/dist/architecture-comparison/admission.d.ts +5 -0
  6. package/clinkx-workflows/dist/architecture-comparison/admission.js +50 -0
  7. package/clinkx-workflows/dist/architecture-comparison/admission.js.map +1 -0
  8. package/clinkx-workflows/dist/architecture-comparison/contract.d.ts +995 -0
  9. package/clinkx-workflows/dist/architecture-comparison/contract.js +149 -0
  10. package/clinkx-workflows/dist/architecture-comparison/contract.js.map +1 -0
  11. package/clinkx-workflows/dist/architecture-comparison/runtime.d.ts +29 -0
  12. package/clinkx-workflows/dist/architecture-comparison/runtime.js +387 -0
  13. package/clinkx-workflows/dist/architecture-comparison/runtime.js.map +1 -0
  14. package/clinkx-workflows/dist/child-env.d.ts +3 -1
  15. package/clinkx-workflows/dist/child-env.js +6 -2
  16. package/clinkx-workflows/dist/child-env.js.map +1 -1
  17. package/clinkx-workflows/dist/config.d.ts +28 -5
  18. package/clinkx-workflows/dist/config.js +137 -20
  19. package/clinkx-workflows/dist/config.js.map +1 -1
  20. package/clinkx-workflows/dist/contained-file.js +10 -1
  21. package/clinkx-workflows/dist/contained-file.js.map +1 -1
  22. package/clinkx-workflows/dist/council-execution-policy.d.ts +4 -2
  23. package/clinkx-workflows/dist/council-execution-policy.js +5 -1
  24. package/clinkx-workflows/dist/council-execution-policy.js.map +1 -1
  25. package/clinkx-workflows/dist/dashboard/activity-contract.d.ts +72 -72
  26. package/clinkx-workflows/dist/dashboard/contracts.d.ts +1564 -122
  27. package/clinkx-workflows/dist/dashboard/contracts.js +4 -0
  28. package/clinkx-workflows/dist/dashboard/contracts.js.map +1 -1
  29. package/clinkx-workflows/dist/dashboard/progress-report-contract.d.ts +12 -12
  30. package/clinkx-workflows/dist/dashboard/progress-report-status-overlay.d.ts +8 -8
  31. package/clinkx-workflows/dist/dashboard/scanner.d.ts +3 -0
  32. package/clinkx-workflows/dist/dashboard/scanner.js +27 -0
  33. package/clinkx-workflows/dist/dashboard/scanner.js.map +1 -1
  34. package/clinkx-workflows/dist/dashboard/session-log-contract.d.ts +48 -48
  35. package/clinkx-workflows/dist/dashboard/session-log-identity.js +2 -1
  36. package/clinkx-workflows/dist/dashboard/session-log-identity.js.map +1 -1
  37. package/clinkx-workflows/dist/dashboard/session-log-redaction.d.ts +2 -0
  38. package/clinkx-workflows/dist/dashboard/session-log-redaction.js +4 -0
  39. package/clinkx-workflows/dist/dashboard/session-log-redaction.js.map +1 -1
  40. package/clinkx-workflows/dist/dashboard/verified-repair-contract.d.ts +191 -0
  41. package/clinkx-workflows/dist/dashboard/verified-repair-contract.js +28 -0
  42. package/clinkx-workflows/dist/dashboard/verified-repair-contract.js.map +1 -0
  43. package/clinkx-workflows/dist/dashboard-ui/assets/index-BdpmbPps.js +115 -0
  44. package/clinkx-workflows/dist/dashboard-ui/assets/style-Im5i1iAs.css +1 -0
  45. package/clinkx-workflows/dist/dashboard-ui/index.html +2 -2
  46. package/clinkx-workflows/dist/engine.d.ts +6 -0
  47. package/clinkx-workflows/dist/engine.js +78 -7
  48. package/clinkx-workflows/dist/engine.js.map +1 -1
  49. package/clinkx-workflows/dist/index.d.ts +3 -0
  50. package/clinkx-workflows/dist/index.js +3 -2
  51. package/clinkx-workflows/dist/index.js.map +1 -1
  52. package/clinkx-workflows/dist/reducers/index.d.ts +9 -1
  53. package/clinkx-workflows/dist/reducers/index.js +22 -0
  54. package/clinkx-workflows/dist/reducers/index.js.map +1 -1
  55. package/clinkx-workflows/dist/root-path-validation.d.ts +12 -0
  56. package/clinkx-workflows/dist/root-path-validation.js +63 -0
  57. package/clinkx-workflows/dist/root-path-validation.js.map +1 -0
  58. package/clinkx-workflows/dist/rosters.d.ts +1 -0
  59. package/clinkx-workflows/dist/rosters.js +16 -6
  60. package/clinkx-workflows/dist/rosters.js.map +1 -1
  61. package/clinkx-workflows/dist/server.js +5 -2
  62. package/clinkx-workflows/dist/server.js.map +1 -1
  63. package/clinkx-workflows/dist/state-schema.d.ts +13 -0
  64. package/clinkx-workflows/dist/state.d.ts +7 -1
  65. package/clinkx-workflows/dist/state.js +90 -19
  66. package/clinkx-workflows/dist/state.js.map +1 -1
  67. package/clinkx-workflows/dist/validators/architecture-comparison.d.ts +2 -0
  68. package/clinkx-workflows/dist/validators/architecture-comparison.js +12 -0
  69. package/clinkx-workflows/dist/validators/architecture-comparison.js.map +1 -0
  70. package/clinkx-workflows/dist/validators/index.js +4 -0
  71. package/clinkx-workflows/dist/validators/index.js.map +1 -1
  72. package/clinkx-workflows/dist/validators/verified-repair.d.ts +2 -0
  73. package/clinkx-workflows/dist/validators/verified-repair.js +12 -0
  74. package/clinkx-workflows/dist/validators/verified-repair.js.map +1 -0
  75. package/clinkx-workflows/dist/verification-proof.d.ts +254 -0
  76. package/clinkx-workflows/dist/verification-proof.js +195 -0
  77. package/clinkx-workflows/dist/verification-proof.js.map +1 -0
  78. package/clinkx-workflows/dist/verified-repair/admission.d.ts +72 -0
  79. package/clinkx-workflows/dist/verified-repair/admission.js +63 -0
  80. package/clinkx-workflows/dist/verified-repair/admission.js.map +1 -0
  81. package/clinkx-workflows/dist/verified-repair/contract.d.ts +1910 -0
  82. package/clinkx-workflows/dist/verified-repair/contract.js +127 -0
  83. package/clinkx-workflows/dist/verified-repair/contract.js.map +1 -0
  84. package/clinkx-workflows/dist/verified-repair/host.d.ts +32 -0
  85. package/clinkx-workflows/dist/verified-repair/host.js +2 -0
  86. package/clinkx-workflows/dist/verified-repair/host.js.map +1 -0
  87. package/clinkx-workflows/dist/verified-repair/prompts.d.ts +12 -0
  88. package/clinkx-workflows/dist/verified-repair/prompts.js +58 -0
  89. package/clinkx-workflows/dist/verified-repair/prompts.js.map +1 -0
  90. package/clinkx-workflows/dist/verified-repair/result.d.ts +16 -0
  91. package/clinkx-workflows/dist/verified-repair/result.js +102 -0
  92. package/clinkx-workflows/dist/verified-repair/result.js.map +1 -0
  93. package/clinkx-workflows/dist/verified-repair/runtime.d.ts +28 -0
  94. package/clinkx-workflows/dist/verified-repair/runtime.js +186 -0
  95. package/clinkx-workflows/dist/verified-repair/runtime.js.map +1 -0
  96. package/clinkx-workflows/dist/workflow-completion.d.ts +83 -0
  97. package/clinkx-workflows/dist/workflow-completion.js +250 -0
  98. package/clinkx-workflows/dist/workflow-completion.js.map +1 -0
  99. package/clinkx-workflows/dist/workflow-tools.d.ts +7 -3
  100. package/clinkx-workflows/dist/workflow-tools.js +487 -46
  101. package/clinkx-workflows/dist/workflow-tools.js.map +1 -1
  102. package/clinkx-workflows/dist/workflow-verification-contract.d.ts +539 -0
  103. package/clinkx-workflows/dist/workflow-verification-contract.js +52 -0
  104. package/clinkx-workflows/dist/workflow-verification-contract.js.map +1 -0
  105. package/clinkx-workflows/dist/workflow-verification.d.ts +15 -0
  106. package/clinkx-workflows/dist/workflow-verification.js +218 -0
  107. package/clinkx-workflows/dist/workflow-verification.js.map +1 -0
  108. package/clinkx-workflows/templates/architecture-comparison/candidate.txt +29 -0
  109. package/clinkx-workflows/templates/architecture-comparison/judge.txt +31 -0
  110. package/clinkx-workflows/templates/verified-repair/investigate.txt +20 -0
  111. package/clinkx-workflows/templates/verified-repair/repair.txt +11 -0
  112. package/clinkx-workflows/templates/verified-repair/review.txt +18 -0
  113. package/clinkx-workflows/workflows/architecture-comparison.yaml +133 -0
  114. package/clinkx-workflows/workflows/verified-repair.yaml +104 -0
  115. package/dist/allowed-roots.d.ts +1 -1
  116. package/dist/allowed-roots.js +128 -15
  117. package/dist/allowed-roots.js.map +1 -1
  118. package/dist/codex/app-server-client.d.ts +1 -0
  119. package/dist/codex/app-server-client.js +3 -2
  120. package/dist/codex/app-server-client.js.map +1 -1
  121. package/dist/context-builder/config.d.ts +1 -0
  122. package/dist/context-builder/config.js +21 -9
  123. package/dist/context-builder/config.js.map +1 -1
  124. package/dist/context-builder/diagnostics.d.ts +1 -0
  125. package/dist/context-builder/diagnostics.js +1 -1
  126. package/dist/context-builder/diagnostics.js.map +1 -1
  127. package/dist/context-builder/discovery.d.ts +18 -1
  128. package/dist/context-builder/discovery.js +69 -1
  129. package/dist/context-builder/discovery.js.map +1 -1
  130. package/dist/context-builder/handler.js +8 -1
  131. package/dist/context-builder/handler.js.map +1 -1
  132. package/dist/context-builder/lifecycle-contract.d.ts +24 -24
  133. package/dist/context-builder/mutation-lock.d.ts +4 -0
  134. package/dist/context-builder/mutation-lock.js +7 -1
  135. package/dist/context-builder/mutation-lock.js.map +1 -1
  136. package/dist/context-builder/refine-handler.js +16 -1
  137. package/dist/context-builder/refine-handler.js.map +1 -1
  138. package/dist/context-builder/secrets.d.ts +11 -0
  139. package/dist/context-builder/secrets.js +75 -0
  140. package/dist/context-builder/secrets.js.map +1 -1
  141. package/dist/context-builder/storage.d.ts +10 -2
  142. package/dist/context-builder/storage.js +213 -16
  143. package/dist/context-builder/storage.js.map +1 -1
  144. package/dist/context-builder/versions.d.ts +5 -2
  145. package/dist/context-builder/versions.js +5 -2
  146. package/dist/context-builder/versions.js.map +1 -1
  147. package/dist/dashboard-cli.d.ts +6 -0
  148. package/dist/dashboard-cli.js +18 -32
  149. package/dist/dashboard-cli.js.map +1 -1
  150. package/dist/dashboard-gateway/main.js +8 -3
  151. package/dist/dashboard-gateway/main.js.map +1 -1
  152. package/dist/index.d.ts +2 -0
  153. package/dist/index.js +8 -2
  154. package/dist/index.js.map +1 -1
  155. package/dist/project-verification/contract.d.ts +537 -0
  156. package/dist/project-verification/contract.js +40 -0
  157. package/dist/project-verification/contract.js.map +1 -0
  158. package/dist/project-verification/files.d.ts +23 -0
  159. package/dist/project-verification/files.js +80 -0
  160. package/dist/project-verification/files.js.map +1 -0
  161. package/dist/project-verification/process.d.ts +7 -0
  162. package/dist/project-verification/process.js +115 -0
  163. package/dist/project-verification/process.js.map +1 -0
  164. package/dist/project-verification/runner.d.ts +35 -0
  165. package/dist/project-verification/runner.js +185 -0
  166. package/dist/project-verification/runner.js.map +1 -0
  167. package/dist/project-verification/service.d.ts +37 -0
  168. package/dist/project-verification/service.js +151 -0
  169. package/dist/project-verification/service.js.map +1 -0
  170. package/dist/provider-doctor.d.ts +22 -0
  171. package/dist/provider-doctor.js +22 -0
  172. package/dist/provider-doctor.js.map +1 -0
  173. package/dist/registry.d.ts +1 -1
  174. package/dist/registry.js +5 -1
  175. package/dist/registry.js.map +1 -1
  176. package/dist/server.js +41 -6
  177. package/dist/server.js.map +1 -1
  178. package/dist/verification-tools.d.ts +90 -0
  179. package/dist/verification-tools.js +120 -0
  180. package/dist/verification-tools.js.map +1 -0
  181. package/dist/verified-repair/files.d.ts +22 -0
  182. package/dist/verified-repair/files.js +114 -0
  183. package/dist/verified-repair/files.js.map +1 -0
  184. package/dist/verified-repair/host.d.ts +14 -0
  185. package/dist/verified-repair/host.js +612 -0
  186. package/dist/verified-repair/host.js.map +1 -0
  187. package/docs/configuration.md +224 -12
  188. package/docs/engineering-recipes.md +415 -0
  189. package/docs/security.md +3 -0
  190. package/docs/verification/README.md +59 -0
  191. package/docs/verification/dashboard-real-disk.md +436 -0
  192. package/docs/verification/project-checks.example.json +14 -0
  193. package/docs/verification/project-checks.md +444 -0
  194. package/docs/verification/workflow-handoff.md +113 -0
  195. package/package.json +10 -2
  196. package/scripts/provider-doctor-core.mjs +380 -0
  197. package/scripts/provider-doctor-probe.mjs +34 -0
  198. package/clinkx-workflows/dist/dashboard-ui/assets/index-JPHQVtn9.js +0 -106
  199. package/clinkx-workflows/dist/dashboard-ui/assets/style-DOMHk-j6.css +0 -1
@@ -3,6 +3,7 @@ import { randomBytes } from "node:crypto";
3
3
  import { hostname } from "node:os";
4
4
  import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
5
5
  import { CancellationError, ExecutionError, InvalidParamsError } from "../errors.js";
6
+ import { logger } from "../logger.js";
6
7
  import { validateProspectiveChildPath } from "../paths.js";
7
8
  import { contextBuilderInternalCapsForManifest, CONTEXT_BUILDER_INTERNAL_CAP_DEFAULTS, resolveContextBuilderRunsDir, } from "./config.js";
8
9
  import { boundContextBuilderOmissions, boundContextBuilderWarnings, } from "./diagnostics.js";
@@ -10,7 +11,7 @@ import { cloneContextBuilderDelegateReceiptMetadata, CONTEXT_BUILDER_DELEGATE_SC
10
11
  import { validateCallerRunId } from "./run-id.js";
11
12
  import { scanSecretPath } from "./secrets.js";
12
13
  import { CONTEXT_BUILDER_INVOCATION_AUDIT_FILENAME, readContextBuilderInvocationAuditSidecar, } from "./invocation-sidecar.js";
13
- import { withContextBuilderMutationLock, } from "./mutation-lock.js";
14
+ import { ContextBuilderMutationLockTimeoutError, withContextBuilderMutationLock, } from "./mutation-lock.js";
14
15
  export const CONTEXT_BUILDER_ARTIFACT_FILE_NAMES = Object.freeze({
15
16
  manifest_json: "manifest.json",
16
17
  bundle_md: "bundle.md",
@@ -54,6 +55,9 @@ export const WORKFLOW_CONTEXT_CACHE_TTL_SECONDS_ENV = "CLINKX_WORKFLOWS_CONTEXT_
54
55
  export const DEFAULT_WORKFLOW_CONTEXT_CACHE_MAX_ENTRIES = 50;
55
56
  export const DEFAULT_WORKFLOW_CONTEXT_CACHE_TTL_SECONDS = 86_400;
56
57
  const DEFAULT_WORKFLOW_CONTEXT_TEMP_TTL_SECONDS = 3_600;
58
+ const WORKFLOW_CONTEXT_CACHE_RUN_PREFIX = "wfctx-";
59
+ const WORKFLOW_CONTEXT_QUARANTINE_PREFIX = ".stale-";
60
+ const WORKFLOW_CONTEXT_QUARANTINE_NAME_PATTERN = /^\.stale-(wfctx-[A-Za-z0-9_-]+)-(\d{1,15})-([0-9a-f]{16})$/;
57
61
  export class ContextBuilderAncillaryPromotionError extends ExecutionError {
58
62
  reasonCode;
59
63
  constructor(reasonCode) {
@@ -207,14 +211,14 @@ export async function writeContextBuilderArtifactsAndCommit(storage, contents, m
207
211
  await writeExclusiveText(canonicalStorage.manifestJson, `${JSON.stringify(completeManifest)}\n`, ops, options.signal === undefined ? {} : { signal: options.signal });
208
212
  }, { ownerNonce });
209
213
  }
210
- export async function promoteContextBuilderRun(tempRunDir, targetRunId, ops = DEFAULT_STORAGE_OPS) {
211
- return await withPromotedContextBuilderRun(tempRunDir, targetRunId, async (storage) => storage, ops);
214
+ export async function promoteContextBuilderRun(tempRunDir, targetRunId, ops = DEFAULT_STORAGE_OPS, options = {}) {
215
+ return await withPromotedContextBuilderRun(tempRunDir, targetRunId, async (storage) => storage, ops, options);
212
216
  }
213
217
  /**
214
218
  * Acquire source before target, then retain the target lease through its
215
219
  * caller's manifest re-read and materialization callback.
216
220
  */
217
- export async function withPromotedContextBuilderRun(tempRunDir, targetRunId, callback, ops = DEFAULT_STORAGE_OPS) {
221
+ export async function withPromotedContextBuilderRun(tempRunDir, targetRunId, callback, ops = DEFAULT_STORAGE_OPS, options = {}) {
218
222
  const resolvedTempRunDir = resolve(tempRunDir);
219
223
  const tempStorage = resolveContextBuilderRunPaths(dirname(resolvedTempRunDir), basename(resolvedTempRunDir));
220
224
  return await withCommittedContextBuilderRunMutationLease(tempStorage, async (sourceOps) => {
@@ -231,11 +235,19 @@ export async function withPromotedContextBuilderRun(tempRunDir, targetRunId, cal
231
235
  throw new ContextBuilderAncillaryPromotionError("invalid_source");
232
236
  }
233
237
  const targetStorage = resolveContextBuilderRunPaths(tempStorage.runsDir, targetRunId);
234
- await claimContextBuilderRunDir(targetStorage, sourceOps);
238
+ await claimContextBuilderRunDir(targetStorage, sourceOps, {
239
+ quarantineRelocatedCacheEntry: true,
240
+ });
241
+ const claimedTarget = await admitContextBuilderRunDirectory(targetStorage, sourceOps);
242
+ if (claimedTarget === undefined) {
243
+ throw new ContextBuilderActiveRunClaimConflictError(targetRunId);
244
+ }
235
245
  let targetCommitted = false;
246
+ let targetLeaseEntered = false;
236
247
  try {
237
248
  await sourceOps.mkdir(targetStorage.artifactDir, { recursive: false, mode: 0o700 });
238
249
  return await withContextBuilderStorageMutationLock(targetStorage, sourceOps, async (targetOps) => {
250
+ targetLeaseEntered = true;
239
251
  await assertManifestAbsentForMutation(targetStorage, targetOps);
240
252
  const artifactEntries = Object.entries(tempManifest.artifacts);
241
253
  for (const [key, sourcePath] of artifactEntries) {
@@ -276,16 +288,29 @@ export async function withPromotedContextBuilderRun(tempRunDir, targetRunId, cal
276
288
  await (targetOps.rm ?? fsRm)(resolvedTempRunDir, { recursive: true, force: true }).catch(() => { });
277
289
  await syncDirectoryBestEffort(tempStorage.runsDir, targetOps);
278
290
  return await callback(targetStorage, targetOps);
291
+ }, {
292
+ maxAttempts: options.targetLockMaxAttempts,
293
+ // A lock left by a holder that died after quarantining the previous
294
+ // incarnation would otherwise wedge this cache id forever.
295
+ canRecoverStale: async () => await isClaimedUncommittedRunDirectory(targetStorage, claimedTarget, sourceOps),
279
296
  });
280
297
  }
281
298
  catch (error) {
282
299
  if (!targetCommitted) {
283
- // This call claimed the uncommitted target, so it owns cleanup.
284
- await (sourceOps.rm ?? fsRm)(targetStorage.runDir, {
285
- recursive: true,
286
- force: true,
287
- }).catch(() => { });
288
- await syncDirectoryBestEffort(targetStorage.runsDir, sourceOps);
300
+ // This call claimed the uncommitted target, so it owns cleanup of
301
+ // that incarnation only.
302
+ if (await isSameRunDirectoryIncarnation(targetStorage, claimedTarget, sourceOps)) {
303
+ await (sourceOps.rm ?? fsRm)(targetStorage.runDir, {
304
+ recursive: true,
305
+ force: true,
306
+ }).catch(() => { });
307
+ await syncDirectoryBestEffort(targetStorage.runsDir, sourceOps);
308
+ }
309
+ }
310
+ if (!targetLeaseEntered
311
+ && error instanceof ContextBuilderMutationLockTimeoutError) {
312
+ logger.warn({ run_id: targetRunId, runs_dir: targetStorage.runsDir }, "context_builder skipped cache promotion because the target mutation lock stayed held");
313
+ throw new ContextBuilderActiveRunClaimConflictError(targetRunId);
289
314
  }
290
315
  throw error;
291
316
  }
@@ -304,8 +329,27 @@ export async function evictWorkflowContextRuns(runsDir, options = {}) {
304
329
  let scanned = 0;
305
330
  let skipped = 0;
306
331
  let failed = 0;
332
+ let quarantined = 0;
333
+ let purged = 0;
307
334
  for (const entry of entries) {
308
- if (!entry.isDirectory() || !isWorkflowContextRunId(entry.name)) {
335
+ if (!entry.isDirectory()) {
336
+ continue;
337
+ }
338
+ const quarantineMatch = WORKFLOW_CONTEXT_QUARANTINE_NAME_PATTERN.exec(entry.name);
339
+ if (quarantineMatch !== null) {
340
+ if (nowMs - Number(quarantineMatch[2]) > bounds.tempTtlMs) {
341
+ try {
342
+ if (await purgeQuarantinedWorkflowContextRun(resolvedRunsDir, entry.name, ops)) {
343
+ purged += 1;
344
+ }
345
+ }
346
+ catch {
347
+ failed += 1;
348
+ }
349
+ }
350
+ continue;
351
+ }
352
+ if (!isWorkflowContextRunId(entry.name)) {
309
353
  continue;
310
354
  }
311
355
  scanned += 1;
@@ -318,7 +362,14 @@ export async function evictWorkflowContextRuns(runsDir, options = {}) {
318
362
  }
319
363
  const admission = await admitCommittedContextBuilderRun(storage, ops);
320
364
  if (admission === undefined) {
321
- skipped += 1;
365
+ if (!protectedRunIds.has(storage.runId)
366
+ && await quarantineRelocatedWorkflowContextRun(storage, ops, nowMs)
367
+ === "quarantined") {
368
+ quarantined += 1;
369
+ }
370
+ else {
371
+ skipped += 1;
372
+ }
322
373
  continue;
323
374
  }
324
375
  const currentDirectoryAdmission = await admitContextBuilderRunDirectory(storage, ops);
@@ -392,10 +443,10 @@ export async function evictWorkflowContextRuns(runsDir, options = {}) {
392
443
  }
393
444
  }
394
445
  }
395
- if (evicted > 0) {
446
+ if (evicted > 0 || purged > 0) {
396
447
  await syncDirectoryBestEffort(resolvedRunsDir, ops);
397
448
  }
398
- return { scanned, evicted, skipped, failed };
449
+ return { scanned, evicted, skipped, failed, quarantined, purged };
399
450
  }
400
451
  export async function cleanupContextBuilderIncompleteRun(storage, ownerNonce, ops = DEFAULT_STORAGE_OPS) {
401
452
  const canonicalStorage = canonicalizeContextBuilderStorage(storage);
@@ -551,6 +602,29 @@ async function admitContextBuilderRunDirectory(storage, ops) {
551
602
  throw error;
552
603
  }
553
604
  }
605
+ async function isSameRunDirectoryIncarnation(storage, claimed, ops) {
606
+ try {
607
+ const current = await admitContextBuilderRunDirectory(storage, ops);
608
+ return current !== undefined
609
+ && current.dev === claimed.dev
610
+ && current.ino === claimed.ino;
611
+ }
612
+ catch {
613
+ return false;
614
+ }
615
+ }
616
+ async function isClaimedUncommittedRunDirectory(storage, claimed, ops) {
617
+ if (!await isSameRunDirectoryIncarnation(storage, claimed, ops)) {
618
+ return false;
619
+ }
620
+ try {
621
+ await (ops.lstat ?? fsLstat)(storage.manifestJson, { bigint: true });
622
+ return false;
623
+ }
624
+ catch (error) {
625
+ return isNodeError(error) && error.code === "ENOENT";
626
+ }
627
+ }
554
628
  function contextBuilderRunDirectoryAdmissionsEqual(left, right) {
555
629
  return left.dev === right.dev
556
630
  && left.ino === right.ino
@@ -681,7 +755,7 @@ async function manifestCleanupDecision(storage, ops) {
681
755
  };
682
756
  }
683
757
  }
684
- async function claimContextBuilderRunDir(paths, ops) {
758
+ async function claimContextBuilderRunDir(paths, ops, options = {}) {
685
759
  try {
686
760
  await ops.mkdir(paths.runDir, { recursive: false, mode: 0o700 });
687
761
  }
@@ -690,11 +764,134 @@ async function claimContextBuilderRunDir(paths, ops) {
690
764
  if (await isContextBuilderRunCommitted(paths.runDir, ops)) {
691
765
  throw new ContextBuilderRunClaimConflictError(paths.runId);
692
766
  }
767
+ if (options.quarantineRelocatedCacheEntry === true
768
+ && await quarantineRelocatedWorkflowContextRunForClaim(paths, ops)) {
769
+ await claimContextBuilderRunDir(paths, ops);
770
+ return;
771
+ }
693
772
  throw new ContextBuilderActiveRunClaimConflictError(paths.runId);
694
773
  }
695
774
  throw error;
696
775
  }
697
776
  }
777
+ async function quarantineRelocatedWorkflowContextRunForClaim(paths, ops) {
778
+ try {
779
+ return await quarantineRelocatedWorkflowContextRun(paths, ops, Date.now())
780
+ !== "not_relocated";
781
+ }
782
+ catch (error) {
783
+ logger.warn({ err: error, run_id: paths.runId, runs_dir: paths.runsDir }, "context_builder could not quarantine a relocated workflow cache entry");
784
+ return false;
785
+ }
786
+ }
787
+ /**
788
+ * A wfctx entry whose committed manifest names the same layout under another
789
+ * runs root (the directory was moved). It can never be admitted here because
790
+ * manifest paths are absolute, and it blocks re-promotion of its cache id.
791
+ */
792
+ async function inspectRelocatedWorkflowContextRun(storage, ops) {
793
+ if (!storage.runId.startsWith(WORKFLOW_CONTEXT_CACHE_RUN_PREFIX)) {
794
+ return undefined;
795
+ }
796
+ const lstat = ops.lstat ?? fsLstat;
797
+ try {
798
+ const directoryAdmission = await admitContextBuilderRunDirectory(storage, ops);
799
+ if (directoryAdmission === undefined) {
800
+ return undefined;
801
+ }
802
+ const manifestStats = await lstat(storage.manifestJson, { bigint: true });
803
+ if (!manifestStats.isFile()) {
804
+ return undefined;
805
+ }
806
+ const serializedManifest = await ops.readFile(storage.manifestJson, "utf8");
807
+ const parsed = JSON.parse(serializedManifest);
808
+ if (!isValidContextBuilderManifest(parsed, storage.runId)) {
809
+ return undefined;
810
+ }
811
+ const artifactKeys = supportedArtifactKeys(parsed.artifacts);
812
+ if (artifactKeys == null
813
+ || artifactPathsExactlyMatch(parsed.artifacts, storage.artifacts, artifactKeys)) {
814
+ return undefined;
815
+ }
816
+ const previousManifestPath = parsed.artifacts.manifest_json;
817
+ if (!isAbsolute(previousManifestPath)) {
818
+ return undefined;
819
+ }
820
+ const previousRunDir = dirname(previousManifestPath);
821
+ if (previousRunDir === storage.runDir
822
+ || basename(previousRunDir) !== storage.runId) {
823
+ return undefined;
824
+ }
825
+ const previousStorage = resolveContextBuilderRunPaths(dirname(previousRunDir), storage.runId);
826
+ if (!artifactPathsExactlyMatch(parsed.artifacts, previousStorage.artifacts, artifactKeys)) {
827
+ return undefined;
828
+ }
829
+ await assertRequiredArtifactsReadable(storage, ops, artifactKeys);
830
+ return { serializedManifest, directoryAdmission, previousRunDir };
831
+ }
832
+ catch {
833
+ return undefined;
834
+ }
835
+ }
836
+ async function quarantineRelocatedWorkflowContextRun(storage, ops, nowMs) {
837
+ const observed = await inspectRelocatedWorkflowContextRun(storage, ops);
838
+ if (observed === undefined) {
839
+ return "not_relocated";
840
+ }
841
+ const isSameRelocatedRun = (current) => current !== undefined
842
+ && current.serializedManifest === observed.serializedManifest
843
+ && contextBuilderRunDirectoryAdmissionsEqual(current.directoryAdmission, observed.directoryAdmission);
844
+ return await withContextBuilderStorageMutationLock(storage, ops, async (leasedOps) => {
845
+ if (!isSameRelocatedRun(await inspectRelocatedWorkflowContextRun(storage, leasedOps))) {
846
+ return await admitContextBuilderRunDirectory(storage, leasedOps)
847
+ === undefined
848
+ ? "already_moved"
849
+ : "not_relocated";
850
+ }
851
+ const quarantineName = `${WORKFLOW_CONTEXT_QUARANTINE_PREFIX}${storage.runId}-${nowMs}-${randomBytes(8).toString("hex")}`;
852
+ try {
853
+ await leasedOps.rename(storage.runDir, join(storage.runsDir, quarantineName));
854
+ }
855
+ catch (error) {
856
+ const code = nodeErrorCode(error);
857
+ if (code === "ENOENT" || code === "EEXIST" || code === "ENOTEMPTY") {
858
+ return "already_moved";
859
+ }
860
+ throw error;
861
+ }
862
+ await syncDirectoryBestEffort(storage.runsDir, leasedOps);
863
+ logger.warn({
864
+ run_id: storage.runId,
865
+ runs_dir: storage.runsDir,
866
+ previous_run_dir: observed.previousRunDir,
867
+ quarantine_name: quarantineName,
868
+ }, "context_builder quarantined a relocated workflow cache entry");
869
+ return "quarantined";
870
+ }, {
871
+ canRecoverStale: async () => isSameRelocatedRun(await inspectRelocatedWorkflowContextRun(storage, ops)),
872
+ });
873
+ }
874
+ async function purgeQuarantinedWorkflowContextRun(runsDir, name, ops) {
875
+ const quarantinePath = join(runsDir, name);
876
+ if (dirname(quarantinePath) !== runsDir
877
+ || !isPathInsideDirectory(quarantinePath, runsDir)) {
878
+ return false;
879
+ }
880
+ try {
881
+ const stats = await (ops.lstat ?? fsLstat)(quarantinePath, { bigint: true });
882
+ if (!stats.isDirectory()) {
883
+ return false;
884
+ }
885
+ }
886
+ catch (error) {
887
+ if (isNodeError(error) && error.code === "ENOENT") {
888
+ return false;
889
+ }
890
+ throw error;
891
+ }
892
+ await (ops.rm ?? fsRm)(quarantinePath, { recursive: true, force: true });
893
+ return true;
894
+ }
698
895
  function throwIfCancelledBeforeManifest(options) {
699
896
  if (options.signal?.aborted !== true) {
700
897
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/context-builder/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/context-builder/storage.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,12 @@
27
27
  * exact-stem test with no containing slice falls back to its first slice), the
28
28
  * head-slice planner skipping only tests already linked to some target, and
29
29
  * non-source (docs/data/config-format) targets reporting regression
30
- * "unavailable".
30
+ * "unavailable". "6" covers the 2026-10 opt-out sanitizer fail-closed checks
31
+ * (an in-place redaction that changes line breaks or runs past
32
+ * MAX_REDACTION_LINES_PER_FINDING lines is blocked instead of delivered) and
33
+ * the `content_secret_redacted` warning.
31
34
  */
32
- export declare const CONTEXT_DISCOVERY_ALGORITHM_VERSION = "5";
35
+ export declare const CONTEXT_DISCOVERY_ALGORITHM_VERSION = "6";
33
36
  /**
34
37
  * Bump whenever the curator/finalizer delegate prompt content changes in a
35
38
  * way that can alter delegate selection decisions
@@ -27,9 +27,12 @@
27
27
  * exact-stem test with no containing slice falls back to its first slice), the
28
28
  * head-slice planner skipping only tests already linked to some target, and
29
29
  * non-source (docs/data/config-format) targets reporting regression
30
- * "unavailable".
30
+ * "unavailable". "6" covers the 2026-10 opt-out sanitizer fail-closed checks
31
+ * (an in-place redaction that changes line breaks or runs past
32
+ * MAX_REDACTION_LINES_PER_FINDING lines is blocked instead of delivered) and
33
+ * the `content_secret_redacted` warning.
31
34
  */
32
- export const CONTEXT_DISCOVERY_ALGORITHM_VERSION = "5";
35
+ export const CONTEXT_DISCOVERY_ALGORITHM_VERSION = "6";
33
36
  /**
34
37
  * Bump whenever the curator/finalizer delegate prompt content changes in a
35
38
  * way that can alter delegate selection decisions
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/context-builder/versions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../src/context-builder/versions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC"}
@@ -19,6 +19,12 @@ export interface DashboardCliDependencies {
19
19
  readonly createDashboardServerPair?: (options: DashboardServerOptions) => readonly [Server, Server];
20
20
  readonly createDashboardPasskeyAuth?: typeof createDashboardPasskeyAuth;
21
21
  }
22
+ export declare function contextBuilderRunsRootForDashboard(options?: {
23
+ env?: NodeJS.ProcessEnv;
24
+ cwd?: string;
25
+ homeDir?: string;
26
+ platform?: NodeJS.Platform;
27
+ }): string;
22
28
  /** Atomic split-origin override supplied on the command line (remote mode). */
23
29
  export interface DashboardRemoteOverride {
24
30
  readonly apiOrigin: string;