@async/pipeline 0.5.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,7 +16,9 @@ export async function publishGitHubPackage(mode, options) {
16
16
  const { packageDir, manifest } = context;
17
17
  assertPublicPackage(manifest);
18
18
  const repository = options.env.GITHUB_REPOSITORY ?? packageRepositoryName(manifest) ?? "";
19
- const owner = (options.env.GITHUB_REPOSITORY_OWNER ?? repository.split("/")[0] ?? "").toLowerCase();
19
+ const owner = (options.namespace ?? options.env.GITHUB_REPOSITORY_OWNER ?? repository.split("/")[0] ?? "").toLowerCase();
20
+ const registry = normalizeRegistry(options.registry ?? GITHUB_REGISTRY);
21
+ const shouldComment = options.comment ?? true;
20
22
  if (!repository || !owner) {
21
23
  throw new Error("Set GITHUB_REPOSITORY or package.json repository so GitHub Packages publishing can resolve the repository owner.");
22
24
  }
@@ -36,7 +38,7 @@ export async function publishGitHubPackage(mode, options) {
36
38
  ...manifest,
37
39
  name: mirrorName,
38
40
  version: releaseContext.version,
39
- publishConfig: { registry: GITHUB_REGISTRY }
41
+ publishConfig: { registry }
40
42
  };
41
43
  delete staged.scripts;
42
44
  delete staged.devDependencies;
@@ -47,10 +49,10 @@ export async function publishGitHubPackage(mode, options) {
47
49
  await cp(join(packageDir, extra), join(stagingDir, extra));
48
50
  }
49
51
  }
50
- const registryUrl = new URL(GITHUB_REGISTRY);
52
+ const registryUrl = new URL(registry);
51
53
  const registryAuthPath = `${registryUrl.host}${registryUrl.pathname.replace(/\/$/, "")}`;
52
54
  const npmConfig = join(stagingDir, ".github-packages.npmrc");
53
- await writeFile(npmConfig, `@${owner}:registry=${GITHUB_REGISTRY}\n//${registryAuthPath}/:_authToken=${token}\n`, "utf8");
55
+ await writeFile(npmConfig, `@${owner}:registry=${registry}\n//${registryAuthPath}/:_authToken=${token}\n`, "utf8");
54
56
  await chmod(npmConfig, 0o600);
