@outerlayer/cli 0.33.0-next.20261022173306 → 0.33.0-next.20261022182214

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 (103) hide show
  1. package/README.md +4 -1
  2. package/dist/{agent-setup-TXC37SDW.js → agent-setup-4WKFXVOP.js} +5 -5
  3. package/dist/{build-ZG3IYBVK.js → build-RBLDHQTY.js} +4 -4
  4. package/dist/{build-disk-5CI7FSX4.js → build-disk-4EEKP23Z.js} +5 -5
  5. package/dist/build-info.json +1 -1
  6. package/dist/{builder-6CZUYTHS.js → builder-V3KALVKL.js} +4 -4
  7. package/dist/{check-TKBLYWSD.js → check-LDDMISY6.js} +31 -31
  8. package/dist/{chunk-IOF4N6ED.js → chunk-33SMNWZX.js} +4 -4
  9. package/dist/{chunk-7EBXH2LK.js → chunk-3BGCXC3O.js} +2 -2
  10. package/dist/{chunk-IJXZFFW4.js → chunk-4AHKR3K5.js} +8 -8
  11. package/dist/{chunk-427LS26N.js → chunk-5CZV4FZ5.js} +3 -3
  12. package/dist/{chunk-PETBUIR4.js → chunk-5KO3TN2F.js} +1 -1
  13. package/dist/{chunk-IZDBVUBY.js → chunk-634F6J3Q.js} +1 -1
  14. package/dist/{chunk-6N4CYTHB.js → chunk-A6MLCH76.js} +1 -1
  15. package/dist/{chunk-DSSDKQGX.js → chunk-CMNAAKFD.js} +1 -1
  16. package/dist/{chunk-HAD7LYDL.js → chunk-COLOLDY3.js} +33 -6
  17. package/dist/{chunk-64P3ZIGA.js → chunk-DZGLRVS3.js} +3 -3
  18. package/dist/{chunk-25JWQ3PF.js → chunk-EBX2DU2M.js} +2 -2
  19. package/dist/{chunk-GMMHAUBZ.js → chunk-F5HZT672.js} +3 -3
  20. package/dist/{chunk-M5B7QVWU.js → chunk-FLFK42YF.js} +1 -1
  21. package/dist/{chunk-QY7BNRS6.js → chunk-FSFAP7GA.js} +2 -2
  22. package/dist/{chunk-NVU7QK3A.js → chunk-HDD3BKAE.js} +2 -2
  23. package/dist/{chunk-FXTYLRFW.js → chunk-IQFX5GQH.js} +13 -13
  24. package/dist/{chunk-ZU4ZY7CZ.js → chunk-J6LFFZOY.js} +4 -4
  25. package/dist/{chunk-6QHLXYS2.js → chunk-JDKLORO3.js} +38 -13
  26. package/dist/{chunk-VTCV2EIC.js → chunk-JKPJQNJF.js} +5 -5
  27. package/dist/{chunk-7ZPHKBYH.js → chunk-JUVUVXQZ.js} +2 -2
  28. package/dist/{chunk-R6QCSHKC.js → chunk-KFA762LZ.js} +2 -2
  29. package/dist/{chunk-KCRUMHSL.js → chunk-KQFWTTG7.js} +5 -5
  30. package/dist/{chunk-XR4HMWQI.js → chunk-LOYLFW4I.js} +1 -1
  31. package/dist/{chunk-IX6EADX7.js → chunk-MBGS33SL.js} +10 -1
  32. package/dist/{chunk-KM2ZFYJ5.js → chunk-MCIPCQP3.js} +16 -16
  33. package/dist/{chunk-KGLEUJZO.js → chunk-MWAA3A5T.js} +4 -4
  34. package/dist/{chunk-USCRSIES.js → chunk-O7MSQBTH.js} +1 -1
  35. package/dist/{chunk-CWP6P7FQ.js → chunk-PAFSFC6Q.js} +7 -7
  36. package/dist/{chunk-ILHDLZKE.js → chunk-PWB7EK4Z.js} +1 -1
  37. package/dist/{chunk-WPVIC2ST.js → chunk-QPAPHQZ7.js} +1 -1
  38. package/dist/{chunk-VBXNRP5E.js → chunk-RLGSBR56.js} +2 -2
  39. package/dist/{chunk-V4KIB7DX.js → chunk-VHRKGCBY.js} +1 -1
  40. package/dist/{chunk-7NEOLKCQ.js → chunk-W4UFGYKQ.js} +1 -1
  41. package/dist/{chunk-BZZIW2A3.js → chunk-XCUXPSHL.js} +2 -2
  42. package/dist/{chunk-CBJTDU2Z.js → chunk-Y53T3QZM.js} +1 -1
  43. package/dist/{chunk-VORMBXWO.js → chunk-YMGSMPPW.js} +1 -1
  44. package/dist/{chunk-ZPSS4CVW.js → chunk-ZANK3WWF.js} +1 -1
  45. package/dist/{chunk-FZMBBIZR.js → chunk-ZFJAQS3A.js} +1 -1
  46. package/dist/{chunk-LCHFBISI.js → chunk-ZQSCE7M4.js} +2 -2
  47. package/dist/{chunk-T44DZRT2.js → chunk-ZZAA73E5.js} +3 -3
  48. package/dist/{claude-launcher-H23NRBGG.js → claude-launcher-SNMNPDP4.js} +1 -1
  49. package/dist/{cli-H2SKBBUA.js → cli-QUV5HTDW.js} +86 -86
  50. package/dist/{command-FPIWWJOW.js → command-LEE7TFQE.js} +19 -19
  51. package/dist/{connect-cmd-6CTOXCMO.js → connect-cmd-YNPOL2Y5.js} +4 -4
  52. package/dist/{container-start-22L2L3ZN.js → container-start-SL63GFLG.js} +19 -19
  53. package/dist/{control-plane-launch-LMMGKN45.js → control-plane-launch-O3TXH3LI.js} +4 -4
  54. package/dist/{docker-HRRTSESV.js → docker-WVTQTRSC.js} +4 -4
  55. package/dist/{doctor-SXCEI4PK.js → doctor-KT4HGALK.js} +22 -22
  56. package/dist/{emit-artifact-cmd-PNU53NHX.js → emit-artifact-cmd-PZW7TVHF.js} +9 -9
  57. package/dist/{emit-criteria-cmd-TAHE36VH.js → emit-criteria-cmd-EE7BYO34.js} +6 -6
  58. package/dist/{emit-demo-cmd-LQLAACNI.js → emit-demo-cmd-Q6W74DCY.js} +10 -10
  59. package/dist/{emit-finding-cmd-XAPF2ADX.js → emit-finding-cmd-JXFT233D.js} +6 -6
  60. package/dist/{emit-result-cmd-5JCWPMDF.js → emit-result-cmd-4K6HUK4B.js} +8 -8
  61. package/dist/{emit-step-cmd-XGZ4Y7WB.js → emit-step-cmd-JEADH4VS.js} +6 -6
  62. package/dist/{findings-cmd-GFRXCIDW.js → findings-cmd-MO4MCKIO.js} +6 -6
  63. package/dist/{fleet-readiness-2UOPN73C.js → fleet-readiness-DA2UXFJW.js} +4 -4
  64. package/dist/{governing-source-UE2YJEFL.js → governing-source-74VYUJPC.js} +8 -8
  65. package/dist/{guest-init-KDK4DQFK.js → guest-init-TGECSRKO.js} +1 -1
  66. package/dist/{hook-fast-CSR32RVX.js → hook-fast-PXSDGAUP.js} +1 -1
  67. package/dist/{pending-7B67ODWC.js → host-key-5AUIPHRG.js} +2 -2
  68. package/dist/{image-tag-SHPANRDC.js → image-tag-6U7UYPIT.js} +2 -2
  69. package/dist/index.js +4 -4
  70. package/dist/{init-XYXY27AZ.js → init-7P6JHB6Z.js} +18 -18
  71. package/dist/{init-5MBBGEV6.js → init-BMTDKZU6.js} +18 -18
  72. package/dist/{init-cmd-KUQIWSPY.js → init-cmd-E7DMPT6E.js} +9 -9
  73. package/dist/{init-update-CVBL77OI.js → init-update-S6QVSR72.js} +7 -7
  74. package/dist/{install-TWT2WXEO.js → install-4OPPUC72.js} +2 -2
  75. package/dist/{install-cmd-45CPGPLT.js → install-cmd-BGUN6XFJ.js} +4 -4
  76. package/dist/{logs-2LMXN7GQ.js → logs-2XVSZODP.js} +1 -1
  77. package/dist/{loop-VHTNWIHI.js → loop-7MFQISEV.js} +31 -31
  78. package/dist/{machine-7HDA6MFG.js → machine-4QGWUII5.js} +15 -15
  79. package/dist/{mcp-serve-cmd-3GCJKTSF.js → mcp-serve-cmd-GYLU23YJ.js} +3 -3
  80. package/dist/paths-FE7TXSTA.js +9 -0
  81. package/dist/{host-key-D3EFK52H.js → pending-ZXVJPA24.js} +2 -2
  82. package/dist/{pidfile-WVL54AJK.js → pidfile-ZWJLQIJV.js} +2 -2
  83. package/dist/{record-H4A3HMMD.js → record-JGQ3CCKH.js} +2 -2
  84. package/dist/{runner-env-WXG5KLBK.js → runner-env-V37JMYNW.js} +3 -3
  85. package/dist/{runner-identity-KARE5T3G.js → runner-identity-X3UP5IQ4.js} +4 -4
  86. package/dist/{runner-key-FFWA4AOV.js → runner-key-3STHCRT5.js} +18 -18
  87. package/dist/{session-sender-CHJJC2WE.js → session-sender-I3CQB6YL.js} +9 -9
  88. package/dist/{spec-cmd-7D5PPR4I.js → spec-cmd-E6LI56MR.js} +7 -7
  89. package/dist/{status-UPDTLTTF.js → status-WS2REEFU.js} +20 -20
  90. package/dist/{sync-cmd-IVN4LVOH.js → sync-cmd-ONY2NA4L.js} +8 -8
  91. package/dist/{watch-OELQXJA3.js → watch-TH3E7HC3.js} +8 -8
  92. package/dist/{work-claim-cmd-EIE6NU5O.js → work-claim-cmd-UZYGUHAF.js} +8 -8
  93. package/dist/{work-cmd-LPEBBF4I.js → work-cmd-IGYK3MVP.js} +6 -6
  94. package/dist/{work-comment-cmd-JDIXMD6G.js → work-comment-cmd-D5QETAF5.js} +6 -6
  95. package/dist/{work-logs-cmd-3QFTKXR2.js → work-logs-cmd-I2LQK72I.js} +6 -6
  96. package/dist/{work-open-pr-cmd-LM7C63XI.js → work-open-pr-cmd-FMJKE3M4.js} +7 -7
  97. package/dist/{work-pr-cmd-VFEQMSAI.js → work-pr-cmd-5G3FJSPI.js} +6 -6
  98. package/dist/{work-stop-cmd-YKXWUGTC.js → work-stop-cmd-7J6NG6WO.js} +6 -6
  99. package/package.json +1 -1
  100. package/skill-pack/maintained/outerlayer-build/references/agent-briefs.md +9 -3
  101. package/skill-pack/maintained/outerlayer-build/references/evidence.md +4 -3
  102. package/skill-pack/maintained/outerlayer-evidence/SKILL.md +8 -7
  103. package/dist/paths-G6G3BJHG.js +0 -9
@@ -1,22 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { sha256OfFile, downloadPinned, VoiceDownloadError } from './chunk-2PGI6RDE.js';
4
- import { readDefaultBranchHead, cloneRepository, buildRepositoryImage, prepareImageBuild, KEY_PREFIX, FETCHED_DIR, toolsDockerfile, TAG_HOST, metadataFromLabels, writeRecord, FETCHED_FFMPEG, FETCHED_GH, FETCHED_TINI, FETCHED_VOICE_DIR } from './chunk-KGLEUJZO.js';
4
+ import { readDefaultBranchHead, cloneRepository, buildRepositoryImage, prepareImageBuild, KEY_PREFIX, FETCHED_DIR, toolsDockerfile, TAG_HOST, metadataFromLabels, writeRecord, FETCHED_FFMPEG, FETCHED_GH, FETCHED_TINI, FETCHED_VOICE_DIR } from './chunk-MWAA3A5T.js';
5
5
  import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
6
6
  import { currentCliBuild } from './chunk-OGFGZQA3.js';
7
7
  import { runExec, execCapture, waitForAgent } from './chunk-XXVYHC6D.js';
8
8
  import { GUEST_CID, linkVsockSockets } from './chunk-O5F376JJ.js';
9
- import { describeCallFailure, keepStagedContext, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript, WORKFLOW_PERMISSION_REASON } from './chunk-VTCV2EIC.js';
10
- import { runnerImageVersion } from './chunk-ILHDLZKE.js';
9
+ import { describeCallFailure, keepStagedContext, controlPlaneTokenFailure, refusalCode, resolveGoverningSource, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, shimScript, WORKFLOW_PERMISSION_REASON } from './chunk-JKPJQNJF.js';
10
+ import { runnerImageVersion } from './chunk-PWB7EK4Z.js';
11
11
  import { formatBytes } from './chunk-YYYRBYWG.js';