55
57
  const npm = (args, runOptions = {}) => spawnSync("npm", args, {
56
58
  cwd: stagingDir,
@@ -59,7 +61,7 @@ export async function publishGitHubPackage(mode, options) {
59
61
  env: { ...options.env, NPM_CONFIG_USERCONFIG: npmConfig }
60
62
  });
61
63
  const spec = `${mirrorName}@${releaseContext.version}`;
62
- const view = npm(["view", spec, "version", "--registry", GITHUB_REGISTRY], { capture: true });
64
+ const view = npm(["view", spec, "version", "--registry", registry], { capture: true });
63
65
  const viewOutput = npmOutput(view);
64
66
  const exists = view.status === 0;
65
67
  if (!exists && !isMissingVersion(view)) {
@@ -71,13 +73,13 @@ export async function publishGitHubPackage(mode, options) {
71
73
  }
72
74
  else {
73
75
  options.io.stdout(`Publishing ${spec} to GitHub Packages with tag ${releaseContext.distTag}.\n`);
74
- const publish = npm(["publish", "--tag", releaseContext.distTag, "--ignore-scripts", "--registry", GITHUB_REGISTRY]);
76
+ const publish = npm(["publish", "--tag", releaseContext.distTag, "--ignore-scripts", "--registry", registry]);
75
77
  if (publish.status !== 0) {
76
78
  throw new Error(`Failed to publish ${spec} to GitHub Packages. Check the job's packages:write permission, package visibility, and whether this immutable version already exists.`);
77
79
  }
78
80
  }
79
81
  const moveDistTag = () => {
80
- const result = npm(["dist-tag", "add", spec, releaseContext.distTag, "--registry", GITHUB_REGISTRY]);
82
+ const result = npm(["dist-tag", "add", spec, releaseContext.distTag, "--registry", registry]);
81
83
  if (result.status !== 0) {
82
84
  throw new Error(`Failed to move GitHub Packages dist-tag ${releaseContext.distTag} to ${spec}.`);
83
85
  }
@@ -123,6 +125,10 @@ export async function publishGitHubPackage(mode, options) {
123
125
  return;
124
126
  }
125
127
  moveDistTag();
128
+ if (!shouldComment) {
129
+ options.io.stdout("Skipping PR preview comment.\n");
130
+ return;
131
+ }
126
132
  const installTarget = (versionOrTag) => {
127
133
  const target = `${mirrorName}@${versionOrTag}`;
128
134
  return mirrorName === manifest.name ? target : `${manifest.name}@npm:${target}`;
@@ -143,7 +149,7 @@ export async function publishGitHubPackage(mode, options) {
143
149
  `pnpm add ${installTarget(releaseContext.version)}`,
144
150
  "```",
145
151
  "",
146
- `Requires GitHub Packages auth and \`@${owner}:registry=${GITHUB_REGISTRY}\` in your npm config.`
152
+ `Requires GitHub Packages auth and \`@${owner}:registry=${registry}\` in your npm config.`
147
153
  ].join("\n");
148
154
  const comments = await guardedApi(() => ghApi(`/repos/${repository}/issues/${pr.number}/comments?per_page=100`), "Could not list PR comments");
149
155
  const previous = Array.isArray(comments)
@@ -171,38 +177,49 @@ export async function publishNpmPackage(options) {
171
177
  const { packageDir, manifest } = await readPackageContext(options.cwd, options.packagePath);
172
178
  assertPublicPackage(manifest);
173
179
  const spec = `${manifest.name}@${manifest.version}`;
174
- const npm = (args, runOptions = {}) => spawnSync("npm", args, {
175
- cwd: packageDir,
176
- encoding: "utf8",
177
- stdio: runOptions.inherit ? "inherit" : ["ignore", "pipe", "pipe"],
178
- env: {
179
- ...options.env,
180
- NPM_CONFIG_CACHE: options.env.NPM_CONFIG_CACHE ?? join(options.cwd, ".async", "npm-cache")
180
+ const auth = await prepareNpmPublishAuth(options);
181
+ try {
182
+ const npm = (args, runOptions = {}) => spawnSync("npm", args, {
183
+ cwd: packageDir,
184
+ encoding: "utf8",
185
+ stdio: runOptions.inherit ? "inherit" : ["ignore", "pipe", "pipe"],
186
+ env: {
187
+ ...auth.env,
188
+ NPM_CONFIG_CACHE: options.env.NPM_CONFIG_CACHE ?? join(options.cwd, ".async", "npm-cache")
189
+ }
190
+ });
191
+ const ensurePublicAccess = () => {
192
+ if (!auth.hasTraditionalAuth) {
193
+ options.io.stdout("Skipping npm access public check because no npm token is configured; trusted publishing only authenticates npm publish.\n");
194
+ return;
195
+ }
196
+ options.io.stdout(`Ensuring ${manifest.name} is public on npm.\n`);
197
+ const access = npm(["access", "set", "status=public", manifest.name, "--registry", NPM_REGISTRY], { inherit: true });
198
+ if (access.status !== 0) {
199
+ throw new Error(`Failed to set npm package access for ${manifest.name}.`);
200
+ }
201
+ };
202
+ const view = npm(["view", spec, "version", "--registry", NPM_REGISTRY]);
203
+ if (view.status === 0 && view.stdout.trim() === manifest.version) {
204
+ ensurePublicAccess();
205
+ options.io.stdout(`${spec} is already published to npm; skipping.\n`);
206
+ return;
181
207
  }
182
- });
183
- const ensurePublicAccess = () => {
184
- options.io.stdout(`Ensuring ${manifest.name} is public on npm.\n`);
185
- const access = npm(["access", "set", "status=public", manifest.name, "--registry", NPM_REGISTRY], { inherit: true });
186
- if (access.status !== 0) {
187
- throw new Error(`Failed to set npm package access for ${manifest.name}.`);
208
+ if (!isMissingVersion(view)) {
209
+ options.io.stderr(npmOutput(view).slice(0, 2000));
210
+ throw new Error(`Could not determine whether ${spec} exists on npm; refusing to guess.`);
211
+ }
212
+ options.io.stdout(`Publishing ${spec} to npm with provenance.\n`);
213
+ const publish = npm(["publish", "--access", "public", "--registry", NPM_REGISTRY, "--provenance"], { inherit: true });
214
+ if (publish.status !== 0) {
215
+ throw new Error(`Failed to publish ${spec} to npm.`);
188
216
  }
189
- };
190
- const view = npm(["view", spec, "version", "--registry", NPM_REGISTRY]);
191
- if (view.status === 0 && view.stdout.trim() === manifest.version) {
192
217
  ensurePublicAccess();
193
- options.io.stdout(`${spec} is already published to npm; skipping.\n`);
194
- return;
195
- }
196
- if (!isMissingVersion(view)) {
197
- options.io.stderr(npmOutput(view).slice(0, 2000));
198
- throw new Error(`Could not determine whether ${spec} exists on npm; refusing to guess.`);
199
218
  }
200
- options.io.stdout(`Publishing ${spec} to npm with provenance.\n`);
201
- const publish = npm(["publish", "--access", "public", "--registry", NPM_REGISTRY, "--provenance"], { inherit: true });
202
- if (publish.status !== 0) {
203
- throw new Error(`Failed to publish ${spec} to npm.`);
219
+ finally {
220
+ if (auth.cleanupDir)
221
+ rmSync(auth.cleanupDir, { force: true, recursive: true });
204
222
  }
205
- ensurePublicAccess();
206
223
  }
207
224
  export async function ensureGitHubRelease(options) {
208
225
  const { manifest } = await readPackageContext(options.cwd, options.packagePath);
@@ -382,6 +399,19 @@ function githubMirrorPackageName(packageName, owner) {
382
399
  }
383
400
  return mirrorName;
384
401
  }
402
+ function normalizeRegistry(registry) {
403
+ const normalized = registry.trim().replace(/\/$/, "");
404
+ try {
405
+ const url = new URL(normalized);
406
+ if (url.protocol !== "https:" && url.protocol !== "http:") {
407
+ throw new Error("unsupported protocol");
408
+ }
409
+ }
410
+ catch {
411
+ throw new Error(`GitHub package registry must be an HTTP(S) URL. Found: ${registry}`);
412
+ }
413
+ return normalized;
414
+ }
385
415
  function packageRepositoryName(manifest) {
386
416
  const repository = manifest.repository;
387
417
  const url = typeof repository === "string"
@@ -399,6 +429,31 @@ async function readGitHubEvent(env, missingMessage) {
399
429
  }
400
430
  return JSON.parse(await readFile(eventPath, "utf8"));
401
431
  }
432
+ async function prepareNpmPublishAuth(options) {
433
+ const token = npmAuthToken(options.env);
434
+ const env = { ...options.env };
435
+ if (!token) {
436
+ if (!env.NODE_AUTH_TOKEN)
437
+ delete env.NODE_AUTH_TOKEN;
438
+ if (!env.NPM_TOKEN)
439
+ delete env.NPM_TOKEN;
440
+ return { env, hasTraditionalAuth: Boolean(env.NPM_CONFIG_USERCONFIG) };
441
+ }
442
+ const cleanupDir = await mkdtemp(join(tmpdir(), "async-pipeline-npm-publish-"));
443
+ const registryUrl = new URL(NPM_REGISTRY);
444
+ const registryAuthPath = `${registryUrl.host}${registryUrl.pathname.replace(/\/$/, "")}`;
445
+ const userconfig = join(cleanupDir, ".npmrc");
446
+ await writeFile(userconfig, `//${registryAuthPath}/:_authToken=${token}\n`, "utf8");
447
+ await chmod(userconfig, 0o600);
448
+ delete env.NPM_TOKEN;
449
+ delete env.NODE_AUTH_TOKEN;
450
+ env.NPM_CONFIG_USERCONFIG = userconfig;
451
+ return { env, hasTraditionalAuth: true, cleanupDir };
452
+ }
453
+ function npmAuthToken(env) {
454
+ const token = env.NPM_TOKEN ?? env.NODE_AUTH_TOKEN;
455
+ return token && token.trim().length > 0 ? token : undefined;
456
+ }
402
457
  async function assertRegistryVersion(spec, registry, options, label) {
403
458
  let cleanupDir;
404
459
  let userconfig;
@@ -1 +1 @@
1
- {"version":3,"file":"package-lifecycle.js","sourceRoot":"","sources":["../src/package-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-lifecycle.js","sourceRoot":"","sources":["../src/package-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
4
4
  import { availableParallelism } from "node:os";
5
5
  import { dirname, join, posix, relative } from "node:path";
6
6
  import { setTimeout as delay } from "node:timers/promises";
7
- import { isAgentStep, isResolvedAgentStep, pipelineError, sh, tasksForJob } from "../core/index.js";
8
- import { acquireRunLock, computeTaskCacheKey, computeTaskCacheKeyDetailed, createStore, diffInputManifests, outputFilesExist, readCacheEntry, readCacheInputManifest, readTaskBaseline, resolveOutputFiles, restoreCacheOutputs, writeAgentPrompt, writeAgentTranscript, writeCacheEntry, writeCacheInputManifest, writeContextPack, writeExecution, writeTaskBaseline, writeTaskLog } from "./store.js";
7
+ import { isAgentStep, isResolvedAgentStep, pipelineError, sh } from "../core/index.js";
8
+ import { selectJobExecutionGraph, snapshotExecutionGraph } from "../core/graph.js";
9
+ import { acquireRunLock, computeTaskCacheKey, computeTaskCacheKeyDetailed, createStore, diffInputManifests, outputFilesExist, readCacheEntry, readCacheInputManifest, readTaskBaseline, resolveOutputFiles, restoreCacheOutputs, writeAgentPrompt, writeAgentTranscript, writeCacheEntry, writeCacheInputManifest, writeContextPack, writeExecution, writeGraphSnapshot, writeTaskBaseline, writeTaskCacheReceipt, writeTaskLog } from "./store.js";
9
10
  import { createRunPlan, sourceContext } from "./sources.js";
10
11
  export class HostCommandExecutor {
11
12
  name = "host";
@@ -264,7 +265,7 @@ export async function runJob(pipeline, options) {
264
265
  }
265
266
  async function runJobLocked(pipeline, options, context, store) {
266
267
  const plan = await createRunPlan(pipeline, context.cwd, store);
267
- const graph = tasksForJob(plan.pipeline, options.id);
268
+ const schedule = executionScheduleForJob(plan.pipeline, options.id);
268
269
  const record = {
269
270
  schemaVersion: 1,
270
271
  id: `${new Date().toISOString().replaceAll(/[:.]/g, "-")}-${randomUUID().slice(0, 8)}`,
@@ -279,6 +280,7 @@ async function runJobLocked(pipeline, options, context, store) {
279
280
  sources: Object.fromEntries(Object.entries(plan.sources).map(([sourceId, resolved]) => [sourceId, resolved.record]))
280
281
  };
281
282
  await writeExecution(store, record);
283
+ await writeGraphSnapshot(store, record.id, snapshotExecutionGraph(schedule.graph, { jobId: options.id }));
282
284
  const jobDefinition = plan.pipeline.jobs[options.id];
283
285
  const envDefinitions = {
284
286
  ...plan.pipeline.env,
@@ -286,9 +288,7 @@ async function runJobLocked(pipeline, options, context, store) {
286
288
  };
287
289
  const taskFingerprints = new Map();
288
290
  const concurrency = normalizeTaskConcurrency(options.concurrency);
289
- const graphIndex = new Map(graph.executionOrder.map((taskId, index) => [taskId, index]));
290
- const graphNodes = new Map(graph.tasks.map((node) => [node.id, node]));
291
- const runnableTaskIds = graph.executionOrder.filter((taskId) => Boolean(plan.pipeline.tasks[taskId]));
291
+ const { graphIndex, graphNodes, runnableTaskIds } = schedule;
292
292
  const dependencyCounts = new Map();
293
293
  const sourcePrepareOrder = new Map();
294
294
  const recordedResults = new Map();
@@ -351,6 +351,7 @@ async function runJobLocked(pipeline, options, context, store) {
351
351
  return { taskId, failed: true, results };
352
352
  }
353
353
  }
354
+ const graphNode = graphNodes.get(taskId);
354
355
  const result = await runTask(plan.pipeline, taskDefinition, {
355
356
  candidate: plan.candidate,
356
357
  cwd: taskDefinition.source?.dir || context.cwd,
@@ -366,10 +367,8 @@ async function runJobLocked(pipeline, options, context, store) {
366
367
  runId: record.id,
367
368
  contextEnv: context.env
368
369
  }) : [],
369
- dependencyFingerprints: Object.fromEntries(taskDefinition.dependsOn.map((dependency) => [
370
- dependency,
371
- taskFingerprints.get(dependency) ?? null
372
- ])),
370
+ dependencyFingerprints: dependencyFingerprintsForTask(graphNodes, taskId, taskDefinition.dependsOn, taskFingerprints),
371
+ graphNodeFingerprint: graphNode?.fingerprint,
373
372
  force: options.force,
374
373
  echo: options.echo,
375
374
  store
@@ -457,7 +456,7 @@ export async function planJob(pipeline, options) {
457
456
  const context = resolveExecutionContext(pipeline, options);
458
457
  const store = await createStore(context.cwd);
459
458
  const plan = await createRunPlan(pipeline, context.cwd, store);
460
- const graph = tasksForJob(plan.pipeline, options.id);
459
+ const schedule = executionScheduleForJob(plan.pipeline, options.id);
461
460
  const jobDefinition = plan.pipeline.jobs[options.id];
462
461
  const envDefinitions = {
463
462
  ...plan.pipeline.env,
@@ -465,7 +464,7 @@ export async function planJob(pipeline, options) {
465
464
  };
466
465
  const fingerprints = new Map();
467
466
  const entries = [];
468
- for (const taskId of graph.executionOrder) {
467
+ for (const taskId of schedule.executionOrder) {
469
468
  const taskDefinition = plan.pipeline.tasks[taskId];
470
469
  if (!taskDefinition)
471
470
  continue;
@@ -500,10 +499,7 @@ export async function planJob(pipeline, options) {
500
499
  : [];
501
500
  const cacheKey = await computeTaskCacheKey(plan.pipeline, taskDefinition, taskCwd, {
502
501
  candidate: plan.candidate,
503
- dependencyFingerprints: Object.fromEntries(taskDefinition.dependsOn.map((dependency) => [
504
- dependency,
505
- fingerprints.get(dependency) ?? null
506
- ])),
502
+ dependencyFingerprints: dependencyFingerprintsForTask(schedule.graphNodes, taskId, taskDefinition.dependsOn, fingerprints),
507
503
  prepareCommands,
508
504
  source: taskDefinition.source,
509
505
  steps
@@ -533,7 +529,26 @@ export async function planJob(pipeline, options) {
533
529
  });
534
530
  }
535
531
  }
536
- return { jobId: options.id, executionOrder: graph.executionOrder, entries };
532
+ return { jobId: options.id, executionOrder: schedule.executionOrder, entries };
533
+ }
534
+ function executionScheduleForJob(pipeline, jobId) {
535
+ const graph = selectJobExecutionGraph(pipeline, jobId);
536
+ const executionOrder = graph.executionOrder;
537
+ return {
538
+ graph,
539
+ executionOrder,
540
+ runnableTaskIds: executionOrder.filter((taskId) => Boolean(pipeline.tasks[taskId])),
541
+ graphIndex: new Map(executionOrder.map((taskId, index) => [taskId, index])),
542
+ graphNodes: new Map(Object.values(graph.nodes).map((node) => [node.id, node]))
543
+ };
544
+ }
545
+ function dependencyFingerprintsForTask(graphNodes, taskId, fallbackDependsOn, fingerprints) {
546
+ const graphDependsOn = graphNodes.get(taskId)?.dependsOn;
547
+ const dependencies = graphDependsOn ?? [...fallbackDependsOn];
548
+ return Object.fromEntries(dependencies.map((dependency) => [
549
+ dependency,
550
+ fingerprints.get(dependency) ?? null
551
+ ]));
537
552
  }
538
553
  export async function runSingleTask(pipeline, taskId, options = {}) {
539
554
  const syntheticJobId = `task:${taskId}`;
@@ -551,6 +566,20 @@ async function runTask(pipeline, taskDefinition, options) {
551
566
  const startedAt = new Date().toISOString();
552
567
  const metadata = {};
553
568
  const taskLog = cappedBuffer(resolveMaxLogBytes(options.contextEnv));
569
+ const writeCacheReceipt = (receipt) => writeTaskCacheReceipt(options.store, options.runId, taskDefinition.id, {
570
+ schemaVersion: 1,
571
+ task: taskDefinition.id,
572
+ runId: options.runId,
573
+ cacheEnabled: Boolean(taskDefinition.cache.enabled),
574
+ decision: receipt.decision,
575
+ dependencyFingerprints: options.dependencyFingerprints ?? {},
576
+ recordedAt: new Date().toISOString(),
577
+ ...(options.graphNodeFingerprint === undefined ? {} : { graphNodeFingerprint: options.graphNodeFingerprint }),
578
+ ...(receipt.cacheKey === undefined ? {} : { cacheKey: receipt.cacheKey }),
579
+ ...(receipt.reason === undefined ? {} : { reason: receipt.reason }),
580
+ ...(receipt.restoredOutputs === undefined ? {} : { restoredOutputs: receipt.restoredOutputs }),
581
+ ...(receipt.inputManifestRecorded === undefined ? {} : { inputManifestRecorded: receipt.inputManifestRecorded })
582
+ });
554
583
  let taskEnv;
555
584
  let envSecretValues = [];
556
585
  let forwardEnvKeys = [];
@@ -569,6 +598,7 @@ async function runTask(pipeline, taskDefinition, options) {
569
598
  catch (error) {
570
599
  const lastError = error instanceof Error ? error.message : String(error);
571
600
  await writeTaskLog(options.store, options.runId, taskDefinition.id, `[env] ${lastError}\n`);
601
+ await writeCacheReceipt({ decision: "unknown", reason: lastError });
572
602
  return {
573
603
  id: taskDefinition.id,
574
604
  status: "failed",
@@ -600,14 +630,38 @@ async function runTask(pipeline, taskDefinition, options) {
600
630
  .filter((value) => typeof value === "string" && value.length > 0)
601
631
  ];
602
632
  const redactLog = (log) => redactKnownValues(log, redactValues);
603
- const resolvedSteps = await resolveTaskSteps(pipeline.agents, taskDefinition.steps, context);
604
- const { cacheKey, inputs: inputManifest } = await computeTaskCacheKeyDetailed(pipeline, taskDefinition, options.cwd, {
605
- candidate: options.candidate,
606
- dependencyFingerprints: options.dependencyFingerprints,
607
- prepareCommands: (options.sourcePrepareCommands ?? []).map((command) => command.command),
608
- source: options.source,
609
- steps: resolvedSteps
610
- });
633
+ let resolvedSteps;
634
+ let cacheKey;
635
+ let inputManifest;
636
+ try {
637
+ resolvedSteps = await resolveTaskSteps(pipeline.agents, taskDefinition.steps, context);
638
+ const detailedCacheKey = await computeTaskCacheKeyDetailed(pipeline, taskDefinition, options.cwd, {
639
+ candidate: options.candidate,
640
+ dependencyFingerprints: options.dependencyFingerprints,
641
+ prepareCommands: (options.sourcePrepareCommands ?? []).map((command) => command.command),
642
+ source: options.source,
643
+ steps: resolvedSteps
644
+ });
645
+ cacheKey = detailedCacheKey.cacheKey;
646
+ inputManifest = detailedCacheKey.inputs;
647
+ }
648
+ catch (error) {
649
+ const lastError = redactLog(error instanceof Error ? error.message : String(error));
650
+ await writeTaskLog(options.store, options.runId, taskDefinition.id, `[cache] ${lastError}\n`);
651
+ await writeCacheReceipt({ decision: "unknown", reason: lastError });
652
+ return {
653
+ id: taskDefinition.id,
654
+ status: "failed",
655
+ startedAt,
656
+ finishedAt: new Date().toISOString(),
657
+ durationMs: Date.now() - started,
658
+ attempts: 0,
659
+ cacheHit: false,
660
+ error: lastError,
661
+ metadata
662
+ };
663
+ }
664
+ let cacheReceipt = null;
611
665
  if (taskDefinition.cache.enabled && !options.force) {
612
666
  const cached = await readTaskCacheEntry(taskDefinition, options.store, cacheKey);
613
667
  if (cached?.status === "passed") {
@@ -631,11 +685,33 @@ async function runTask(pipeline, taskDefinition, options) {
631
685
  await writeCacheInputManifest(options.store, cacheKey, inputManifest);
632
686
  }
633
687
  await writeTaskBaseline(options.store, taskDefinition.id, cacheKey);
688
+ await writeCacheReceipt({
689
+ decision: "hit",
690
+ cacheKey,
691
+ inputManifestRecorded: true,
692
+ ...(taskDefinition.outputs.length > 0 ? { restoredOutputs: true } : {})
693
+ });
634
694
  return result;
635
695
  }
696
+ cacheReceipt = { decision: "miss", cacheKey, reason: cacheHit.reason, inputManifestRecorded: false };
636
697
  taskLog.append(`[cache miss] ${cacheHit.reason}\n`);
637
698
  }
699
+ else {
700
+ cacheReceipt = {
701
+ decision: "miss",
702
+ cacheKey,
703
+ reason: cached ? `cache entry status ${cached.status}` : "no cache entry",
704
+ inputManifestRecorded: false
705
+ };
706
+ }
707
+ }
708
+ else if (taskDefinition.cache.enabled && options.force) {
709
+ cacheReceipt = { decision: "bypassed", cacheKey, reason: "forced run", inputManifestRecorded: false };
638
710
  }
711
+ else {
712
+ cacheReceipt = { decision: "disabled", cacheKey, reason: "task cache disabled", inputManifestRecorded: false };
713
+ }
714
+ await writeCacheReceipt(cacheReceipt);
639
715
  let attempts = 0;
640
716
  let lastError = "";
641
717
  const maxAttempts = Math.max(1, taskDefinition.retry.attempts);
@@ -712,6 +788,9 @@ async function runTask(pipeline, taskDefinition, options) {
712
788
  await writeTaskCacheEntry(taskDefinition, options.store, cacheKey, result, options.cwd);
713
789
  await writeCacheInputManifest(options.store, cacheKey, inputManifest);
714
790
  await writeTaskBaseline(options.store, taskDefinition.id, cacheKey);
791
+ if (cacheReceipt) {
792
+ await writeCacheReceipt({ ...cacheReceipt, inputManifestRecorded: true });
793
+ }
715
794
  }
716
795
  return result;
717
796
  }