12
- import { createDockerHost, builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, containerExecArgs, childEnvironment, JUDGE_DIR, MAX_ITEMS_BYTES, JUDGE_ITEMS, MAX_REPORT_BYTES, JUDGE_REPORT, spawnRun } from './chunk-427LS26N.js';
12
+ import { createDockerHost, builderSpec, runnerLabelValue, RUNNER_LABEL, BUILD_LABEL, prepareRunArgs, containerRunArgs, HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, containerExecArgs, childEnvironment, JUDGE_DIR, MAX_ITEMS_BYTES, JUDGE_ITEMS, MAX_REPORT_BYTES, JUDGE_REPORT, spawnRun } from './chunk-5CZV4FZ5.js';
13
13
  import { RecipeError, DOCKER_FEATURE, writeSanitizedRecipe, classifyProperties } from './chunk-3Z3MPR55.js';
14
- import { FIRECRACKER_VERSION, hostHelperPinned, firecrackerArch, MICROVM_ARCHES, CLAUDE_CODE_VERSION, GUEST_HELPER_SHA256, GUEST_ASSETS_BASE_URL, GUEST_KERNEL_SHA256, JAILER_BINARY_SHA256, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, GUEST_ASSETS_VERSION, BUILDER_DISK_VERSION, builderDiskPinned, FFMPEG_STATIC, FFMPEG_BUILD_TAG, GH_SHA256, GH_VERSION, TINI_SHA256, TINI_VERSION, VOICE_PACK_FILES, BUILDER_DISK_SHA256, BUILDER_DISK_BASE_URL, DEFAULT_BASE_IMAGE } from './chunk-R6QCSHKC.js';
14
+ import { FIRECRACKER_VERSION, hostHelperPinned, firecrackerArch, MICROVM_ARCHES, CLAUDE_CODE_VERSION, GUEST_HELPER_SHA256, GUEST_ASSETS_BASE_URL, GUEST_KERNEL_SHA256, JAILER_BINARY_SHA256, FIRECRACKER_BINARY_SHA256, FIRECRACKER_SHA256, GUEST_ASSETS_VERSION, BUILDER_DISK_VERSION, builderDiskPinned, FFMPEG_STATIC, FFMPEG_BUILD_TAG, GH_SHA256, GH_VERSION, TINI_SHA256, TINI_VERSION, VOICE_PACK_FILES, BUILDER_DISK_SHA256, BUILDER_DISK_BASE_URL, DEFAULT_BASE_IMAGE } from './chunk-KFA762LZ.js';
15
15
  import { hostAllowed } from './chunk-UXYLWVTQ.js';
16
16
  import { readDu } from './chunk-YJLHUKYS.js';
17
- import { WorkCommandError } from './chunk-KCRUMHSL.js';
17
+ import { WorkCommandError } from './chunk-KQFWTTG7.js';
18
18
  import { setCustomScrubbers, setLocalIdentity, setRepoRoot, parseTranscript, scrubDeep, scrubText } from './chunk-5DNCFOXA.js';
19
- import { rootfsPathFor, diskTemplatesDir, RUNNER_FILE_MODE, buildsDir, buildDir, vmAssetsDir, RUNNER_DIR_MODE, deliveryDir, ghConfigDir, runnerDirOfBuild, spoolDir, mirrorDir, SHIM_DIR, runnerDir, vsockPath, builderCacheDiskPath } from './chunk-IX6EADX7.js';
19
+ import { rootfsPathFor, diskTemplatesDir, RUNNER_FILE_MODE, buildsDir, buildDir, vmAssetsDir, RUNNER_DIR_MODE, deliveryDir, ghConfigDir, runnerDirOfBuild, spoolDir, mirrorDir, SHIM_DIR, runnerDir, vsockPath, builderCacheDiskPath, builderConsolePath } from './chunk-MBGS33SL.js';
20
20
  import { repositoriesOf, primaryOf, RELAY_PORT, repositoryPath, CHECKOUT_DIR, lifecycleWorkdir, claudeCredential, buildEnvironment, startBuildServices, checkEnvironment, AGENT_CREDENTIAL_MISSING, checkoutPath, JOB_MOUNT } from './chunk-D5ZGMXUL.js';
21
21
  import { sharedSkillNames, skillConflictMessage } from './chunk-FGF52V4V.js';
22
22
  import { versionAtLeast, MINIMUM_CLAUDE_VERSION } from './chunk-HCVLP7XA.js';
@@ -709,10 +709,18 @@ var LOG_TAIL_LINES = 30;
709
709
  var MAX_PENDING_BYTES = 64 * 1024;
710
710
  var MAX_LOG_BYTES = 64 * 1024 * 1024;
711
711
  var RESULT_PREFIX = "OL-RESULT ";
712
+ var ENGINE_PANIC_PREFIX = "OL-ENGINE-PANIC ";
713
+ var ENGINE_STOPPED_LINE = "the Docker engine in the builder is stopped";
712
714
  var REFUSALS_NAMED = 5;
713
715
  var GUEST_OUTPUT = "/out/rootfs.ext4";
714
716
  var DOCKER_WAIT_SECONDS = 90;
715
717
  var BUILD_CACHE_KEEP = "2GB";
718
+ function unpackCommand(target) {
719
+ return ["sh", "-c", 'tar -x --no-same-owner -C "$1"; s=$?; cat >/dev/null; exit $s', "unpack", target];
720
+ }
721
+ function engineLogExcerpt(log) {
722
+ return `grep -m1 'panic:' ${log} | sed 's/^/${ENGINE_PANIC_PREFIX}/' || true; tail -n 20 ${log}`;
723
+ }
716
724
  function builderMachineConfig(limits2, paths) {
717
725
  return machineConfig(limits2, { ...paths, guestInit: BUILDER_INIT });
718
726
  }
@@ -743,13 +751,25 @@ function builderGuestScript(parts) {
743
751
  "export NODE_USE_ENV_PROXY=1",
744
752
  "export DOCKER_CONFIG=/run/builder/docker DOCKER_BUILDKIT=1",
745
753
  "mkdir -p /run/builder/docker /cache/docker",
754
+ "dockerd_pid=",
746
755
  // Whatever way the script ends, the cache keeps the recipe image and a bounded build cache, so a repository's cache disk cannot fill with the images of old recipes.
747
756
  "trim() {",
748
757
  ` docker image ls --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | grep -vxF -e '<none>:<none>' -e ${recipeTag} | xargs -r docker rmi > /dev/null 2>&1 || true`,
749
758
  " docker image prune --force > /dev/null 2>&1 || true",
750
759
  ` docker builder prune --force --keep-storage ${BUILD_CACHE_KEEP} > /dev/null 2>&1 || true`,
751
760
  "}",
752
- "trap trim EXIT",
761
+ // The engine stops and the disks sync before the microVM does: the runner stops a builder without a shutdown, and an engine still running leaves BuildKit's database half-written on the cache disk.
762
+ "settle() {",
763
+ " trim",
764
+ ' if [ -n "$dockerd_pid" ]; then',
765
+ ' kill "$dockerd_pid" 2>/dev/null || true',
766
+ " waited_stop=0",
767
+ ' while kill -0 "$dockerd_pid" 2>/dev/null && [ "$waited_stop" -lt 60 ]; do waited_stop=$((waited_stop + 1)); sleep 1; done',
768
+ ` if ! kill -0 "$dockerd_pid" 2>/dev/null; then echo "${ENGINE_STOPPED_LINE}"; fi`,
769
+ " fi",
770
+ " sync",
771
+ "}",
772
+ "trap settle EXIT",
753
773
  "cat > /run/builder/daemon.json <<'OL_DAEMON_JSON'",
754
774
  JSON.stringify(daemonConfig(), null, 2),
755
775
  "OL_DAEMON_JSON",
@@ -764,10 +784,11 @@ function builderGuestScript(parts) {
764
784
  "mount -t cgroup2 cgroup2 /sys/fs/cgroup 2>/dev/null || true",
765
785
  `node /work/tools/dist/index.js vm-forward --listen ${BRIDGE_ADDRESS}:${TUNNEL_PORT} --to 127.0.0.1:${TUNNEL_PORT} > /run/builder/forward.log 2>&1 &`,
766
786
  "dockerd --config-file /run/builder/daemon.json > /run/builder/dockerd.log 2>&1 &",
787
+ "dockerd_pid=$!",
767
788
  "waited=0",
768
789
  "until docker info > /dev/null 2>&1; do",
769
790
  " waited=$((waited + 1))",
770
- ` if [ "$waited" -gt ${DOCKER_WAIT_SECONDS} ]; then echo "the Docker engine in the builder did not start:"; tail -n 20 /run/builder/dockerd.log; exit 1; fi`,
791
+ ` if [ "$waited" -gt ${DOCKER_WAIT_SECONDS} ]; then echo "the Docker engine in the builder did not start:"; ${engineLogExcerpt("/run/builder/dockerd.log")}; exit 1; fi`,
771
792
  " sleep 1",
772
793
  "done",
773
794
  build,
@@ -896,6 +917,7 @@ async function buildInBuilder(opts, deps, prepared) {
896
917
  }, Math.max(0, opts.deadlineMs - Date.now()));
897
918
  const tail = [];
898
919
  let result;
920
+ let enginePanic;
899
921
  let pending = "";
900
922
  let logged = 0;
901
923
  let hostFailure;
@@ -925,6 +947,8 @@ async function buildInBuilder(opts, deps, prepared) {
925
947
  }
926
948
  for (const line of lines) {
927
949
  if (line.startsWith(RESULT_PREFIX)) result = line.slice(RESULT_PREFIX.length);
950
+ else if (line.startsWith(ENGINE_PANIC_PREFIX)) enginePanic ??= line.slice(ENGINE_PANIC_PREFIX.length);
951
+ else if (line === ENGINE_STOPPED_LINE) continue;
928
952
  else {
929
953
  tail.push(line);
930
954
  if (tail.length > LOG_TAIL_LINES) tail.shift();
@@ -983,12 +1007,12 @@ async function buildInBuilder(opts, deps, prepared) {
983
1007
  } else {
984
1008
  state.cgroup = ports.cgroup.create(id, opts.limits.memoryBytes);
985
1009
  if (state.cgroup !== void 0) record.cgroup = state.cgroup;
986
- state.firecracker = await ports.firecracker.spawn({ binary: opts.firecracker, configPath, consolePath: join(dir, "console.log"), cgroup: state.cgroup });
1010
+ state.firecracker = await ports.firecracker.spawn({ binary: opts.firecracker, configPath, consolePath: builderConsolePath(dir), cgroup: state.cgroup });
987
1011
  record.firecracker = state.firecracker;
988
1012
  writeBuilderRecord(dir, record);
989
1013
  }
990
1014
  if (!await waitForAgent(state.vsockPath, { attempts: BOOT_ATTEMPTS, delayMs: BOOT_POLL_MS, sleep, onFailure: () => void 0 })) {
991
- throw new StepFailed(`the builder microVM did not start: its exec agent did not answer${state.jailed === void 0 ? ` (console in ${join(dir, "console.log")})` : `; its console output is in the journal of the unit ${state.jailed.unit}`}`);
1015
+ throw new StepFailed(`the builder microVM did not start: its exec agent did not answer${state.jailed === void 0 ? ` (console in ${builderConsolePath(dir)})` : `; its console output is in the journal of the unit ${state.jailed.unit}`}`);
992
1016
  }
993
1017
  const space = await cacheSpace();
994
1018
  check(0, "checking the builder's cache disk");
@@ -1020,7 +1044,7 @@ async function buildInBuilder(opts, deps, prepared) {
1020
1044
  for (const { target, stream } of inputs) {
1021
1045
  let status;
1022
1046
  try {
1023
- status = (await ports.exec(state.vsockPath, exec(["tar", "-x", "--no-same-owner", "-C", target]), { stdin: stream, signal: controller.signal })).status;
1047
+ status = (await ports.exec(state.vsockPath, exec(unpackCommand(target)), { stdin: stream, signal: controller.signal })).status;
1024
1048
  } catch (err) {
1025
1049
  if (hostFailure !== void 0 || controller.signal.aborted) throw err;
1026
1050
  throw new StepFailed(`unpacking ${target} in the builder failed: ${err instanceof Error ? err.message : String(err)}${await spaceNote()}`);
@@ -1115,7 +1139,8 @@ async function buildInBuilder(opts, deps, prepared) {
1115
1139
  if (err instanceof StepFailed && refusals.length > 0) return new RecipeError("image_builder_failed", refusalReason(refusals, logPath), logPath);
1116
1140
  const last = tail.filter((line) => line.trim() !== "").at(-1);
1117
1141
  const why = err instanceof StepFailed ? err.message : `the builder microVM failed: ${describeCallFailure(err)}`;
1118
- return new RecipeError("image_builder_failed", `${why}${last === void 0 ? "" : `; the last line was: ${last}`}. The build log is at ${logPath}`, logPath);
1142
+ const panicNote = enginePanic === void 0 ? "" : `; the first panic in the Docker engine's log was: ${enginePanic}`;
1143
+ return new RecipeError("image_builder_failed", `${why}${panicNote}${last === void 0 ? "" : `; the last line was: ${last}`}. The build log is at ${logPath}`, logPath);
1119
1144
  }
1120
1145
  async function stopBuilder() {
1121
1146
  let ok = true;
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { WorkCommandError, postJson } from './chunk-KCRUMHSL.js';
4
- import { defaultGitRunner, materializeContext, isStagingWriteFault, lookupGoverningSource } from './chunk-VORMBXWO.js';
5
- import { signingFetchFor } from './chunk-M5B7QVWU.js';
6
- import { signerFor } from './chunk-IZDBVUBY.js';
7
- import { SHIM_DIR, stagedContextDir, contextHomeDir, deliveryDir, keptContextDir } from './chunk-IX6EADX7.js';
3
+ import { WorkCommandError, postJson } from './chunk-KQFWTTG7.js';
4
+ import { defaultGitRunner, materializeContext, isStagingWriteFault, lookupGoverningSource } from './chunk-YMGSMPPW.js';
5
+ import { signingFetchFor } from './chunk-FLFK42YF.js';
6
+ import { signerFor } from './chunk-634F6J3Q.js';
7
+ import { SHIM_DIR, stagedContextDir, contextHomeDir, deliveryDir, keptContextDir } from './chunk-MBGS33SL.js';
8
8
  import { unsupportedLayout, layoutRefusalReason, composeDelivery } from './chunk-FGF52V4V.js';
9
9
  import { SHIM_SCRIPT, GOVERNANCE_VARIABLE } from './chunk-HCVLP7XA.js';
10
10
  import { readDegraded, readContextManifest, readSourceCache } from './chunk-YQR6E6OV.js';
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LiveUploader } from './chunk-ZU4ZY7CZ.js';
3
+ import { LiveUploader } from './chunk-J6LFFZOY.js';
4
4
  import { CaptureDaemon } from './chunk-5DNCFOXA.js';
5
- import { spoolDir } from './chunk-ZPSS4CVW.js';
5
+ import { spoolDir } from './chunk-ZANK3WWF.js';
6
6
  import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
7
7
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
8
8
  import { mkdirSync, writeFileSync, rmSync } from 'fs';
@@ -29,13 +29,13 @@ var FIRECRACKER_SHA256 = {
29
29
  var FIRECRACKER_BINARY_SHA256 = {
30
30
  x86_64: "99ad0f5cd0514a88aad0e9ae8cfdb3cc3b4ab9d190e1194602406c786b5de7a5"
31
31
  };
32
- var GUEST_ASSETS_VERSION = "7";
32
+ var GUEST_ASSETS_VERSION = "11";
33
33
  var GUEST_ASSETS_BASE_URL = `https://github.com/outerlayerai/guest-assets/releases/download/guest-${GUEST_ASSETS_VERSION}`;
34
34
  var GUEST_KERNEL_SHA256 = {
35
35
  x86_64: "8552fad4bdea1d49f3e7d2aa500ce3f8918fcd2fc66779fd83235949688a39bb"
36
36
  };
37
37
  var GUEST_HELPER_SHA256 = {
38
- x86_64: "0ae934d3ad3f2a94abffcc3f044ba633b1a523dc17ff0c2bc322ed7d7fc505ea"
38
+ x86_64: "e373f0fdb192e9930d19dd39cf75ff1c6cf08fdf5a0f041f12c1f999919fc05a"
39
39
  };
40
40
  function guestAssetsPinned(arch) {
41
41
  const zero = "0".repeat(64);
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectActiveSession, autoConnect } from './chunk-VBXNRP5E.js';
4
- import { workPageUrl } from './chunk-DSSDKQGX.js';
3
+ import { detectActiveSession, autoConnect } from './chunk-RLGSBR56.js';
4
+ import { workPageUrl } from './chunk-CMNAAKFD.js';
5
5
  import { sanitizeTerminal } from './chunk-EWVYQLD3.js';
6
6
  import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
7
7
  import { C } from './chunk-ANPNT6PM.js';
8
- import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-M5B7QVWU.js';
9
- import { signRunnerRequest } from './chunk-IZDBVUBY.js';
8
+ import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-FLFK42YF.js';
9
+ import { signRunnerRequest } from './chunk-634F6J3Q.js';
10
10
  import { readRepoConnection } from './chunk-BJ3KTMDH.js';
11
11
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
12
12
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -441,7 +441,7 @@ async function runWorkLinkSession(opts) {
441
441
  return await linkSession(opts);
442
442
  } catch (err) {
443
443
  if (opts.logFailures) {
444
- const { logHookError } = await import('./hook-fast-CSR32RVX.js');
444
+ const { logHookError } = await import('./hook-fast-PXSDGAUP.js');
445
445
  const reason = err instanceof Error ? err.message : String(err);
446
446
  logHookError(opts.home ?? homeFromEnv(opts.env ?? process.env), new Error(`work link-session #${opts.number} failed: ${reason}`));
447
447
  }
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { sanitizeTerminal } from './chunk-EWVYQLD3.js';
4
4
  import { isAgentsMdLayout } from './chunk-HJYBWJAS.js';
5
- import { resolveGatewayCredentials, defaultFetch } from './chunk-M5B7QVWU.js';
5
+ import { resolveGatewayCredentials, defaultFetch } from './chunk-FLFK42YF.js';
6
6
  import { versionAtLeast } from './chunk-HCVLP7XA.js';
7
7
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
8
8
  import { machineSkillsState, staleClaudeSkills } from './chunk-GFYEMCPP.js';
@@ -86,5 +86,14 @@ function deliveryDir(repository, sha) {
86
86
  }
87
87
  return `${BUILD_HOME}/.outerlayer/context/${repository}/${sha}`;
88
88
  }
89
+ function jobConsolePath(jobDirPath) {
90
+ return join(jobDirPath, "vm-console.log");
91
+ }
92
+ function builderConsolePath(buildDirPath) {
93
+ return join(buildDirPath, "console.log");
94
+ }
95
+ function imageBuildLogsDir(configPath, owner, name) {
96
+ return join(imagesDir(configPath), owner, name, "builds");
97
+ }
89
98
 
90
- export { RUNNER_DIR_MODE, RUNNER_FILE_MODE, SHIM_DIR, attemptStamp, buildDir, builderCacheDiskPath, buildsDir, contextHomeDir, deliveryDir, diskTemplatesDir, ghConfigDir, hostKeyPath, imagesDir, jobDir, jobsDir, keptContextDir, mirrorDir, pidFilePath, repoCacheDir, rootfsDir, rootfsPathFor, runnerDir, runnerDirOfBuild, spoolDir, stagedContextDir, vmAssetsDir, vsockPath };
99
+ export { RUNNER_DIR_MODE, RUNNER_FILE_MODE, SHIM_DIR, attemptStamp, buildDir, builderCacheDiskPath, builderConsolePath, buildsDir, contextHomeDir, deliveryDir, diskTemplatesDir, ghConfigDir, hostKeyPath, imageBuildLogsDir, imagesDir, jobConsolePath, jobDir, jobsDir, keptContextDir, mirrorDir, pidFilePath, repoCacheDir, rootfsDir, rootfsPathFor, runnerDir, runnerDirOfBuild, spoolDir, stagedContextDir, vmAssetsDir, vsockPath };
@@ -1,29 +1,29 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, execCommandLine, startSender, startHostServices, finishJob, sampleGuest, foldSample, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, GUEST_USAGE_INTERVAL_MS, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-FXTYLRFW.js';
3
+ import { releaseLease, isUnfinished, setStage, jobEnv, runHook, describeHookEnd, provisionMicroVm, deliverCommitHooks, provisionProcess, provisionEnvironment, readProvisionOut, resolveHostBuild, workdirProblem, listenOnBroker, hostEnvironment, hostCommandEnvironment, execArgv, MICROVM_COMMAND_DIR, commandLogOffset, startMicroVmCommand, microVmCommandLine, runCommand, execCommandLine, startSender, startHostServices, finishJob, sampleGuest, foldSample, isContainerTracked, isMicroVmTracked, probeMicroVmCommand, probeCommand, appendCommandLog, judgeProbe, EXIT_CODE_FILE, isTracked, isGroupAlive, outcomeFromExitCode, isTimedOut, readCpuUsec, isIdle, stopOrphanedMicroVms, unfinishedJobs, listUnreadableJobs, listAdoptableJobs, retryFailedReleases, recoverLostJobs, GUEST_USAGE_INTERVAL_MS, hookLimitsFor, AttemptLogBook, microVmOomKills, needsRenew, renewLease, RENEW_INTERVAL_SECONDS, listTrackedJobs, restartSender, serveLease, vmAlive, writeGuestGhConfig, ALREADY_RELEASED, inTeardown } from './chunk-IQFX5GQH.js';
4
4
  import { JOB_STATE_FORMAT, readsJobState, jobStateFormatOf } from './chunk-ZVB57WI6.js';
5
- import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-WPVIC2ST.js';
5
+ import { readHousekeepingRecord, writeHousekeepingRecord } from './chunk-QPAPHQZ7.js';
6
6
  import { decideInstalledSwitch } from './chunk-3JVYMD4G.js';
7
7
  import { fetchVersionMeta, npmVersion, npmSupportsProvenance, fetchTarballDigest, fetchProvenance, installVersion, auditSignatures } from './chunk-E7R2GIAW.js';
8
- import { fitImageBuildMemory } from './chunk-7NEOLKCQ.js';
8
+ import { fitImageBuildMemory } from './chunk-W4UFGYKQ.js';
9
9
  import { RUNNER_PROTOCOL } from './chunk-YKYCE4HY.js';
10
- import { writePendingUpdate } from './chunk-PETBUIR4.js';
11
- import { currentSkillCommand, formerSkillProblem, realBlockedProbes, checkBlocked } from './chunk-CWP6P7FQ.js';
12
- import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-USCRSIES.js';
10
+ import { writePendingUpdate } from './chunk-5KO3TN2F.js';
11
+ import { currentSkillCommand, formerSkillProblem, realBlockedProbes, checkBlocked } from './chunk-PAFSFC6Q.js';
12
+ import { writeMarker, readMarker, currentVersion, removeMarker, entryIn, versionDir, startedThroughCurrent, switchCurrent, isInLayout, cleanVersions, stagingDir } from './chunk-O7MSQBTH.js';
13
13
  import { RepoFilter } from './chunk-TBT347UY.js';
14
- import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, setUpRunnerCgroup, sweepImageBuilders, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-6QHLXYS2.js';
15
- import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-FZMBBIZR.js';
14
+ import { leaseTimeLeftMs, createContainerRuntime, withTunnelLog, LEASE_SECONDS, provisionContainer, leaseExpiresAtMs, deliverContainerHooks, lifecycleSteps, lifecycleFailureReason, prepareBranch, containerCommandExec, setUpRunnerCgroup, sweepImageBuilders, measureDisk, parseCpuList, ensureTunnel, keepGhConfigCurrent, filesAreCopied, gitRemoteFor, startServicesFor, createLeaseChannel } from './chunk-JDKLORO3.js';
15
+ import { claimPidFile, writePidFile, readPidFile, releasePidFile } from './chunk-ZFJAQS3A.js';
16
16
  import { startTimeOf, isSameProcess } from './chunk-JBJTC3UU.js';
17
- import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-VTCV2EIC.js';
18
- import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-ILHDLZKE.js';
17
+ import { describeCallFailure, retrySend, shortClaim, relativeToRunner, formatDuration, BuildTokens, classifyRefusal, refusalCode, createRunnerLog, formatClock } from './chunk-JKPJQNJF.js';
18
+ import { tagToPull, pullInstruction, imageTag, writeUpdateStatus } from './chunk-PWB7EK4Z.js';
19
19
  import { isVersion, compareVersions, satisfiesRange } from './chunk-TQMI335S.js';
20
20
  import { freeBytes, formatBytes } from './chunk-YYYRBYWG.js';
21
- import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-427LS26N.js';
21
+ import { writeJobFile, ensureRunnerIdentity, readJobFile, builderName, runnerLabelValue, ensureFailureCount, builderSpec, ensureBuilder, spawnRun, BUILD_LABEL, RUNNER_LABEL, readJobFileChecked } from './chunk-5CZV4FZ5.js';
22
22
  import { isBuiltinContainer, isBuiltinVm, isBuiltinProcess, loadRunnerConfig, checkHooks, builtinKind, DEFAULT_UPDATE_MAX_WAIT_HOURS } from './chunk-ZQ7VRXYM.js';
23
23
  import { exceedsDisk } from './chunk-YJLHUKYS.js';
24
- import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-KCRUMHSL.js';
25
- import { loadHostKey, ensureHostKey, signerFor } from './chunk-IZDBVUBY.js';
26
- import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, imagesDir, rootfsDir, builderCacheDiskPath } from './chunk-IX6EADX7.js';
24
+ import { isSignatureRefusal, WorkCommandError, getJson, postJson } from './chunk-KQFWTTG7.js';
25
+ import { loadHostKey, ensureHostKey, signerFor } from './chunk-634F6J3Q.js';
26
+ import { RUNNER_DIR_MODE, runnerDir, buildDir, attemptStamp, jobDir, RUNNER_FILE_MODE, jobsDir, pidFilePath, spoolDir, imagesDir, rootfsDir, builderCacheDiskPath } from './chunk-MBGS33SL.js';
27
27
  import { parseClaimIdentity, parseClaimedRepositories, parseUnreachable, repositoriesOf, primaryOf, sharedUserEnvironment, JOB_MOUNT, takeClaudeCredential, heldClaudeCredential, currentClaudeCredential } from './chunk-D5ZGMXUL.js';
28
28
  import { resolveVersion } from './chunk-RA3O54FC.js';
29
29
  import { fdName } from './chunk-HACGUL52.js';
@@ -1837,7 +1837,7 @@ var CLAIM_REFUSAL_CODES = new Set(
1837
1837
  "pull_request_from_fork pull_request_on_default_branch pull_request_ambiguous pull_request_repository_not_connected repository_not_reachable branch_claimed_elsewhere".split(" ")
1838
1838
  );
1839
1839
  async function tryClaimAndStart(state, item, queue) {
1840
- const { postJson: postJson2 } = await import('./work-cmd-LPEBBF4I.js');
1840
+ const { postJson: postJson2 } = await import('./work-cmd-IGYK3MVP.js');
1841
1841
  const log = logOf(state);
1842
1842
  const hostKey = await loadHostKey(state.config.configPath);
1843
1843
  const claim = await retrySend(
@@ -3033,7 +3033,7 @@ async function start(configPath, deps = { fetchImpl: fetch }) {
3033
3033
  check: update.check ? () => update.check(configPath) : async () => {
3034
3034
  const held = heldClaudeCredential();
3035
3035
  const env = held === void 0 ? process.env : { ...process.env, [held.variable]: held.value };
3036
- return (await import('./check-TKBLYWSD.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
3036
+ return (await import('./check-LDDMISY6.js')).runRunnerCheck(configPath, { fetchImpl: deps.fetchImpl, env });
3037
3037
  },
3038
3038
  now: () => (deps.now ?? (() => /* @__PURE__ */ new Date()))().getTime(),
3039
3039
  log
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-FZMBBIZR.js';
3
+ import { claimPidFile, RunnerAlreadyRunningError, releasePidFile } from './chunk-ZFJAQS3A.js';
4
4
  import { startTimeOf } from './chunk-JBJTC3UU.js';
5
5
  import { RecipeError, locateRecipe, readRecipe, assertBuildable, writeSanitizedRecipe, classifyProperties, SANITIZED_NAME } from './chunk-3Z3MPR55.js';
6
- import { GH_VERSION, VOICE_PACK_FILES, VOICE_PACK_VERSION, FFMPEG_STATIC, FFMPEG_BUILD_TAG, GH_SHA256, TINI_SHA256, TINI_VERSION, CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, MEDIA_PINS, PLAYWRIGHT_VERSION } from './chunk-R6QCSHKC.js';
7
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, repoCacheDir, imagesDir, attemptStamp, runnerDir, rootfsPathFor } from './chunk-IX6EADX7.js';
6
+ import { GH_VERSION, VOICE_PACK_FILES, VOICE_PACK_VERSION, FFMPEG_STATIC, FFMPEG_BUILD_TAG, GH_SHA256, TINI_SHA256, TINI_VERSION, CLAUDE_CODE_VERSION, NODE_IMAGE, DEFAULT_BASE_IMAGE, MEDIA_PINS, PLAYWRIGHT_VERSION } from './chunk-KFA762LZ.js';
7
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE, repoCacheDir, imagesDir, imageBuildLogsDir, attemptStamp, runnerDir, rootfsPathFor } from './chunk-MBGS33SL.js';
8
8
  import { PROXY_WARNING_FLAG, withGitConfig, tokenHeader } from './chunk-D5ZGMXUL.js';
9
9
  import { RELAY_ID, RELAY_USER } from './chunk-MESOOLF4.js';
10
10
  import { mkdirSync, rmSync, writeFileSync, existsSync, mkdtempSync, cpSync, readFileSync, readdirSync, lstatSync, readlinkSync } from 'fs';
@@ -423,7 +423,7 @@ async function prepareImageBuild(opts) {
423
423
  const baseImage = opts.defaultBaseImage ?? DEFAULT_BASE_IMAGE;
424
424
  const cacheDir = repoCacheDir(opts.configPath, owner, name);
425
425
  const repoRecords = join(imagesDir(opts.configPath), owner, name);
426
- const logPath = join(repoRecords, "builds", `${attemptStamp(now())}.log`);
426
+ const logPath = join(imageBuildLogsDir(opts.configPath, owner, name), `${attemptStamp(now())}.log`);
427
427
  const lockPath = join(repoRecords, LOCK_NAME);
428
428
  const self = { pid: process.pid, start: startTimeOf(process.pid) ?? "" };
429
429
  mkdirSync(repoRecords, { recursive: true, mode: RUNNER_DIR_MODE });
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-IX6EADX7.js';
3
+ import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-MBGS33SL.js';
4
4
  import { readlinkSync, realpathSync, mkdirSync, unlinkSync, symlinkSync, renameSync, readFileSync, writeFileSync, rmSync, existsSync, readdirSync } from 'fs';
5
5
  import { join, basename, sep, resolve } from 'path';
6
6
 
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { isPlaceholderCommand } from './chunk-IOF4N6ED.js';
4
- import { describeCallFailure } from './chunk-VTCV2EIC.js';
5
- import { checkFit } from './chunk-6N4CYTHB.js';
6
- import { realBuildDiskProbe, checkDiskFit, DEFAULT_BUILD_DISK } from './chunk-7EBXH2LK.js';
7
- import { builderDiskPinned } from './chunk-R6QCSHKC.js';
3
+ import { isPlaceholderCommand } from './chunk-33SMNWZX.js';
4
+ import { describeCallFailure } from './chunk-JKPJQNJF.js';
5
+ import { checkFit } from './chunk-A6MLCH76.js';
6
+ import { realBuildDiskProbe, checkDiskFit, DEFAULT_BUILD_DISK } from './chunk-3BGCXC3O.js';
7
+ import { builderDiskPinned } from './chunk-KFA762LZ.js';
8
8
  import { builtinKind, imageBuildOf } from './chunk-ZQ7VRXYM.js';
9
- import { WorkCommandError, getJson } from './chunk-KCRUMHSL.js';
9
+ import { WorkCommandError, getJson } from './chunk-KQFWTTG7.js';
10
10
  import { sanitizeTerminal } from './chunk-EWVYQLD3.js';
11
- import { signerFor } from './chunk-IZDBVUBY.js';
11
+ import { signerFor } from './chunk-634F6J3Q.js';
12
12
  import { CLAUDE_CREDENTIAL_VARIABLES, claudeCredential, claudeCredentialVariablesSet } from './chunk-D5ZGMXUL.js';
13
13
  import { closeSync, openSync, constants } from 'fs';
14
14
  import { totalmem } from 'os';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { isVersion, compareVersions } from './chunk-TQMI335S.js';
4
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-IX6EADX7.js';
4
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-MBGS33SL.js';
5
5
  import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
6
6
  import { join } from 'path';
7
7
 
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-IX6EADX7.js';
3
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-MBGS33SL.js';
4
4
  import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
5
5
  import { join } from 'path';
6
6
 
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-DSSDKQGX.js';
3
+ import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-CMNAAKFD.js';
4
4
  import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
5
- import { resolveGatewayCredentials } from './chunk-M5B7QVWU.js';
5
+ import { resolveGatewayCredentials } from './chunk-FLFK42YF.js';
6
6
  import { findGitDirs, readRepoConnection } from './chunk-BJ3KTMDH.js';
7
7
  import { cliInvocation } from './chunk-CRB3POP4.js';
8
8
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -5,7 +5,7 @@ import { addStdioMcpEntryIfAbsent, addDocsMcpEntryIfAbsent, DOCS_MCP_SERVER_NAME
5
5
  import { installStarterPack } from './chunk-DY7Y7UT4.js';
6
6
  import { AGENTS_MD_LAYOUT, declareAgentsMdLayout, linkClaudeSkills, SKILLS_LINK_PATH, describeSkillsLink, isAgentsMdLayout, holdsTodaysLayoutSources, discoverOuterlayerPaths } from './chunk-HJYBWJAS.js';
7
7
  import { C } from './chunk-ANPNT6PM.js';
8
- import { resolveGitCommonDir, defaultGitRunner } from './chunk-VORMBXWO.js';
8
+ import { resolveGitCommonDir, defaultGitRunner } from './chunk-YMGSMPPW.js';
9
9
  import { loadTemplateFiles, loadMaintainedFiles, skillDir, AGENTS_SKILLS_BASE } from './chunk-G63KT5I5.js';
10
10
  import { cliInvocation } from './chunk-CRB3POP4.js';
11
11
  import { linkedAgentsPath } from './chunk-AVTI3FL5.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-6N4CYTHB.js';
3
+ import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-A6MLCH76.js';
4
4
  import { readFileSync } from 'fs';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { autoConnect, detectActiveSession } from './chunk-VBXNRP5E.js';
3
+ import { autoConnect, detectActiveSession } from './chunk-RLGSBR56.js';
4
4
  import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
- import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-M5B7QVWU.js';
6
+ import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-FLFK42YF.js';
7
7
  import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
8
8
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
9
9
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { currentLink } from './chunk-USCRSIES.js';
3
+ import { currentLink } from './chunk-O7MSQBTH.js';
4
4
  import { readFileSync, statSync, chmodSync, mkdirSync, writeFileSync, renameSync, rmSync, existsSync, lstatSync, accessSync, constants, realpathSync } from 'fs';
5
5
  import { randomBytes } from 'crypto';
6
6
  import { join, dirname, delimiter, resolve } from 'path';
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { removeRetiredSkills } from './chunk-UIUGTW5C.js';
4
- import { defaultFetch, resolveGatewayCredentials } from './chunk-M5B7QVWU.js';
4
+ import { defaultFetch, resolveGatewayCredentials } from './chunk-FLFK42YF.js';
5
5
  import { withTokenHeader } from './chunk-D5ZGMXUL.js';
6
6
  import { appendContextProvenance } from './chunk-ZJSNLVCE.js';
7
7
  import { loadMaintainedFiles, writeMaintainedFiles } from './chunk-G63KT5I5.js';
@@ -684,7 +684,7 @@ async function missingControlPlane(cwd, sessionId, home, env) {
684
684
  cleanupEarlierCopies(dirs);
685
685
  }
686
686
  if (!contextPossiblyGoverned(cwd, home)) return void 0;
687
- const { governanceOf } = await import('./control-plane-launch-LMMGKN45.js');
687
+ const { governanceOf } = await import('./control-plane-launch-O3TXH3LI.js');
688
688
  if (await governanceOf({ cwd, env, home }) !== "governed") return void 0;
689
689
  recordMissingContext(dirs, sessionId, home);
690
690
  const launcher = `${cliInvocation()} claude`;
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { isSameProcess } from './chunk-JBJTC3UU.js';
4
- import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-IX6EADX7.js';
4
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-MBGS33SL.js';
5
5
  import { existsSync, readFileSync, mkdirSync, writeFileSync, rmSync } from 'fs';
6
6
  import { dirname } from 'path';
7
7
 
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
- import { detectActiveSession, autoConnect } from './chunk-VBXNRP5E.js';
4
+ import { detectActiveSession, autoConnect } from './chunk-RLGSBR56.js';
5
5
  import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-M5B7QVWU.js';
7
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-FLFK42YF.js';
8
8
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
9
9
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
10
10
  import { CriteriaListSchema } from './chunk-E6CO3MJE.js';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-ZU4ZY7CZ.js';
3
+ import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-J6LFFZOY.js';
4
4
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
5
- import { detectActiveSession, autoConnect } from './chunk-VBXNRP5E.js';
5
+ import { detectActiveSession, autoConnect } from './chunk-RLGSBR56.js';
6
6
  import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, sanitizeTerminal, appendArtifactTombstone } from './chunk-EWVYQLD3.js';
7
7
  import { resolveRepoIdentity } from './chunk-5DNCFOXA.js';
8
8
  import { C } from './chunk-ANPNT6PM.js';
9
- import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-M5B7QVWU.js';
9
+ import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-FLFK42YF.js';
10
10
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
11
11
  import { cliInvocation } from './chunk-CRB3POP4.js';
12
12
  import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_BYTES, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-E6CO3MJE.js';
@@ -252,7 +252,7 @@ async function runClaudeLauncher(args, deps = {}) {
252
252
  return 1;
253
253
  }
254
254
  } else {
255
- const { resolveLaunchPlane } = await import('./control-plane-launch-LMMGKN45.js');
255
+ const { resolveLaunchPlane } = await import('./control-plane-launch-O3TXH3LI.js');
256
256
  const plane = env[GOVERNANCE_VARIABLE] === "self" ? { kind: "none" } : await resolveLaunchPlane({ cwd, env, home, fetchImpl: deps.fetchImpl, stderr });
257
257
  if (plane.kind === "none") {
258
258
  const own2 = ownSkillsDirFor(cwd, home, [], stderr);