@outerlayer/cli 0.34.0-next.20261028105453 → 0.34.0-next.20261028132110

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 (116) hide show
  1. package/dist/{agent-setup-LZ7PEM6A.js → agent-setup-MO7DHLV4.js} +10 -10
  2. package/dist/{artifact-link-cmd-4XQJO55P.js → artifact-link-cmd-CSVFEM5O.js} +2 -2
  3. package/dist/{build-VVZHFSZK.js → build-3IZ6XHYN.js} +4 -4
  4. package/dist/{build-disk-QV4TO7HZ.js → build-disk-TEITBQKE.js} +4 -4
  5. package/dist/build-info.json +1 -1
  6. package/dist/{builder-6JLFMAGJ.js → builder-S42B4STV.js} +3 -3
  7. package/dist/{check-LMUTXMTY.js → check-E47RDQFK.js} +34 -34
  8. package/dist/{chunk-OFKM35MX.js → chunk-262MWE4Q.js} +5 -5
  9. package/dist/{chunk-N6V4ZHI7.js → chunk-26WUFKYZ.js} +4 -4
  10. package/dist/{chunk-XFJ7YOPD.js → chunk-2EEW6FJN.js} +1 -1
  11. package/dist/{chunk-3EU4MWCE.js → chunk-4557WV4R.js} +2 -2
  12. package/dist/{chunk-7LKOOGSN.js → chunk-47SFTQA5.js} +1 -1
  13. package/dist/{chunk-J7EJMIDR.js → chunk-54LIUIZL.js} +2 -2
  14. package/dist/{chunk-H5YUWLIY.js → chunk-6G3BG2GI.js} +3 -3
  15. package/dist/{chunk-AKQX462F.js → chunk-6MLX26T4.js} +3 -3
  16. package/dist/{chunk-ZIXLG6EQ.js → chunk-7XDF7PNF.js} +4 -4
  17. package/dist/{chunk-ITS67SH7.js → chunk-AJ3CC3HT.js} +99 -23
  18. package/dist/{chunk-LYCJQOO2.js → chunk-ARL6X6Y4.js} +2 -2
  19. package/dist/{chunk-AXKSVN4U.js → chunk-BEILLR5Q.js} +5 -5
  20. package/dist/{chunk-GJHOU5V3.js → chunk-BRBZKIZG.js} +2 -2
  21. package/dist/{chunk-5VKSPEST.js → chunk-BTA5QOKD.js} +3 -3
  22. package/dist/{chunk-NWHU5G6R.js → chunk-CKDSPW35.js} +1 -1
  23. package/dist/{chunk-6YIWAOHM.js → chunk-ECCAFFAH.js} +26 -13
  24. package/dist/{chunk-6WU2D2CY.js → chunk-ESK6EWAQ.js} +2 -2
  25. package/dist/{chunk-C2E4PWEN.js → chunk-FG564H3C.js} +5 -5
  26. package/dist/{chunk-A2KLVZBU.js → chunk-GH2HEEOH.js} +1 -1
  27. package/dist/{chunk-AVI3MGQO.js → chunk-GHQW2BBX.js} +1 -1
  28. package/dist/{chunk-6UHU7DHT.js → chunk-GHZLVKA3.js} +3 -3
  29. package/dist/{chunk-2LCNMAWP.js → chunk-HA46L5FG.js} +1 -1
  30. package/dist/{chunk-OVNF4LLC.js → chunk-HH3BQG65.js} +1 -1
  31. package/dist/{chunk-TZMDRHWB.js → chunk-IAVT7R6O.js} +4 -4
  32. package/dist/{chunk-QXAPVAPR.js → chunk-JDYBPAPP.js} +2 -2
  33. package/dist/{chunk-LEJWPGO7.js → chunk-LBEYOL5K.js} +3 -3
  34. package/dist/{chunk-N4KQMGEZ.js → chunk-NYMDS542.js} +2 -2
  35. package/dist/{chunk-TWFBOZQ5.js → chunk-OKJXZXYH.js} +4 -4
  36. package/dist/{chunk-EXKOPZQV.js → chunk-QELQ6Y4I.js} +6 -6
  37. package/dist/{chunk-LMYRR5MO.js → chunk-RPST2GNG.js} +2 -2
  38. package/dist/{chunk-UPA5KOOX.js → chunk-RQ3GCCHH.js} +1 -1
  39. package/dist/{chunk-7DHESPSV.js → chunk-S25I6OCB.js} +12 -12
  40. package/dist/{chunk-AGNFPJSP.js → chunk-S44ZN3CV.js} +1 -1
  41. package/dist/{chunk-5B6DLEVM.js → chunk-SH5JFBPO.js} +7 -7
  42. package/dist/{chunk-72N7GOLM.js → chunk-T664NDNT.js} +6 -6
  43. package/dist/{chunk-7JBG43BX.js → chunk-TTUI3S6B.js} +24 -14
  44. package/dist/{chunk-6CQXOTNL.js → chunk-TVDKDXW6.js} +4 -4
  45. package/dist/{chunk-S37IAT3A.js → chunk-UAINHP2C.js} +1 -1
  46. package/dist/{work-proofs-record-BCY52YK3.js → chunk-UE2C4STC.js} +177 -498
  47. package/dist/{chunk-IXPH4EXK.js → chunk-VEVNGDTP.js} +1 -1
  48. package/dist/{chunk-D7MWJM2G.js → chunk-WHONZ53R.js} +2 -2
  49. package/dist/{chunk-QTL7VZVF.js → chunk-X2ZJL7GA.js} +3 -3
  50. package/dist/{chunk-JNFLO6DA.js → chunk-YMYU56JD.js} +15 -13
  51. package/dist/{chunk-LASKTDCR.js → chunk-ZEFNJCN3.js} +1 -1
  52. package/dist/{chunk-SODV2YMW.js → chunk-ZXQEBRCB.js} +2 -2
  53. package/dist/{claude-launcher-XX2MLBDW.js → claude-launcher-TG7CHE3N.js} +5 -5
  54. package/dist/{cli-6YAN2USY.js → cli-3V7AMF2V.js} +111 -111
  55. package/dist/{command-GJKJ5WT4.js → command-57COSNSG.js} +20 -20
  56. package/dist/{config-AB5Y73BU.js → config-2EADRNJB.js} +5 -5
  57. package/dist/{connect-cmd-FOD7PKVW.js → connect-cmd-VBEYNPAK.js} +8 -8
  58. package/dist/{container-start-RWW7L5LC.js → container-start-RS3S6WYE.js} +31 -31
  59. package/dist/{context-cleanup-VJXMM27E.js → context-cleanup-CEZSKNVL.js} +3 -3
  60. package/dist/{context-show-cmd-A226Q6K5.js → context-show-cmd-GMF7YMSN.js} +9 -9
  61. package/dist/{control-plane-launch-RJSAIFEP.js → control-plane-launch-4WRFVYNP.js} +6 -6
  62. package/dist/{demo-voice-cmd-W4NYPCVL.js → demo-voice-cmd-KFNEU2GR.js} +14 -14
  63. package/dist/{dist-ZW7I72SD.js → dist-VPXROEZO.js} +2 -2
  64. package/dist/{docker-OQP6NU7P.js → docker-UP7EFFLL.js} +3 -3
  65. package/dist/{doctor-OXMOYIKK.js → doctor-B2EZV6SJ.js} +21 -21
  66. package/dist/{emit-artifact-cmd-X2YWXLKQ.js → emit-artifact-cmd-NLCKM5TU.js} +13 -13
  67. package/dist/{emit-cmd-C3BUFAUR.js → emit-cmd-4G3443OJ.js} +6 -6
  68. package/dist/{emit-criteria-cmd-HYKOTFXG.js → emit-criteria-cmd-GO3TDUCG.js} +10 -10
  69. package/dist/{emit-demo-cmd-DTARV6RI.js → emit-demo-cmd-EJBQHFR2.js} +14 -14
  70. package/dist/{emit-finding-cmd-GSLYQC43.js → emit-finding-cmd-PHUHZLQ3.js} +10 -10
  71. package/dist/{emit-result-cmd-PKJH76NG.js → emit-result-cmd-UJSWTGDG.js} +12 -12
  72. package/dist/{emit-step-cmd-IW2Y4N67.js → emit-step-cmd-M2JEWJ4Q.js} +10 -10
  73. package/dist/{find-unit-2C6EK5YY.js → find-unit-H5DKNRBG.js} +7 -7
  74. package/dist/{findings-cmd-CFF2I3TU.js → findings-cmd-O3VCFA55.js} +10 -10
  75. package/dist/{fleet-readiness-ZSG4UDYR.js → fleet-readiness-SXIYBEWC.js} +8 -8
  76. package/dist/{governing-source-TUGE7QJY.js → governing-source-QEXH6MIZ.js} +13 -13
  77. package/dist/{hook-fast-5C4MQ5ZS.js → hook-fast-DPC75LFQ.js} +1 -1
  78. package/dist/{host-checks-77FAAR2A.js → host-checks-DN6HLRIW.js} +29 -29
  79. package/dist/index.js +4 -4
  80. package/dist/{init-WU2S3WRO.js → init-6D3RKRRB.js} +20 -20
  81. package/dist/{init-NSTWRPRM.js → init-SCUDJ6QI.js} +20 -20
  82. package/dist/{init-cmd-H4HYM5V3.js → init-cmd-ELTRVJLG.js} +18 -18
  83. package/dist/{init-update-WOYX2AIO.js → init-update-4GUGHNS5.js} +17 -17
  84. package/dist/{layout-KRWLUGYZ.js → layout-7UOBWNYO.js} +4 -4
  85. package/dist/{login-browser-BAFZYJBR.js → login-browser-Q25ZNSQ3.js} +2 -2
  86. package/dist/{logs-E2O53NUI.js → logs-HUENB7U4.js} +1 -0
  87. package/dist/{loop-QZV7AR3F.js → loop-LILQBIHK.js} +33 -33
  88. package/dist/{machine-IRBCGRUO.js → machine-UVPCJGJU.js} +20 -20
  89. package/dist/{machine-skills-YVS4ZYCT.js → machine-skills-KYN7XJEJ.js} +4 -4
  90. package/dist/{runner-env-TYGE6BFU.js → runner-env-K4DOSDUV.js} +7 -7
  91. package/dist/{runner-identity-B2MZQFYN.js → runner-identity-4RVY2MHX.js} +3 -3
  92. package/dist/{runner-key-NPPEGU6H.js → runner-key-4OIOA3CD.js} +20 -20
  93. package/dist/{session-sender-ZS4OIE3M.js → session-sender-N6QHL35T.js} +13 -13
  94. package/dist/{spec-cmd-N45YF6UL.js → spec-cmd-EZGRJPUQ.js} +11 -11
  95. package/dist/{starter-pack-QWDE6FDK.js → starter-pack-KB3YH4KX.js} +5 -5
  96. package/dist/{status-QPV75ZNS.js → status-5RSSYZBU.js} +29 -29
  97. package/dist/{sync-cmd-VCB4YDCB.js → sync-cmd-NEAZMEIL.js} +12 -12
  98. package/dist/{update-steps-YY3DZ5NW.js → update-steps-6JOHOMGM.js} +30 -30
  99. package/dist/{watch-XU2AUR6Z.js → watch-FOY5LSSS.js} +12 -12
  100. package/dist/{work-claim-cmd-WEP3OWAU.js → work-claim-cmd-EJT55FZY.js} +15 -15
  101. package/dist/{work-cmd-DWR27TKQ.js → work-cmd-KLPPJG4U.js} +10 -10
  102. package/dist/{work-comment-cmd-HSDVPYWM.js → work-comment-cmd-TT6TFF6Q.js} +11 -11
  103. package/dist/{work-demo-cmd-3EQYHRBP.js → work-demo-cmd-22PLEX4X.js} +10 -10
  104. package/dist/{work-logs-cmd-3YACDH7Y.js → work-logs-cmd-DWK5AYLK.js} +10 -10
  105. package/dist/{work-open-pr-cmd-MHVTTTLD.js → work-open-pr-cmd-MKHZBGA6.js} +11 -11
  106. package/dist/{work-pr-cmd-XETSFFM2.js → work-pr-cmd-P7PRHAJD.js} +10 -10
  107. package/dist/{work-proofs-cmd-R53HHZJB.js → work-proofs-cmd-7C22LBBE.js} +12 -12
  108. package/dist/work-proofs-record-SLIZUXUY.js +514 -0
  109. package/dist/{work-stop-cmd-4BE2B7TY.js → work-stop-cmd-U42TFT7X.js} +10 -10
  110. package/package.json +1 -1
  111. package/skill-pack/maintained/outerlayer-amend/SKILL.md +2 -3
  112. package/skill-pack/maintained/outerlayer-build/SKILL.md +3 -1
  113. package/skill-pack/maintained/outerlayer-build/references/evidence.md +7 -0
  114. package/skill-pack/maintained/outerlayer-build/scripts/criterion-citations.mjs +44 -4
  115. package/dist/chunk-6CK2OC4Q.js +0 -152
  116. /package/dist/{chunk-DINRXUQA.js → chunk-IXRUVR25.js} +0 -0
@@ -1,28 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { keepHandWritten, runAgentSetup } from './chunk-5B6DLEVM.js';
4
- import './chunk-TWFBOZQ5.js';
3
+ export { keepHandWritten, runAgentSetup } from './chunk-SH5JFBPO.js';
4
+ import './chunk-OKJXZXYH.js';
5
5
  import './chunk-KT4CN6OU.js';
6
- import './chunk-J7EJMIDR.js';
6
+ import './chunk-54LIUIZL.js';
7
7
  import './chunk-ANPNT6PM.js';
8
- import './chunk-LYCJQOO2.js';
9
- import './chunk-QTL7VZVF.js';
10
- import './chunk-LMYRR5MO.js';
8
+ import './chunk-ARL6X6Y4.js';
9
+ import './chunk-X2ZJL7GA.js';
10
+ import './chunk-RPST2GNG.js';
11
11
  import './chunk-IZKUPAXF.js';
12
12
  import './chunk-PJDQPF5N.js';
13
13
  import './chunk-VJQQVTCS.js';
14
14
  import './chunk-ZJSNLVCE.js';
15
15
  import './chunk-BJ3KTMDH.js';
16
- import './chunk-OVNF4LLC.js';
16
+ import './chunk-HH3BQG65.js';
17
17
  import './chunk-5BHIBJDA.js';
18
18
  import './chunk-CDDED64E.js';
19
19
  import './chunk-RA3O54FC.js';
20
20
  import './chunk-CRB3POP4.js';
21
- import './chunk-UPA5KOOX.js';
21
+ import './chunk-RQ3GCCHH.js';
22
22
  import './chunk-YQR6E6OV.js';
23
23
  import './chunk-TUSYOL2O.js';
24
- import './chunk-XFJ7YOPD.js';
25
- import './chunk-DINRXUQA.js';
24
+ import './chunk-2EEW6FJN.js';
25
+ import './chunk-IXRUVR25.js';
26
26
  import './chunk-VNVZDWO3.js';
27
27
  import './chunk-2CW2QMSG.js';
28
28
  import './chunk-4N7BQBO4.js';
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { sanitizeTerminal, readEffectiveArtifactSpoolState } from './chunk-IXPH4EXK.js';
3
+ import { sanitizeTerminal, readEffectiveArtifactSpoolState } from './chunk-VEVNGDTP.js';
4
4
  import { cliInvocation } from './chunk-CRB3POP4.js';
5
- import './chunk-DINRXUQA.js';
5
+ import './chunk-IXRUVR25.js';
6
6
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
7
7
  import './chunk-Z5GEFMRW.js';
8
8
 
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { KEY_PREFIX, SHARED_NAME, SHARED_OWNER, SHARED_REPOSITORY, TAG_HOST, baseLines, buildRepositoryImage, metadataFromLabels, prepareImageBuild, writeRecord } from './chunk-AGNFPJSP.js';
3
+ export { KEY_PREFIX, SHARED_NAME, SHARED_OWNER, SHARED_REPOSITORY, TAG_HOST, baseLines, buildRepositoryImage, metadataFromLabels, prepareImageBuild, writeRecord } from './chunk-S44ZN3CV.js';
4
4
  import './chunk-7XZQTJOD.js';
5
- import './chunk-2LCNMAWP.js';
5
+ import './chunk-HA46L5FG.js';
6
6
  export { RecipeError } from './chunk-CM4J53WZ.js';
7
7
  import './chunk-D3CT6XQ4.js';
8
8
  import './chunk-64LLUVJR.js';
9
9
  import './chunk-JBJTC3UU.js';
10
10
  import './chunk-VJQQVTCS.js';
11
- import './chunk-A2KLVZBU.js';
12
- import './chunk-DINRXUQA.js';
11
+ import './chunk-GH2HEEOH.js';
12
+ import './chunk-IXRUVR25.js';
13
13
  import './chunk-2CW2QMSG.js';
14
14
  import './chunk-4N7BQBO4.js';
15
15
  import './chunk-MESOOLF4.js';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { DEFAULT_BUILD_DISK, DEFAULT_CACHE_DISK, DOCKER_CACHE_MS, allocatedBytes, checkDiskFit, realBuildDiskProbe, runDocker, volumeBytes } from './chunk-7LKOOGSN.js';
4
- import './chunk-2LCNMAWP.js';
3
+ export { DEFAULT_BUILD_DISK, DEFAULT_CACHE_DISK, DOCKER_CACHE_MS, allocatedBytes, checkDiskFit, realBuildDiskProbe, runDocker, volumeBytes } from './chunk-47SFTQA5.js';
4
+ import './chunk-HA46L5FG.js';
5
5
  import './chunk-CM4J53WZ.js';
6
6
  import './chunk-D3CT6XQ4.js';
7
7
  import './chunk-VJQQVTCS.js';
8
- import './chunk-A2KLVZBU.js';
9
- import './chunk-DINRXUQA.js';
8
+ import './chunk-GH2HEEOH.js';
9
+ import './chunk-IXRUVR25.js';
10
10
  import './chunk-2CW2QMSG.js';
11
11
  import './chunk-4N7BQBO4.js';
12
12
  import './chunk-MESOOLF4.js';
@@ -1 +1 @@
1
- {"id":"2026-10-28T10:57:18.339Z+4219b25","root":"/home/runner/work/outerlayer/outerlayer","pkg":"outerlayer"}
1
+ {"id":"2026-10-28T13:23:49.030Z+1e0c364","root":"/home/runner/work/outerlayer/outerlayer","pkg":"outerlayer"}
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-2LCNMAWP.js';
3
+ export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-HA46L5FG.js';
4
4
  import './chunk-CM4J53WZ.js';
5
5
  import './chunk-D3CT6XQ4.js';
6
6
  import './chunk-VJQQVTCS.js';
7
- import './chunk-A2KLVZBU.js';
8
- import './chunk-DINRXUQA.js';
7
+ import './chunk-GH2HEEOH.js';
8
+ import './chunk-IXRUVR25.js';
9
9
  import './chunk-2CW2QMSG.js';
10
10
  import './chunk-4N7BQBO4.js';
11
11
  import './chunk-MESOOLF4.js';
@@ -1,72 +1,72 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { probeCredentials } from './chunk-JNFLO6DA.js';
3
+ import { probeCredentials } from './chunk-YMYU56JD.js';
4
4
  import './chunk-3JVYMD4G.js';
5
- import './chunk-6UHU7DHT.js';
5
+ import './chunk-GHZLVKA3.js';
6
6
  import './chunk-E7R2GIAW.js';
7
7
  import './chunk-MH6QLXUO.js';
8
8
  import './chunk-TZXJSNN4.js';
9
- import './chunk-6WU2D2CY.js';
9
+ import './chunk-ESK6EWAQ.js';
10
10
  import './chunk-JDQBJUXQ.js';
11
- import './chunk-ITS67SH7.js';
12
- import './chunk-6CK2OC4Q.js';
11
+ import './chunk-AJ3CC3HT.js';
12
+ import './chunk-UE2C4STC.js';
13
13
  import './chunk-ZVB57WI6.js';
14
14
  import './chunk-XDCD4GD5.js';
15
15
  import './chunk-I3LTIAOR.js';
16
- import './chunk-AKQX462F.js';
17
- import './chunk-C2E4PWEN.js';
18
- import './chunk-ZIXLG6EQ.js';
16
+ import './chunk-6MLX26T4.js';
17
+ import './chunk-FG564H3C.js';
18
+ import './chunk-7XDF7PNF.js';
19
19
  import './chunk-ESVW4MJY.js';
20
20
  import './chunk-BUVDDPOM.js';
21
- import { managedProblems, managedFactsOf } from './chunk-OFKM35MX.js';
21
+ import { managedProblems, managedFactsOf } from './chunk-262MWE4Q.js';
22
22
  import './chunk-E3GX4WVJ.js';
23
23
  import './chunk-TBT347UY.js';
24
- import { findServiceUnit } from './chunk-AVI3MGQO.js';
25
- import './chunk-TZMDRHWB.js';
26
- import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, HELPER_ENV, helperSocketPath, probeHelper, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-7JBG43BX.js';
24
+ import { findServiceUnit } from './chunk-GHQW2BBX.js';
25
+ import './chunk-IAVT7R6O.js';
26
+ import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, HELPER_ENV, helperSocketPath, probeHelper, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-TTUI3S6B.js';
27
27
  import './chunk-2PGI6RDE.js';
28
- import './chunk-AGNFPJSP.js';
28
+ import './chunk-S44ZN3CV.js';
29
29
  import './chunk-7XZQTJOD.js';
30
30
  import './chunk-OGFGZQA3.js';
31
31
  import './chunk-NPTEYMBW.js';
32
32
  import './chunk-DKIZDYUX.js';
33
- import './chunk-SODV2YMW.js';
33
+ import './chunk-ZXQEBRCB.js';
34
34
  import './chunk-ORENXMHA.js';
35
35
  import './chunk-TQMI335S.js';
36
- import './chunk-S37IAT3A.js';
37
- import './chunk-N4KQMGEZ.js';
38
- import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-QXAPVAPR.js';
39
- import './chunk-7LKOOGSN.js';
40
- import './chunk-2LCNMAWP.js';
36
+ import './chunk-UAINHP2C.js';
37
+ import './chunk-NYMDS542.js';
38
+ import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-JDYBPAPP.js';
39
+ import './chunk-47SFTQA5.js';
40
+ import './chunk-HA46L5FG.js';
41
41
  import './chunk-CM4J53WZ.js';
42
42
  import './chunk-D3CT6XQ4.js';
43
43
  import './chunk-64LLUVJR.js';
44
44
  import './chunk-JBJTC3UU.js';
45
45
  import './chunk-KT4CN6OU.js';
46
- import './chunk-J7EJMIDR.js';
47
- import './chunk-72N7GOLM.js';
46
+ import './chunk-54LIUIZL.js';
47
+ import './chunk-T664NDNT.js';
48
48
  import './chunk-IP7BIBXJ.js';
49
- import './chunk-GJHOU5V3.js';
50
- import './chunk-N6V4ZHI7.js';
51
- import './chunk-NWHU5G6R.js';
49
+ import './chunk-BRBZKIZG.js';
50
+ import './chunk-26WUFKYZ.js';
51
+ import './chunk-CKDSPW35.js';
52
52
  import './chunk-G2JWZDFA.js';
53
53
  import './chunk-ANPNT6PM.js';
54
- import './chunk-IXPH4EXK.js';
55
- import './chunk-LYCJQOO2.js';
56
- import './chunk-QTL7VZVF.js';
57
- import './chunk-LMYRR5MO.js';
54
+ import './chunk-VEVNGDTP.js';
55
+ import './chunk-ARL6X6Y4.js';
56
+ import './chunk-X2ZJL7GA.js';
57
+ import './chunk-RPST2GNG.js';
58
58
  import './chunk-IZKUPAXF.js';
59
59
  import './chunk-PJDQPF5N.js';
60
60
  import './chunk-VJQQVTCS.js';
61
- import './chunk-D7MWJM2G.js';
61
+ import './chunk-WHONZ53R.js';
62
62
  import './chunk-ZJSNLVCE.js';
63
63
  import './chunk-2O5KA67H.js';
64
64
  import './chunk-BKO6JEZI.js';
65
65
  import './chunk-FGF52V4V.js';
66
66
  import './chunk-HCVLP7XA.js';
67
67
  import './chunk-BJ3KTMDH.js';
68
- import './chunk-OVNF4LLC.js';
69
- import './chunk-A2KLVZBU.js';
68
+ import './chunk-HH3BQG65.js';
69
+ import './chunk-GH2HEEOH.js';
70
70
  import './chunk-5BHIBJDA.js';
71
71
  import './chunk-CDDED64E.js';
72
72
  import './chunk-RA3O54FC.js';
@@ -74,11 +74,11 @@ import './chunk-T2Q7ISPE.js';
74
74
  import './chunk-WZBHBH3J.js';
75
75
  import './chunk-CRB3POP4.js';
76
76
  import './chunk-URIZRCRY.js';
77
- import './chunk-UPA5KOOX.js';
77
+ import './chunk-RQ3GCCHH.js';
78
78
  import './chunk-YQR6E6OV.js';
79
79
  import './chunk-TUSYOL2O.js';
80
- import './chunk-XFJ7YOPD.js';
81
- import './chunk-DINRXUQA.js';
80
+ import './chunk-2EEW6FJN.js';
81
+ import './chunk-IXRUVR25.js';
82
82
  import './chunk-VNVZDWO3.js';
83
83
  import './chunk-2CW2QMSG.js';
84
84
  import { claudeEnvPath, parseRunnerEnv } from './chunk-4N7BQBO4.js';
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { placeholderQueues, placeholderProblem } from './chunk-7JBG43BX.js';
4
- import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-N4KQMGEZ.js';
5
- import { builtinKind, EGRESS_SWITCHABLE_KEYS, imageBuildOf, keepsHostBuilder } from './chunk-QXAPVAPR.js';
6
- import { realBuildDiskProbe, checkDiskFit, DEFAULT_CACHE_DISK, DEFAULT_BUILD_DISK, volumeBytes } from './chunk-7LKOOGSN.js';
7
- import { spawnRun, RUNNER_LABEL, BUILD_LABEL } from './chunk-2LCNMAWP.js';
3
+ import { placeholderQueues, placeholderProblem } from './chunk-TTUI3S6B.js';
4
+ import { checkFit, RUNNER_RESERVE_BYTES } from './chunk-NYMDS542.js';
5
+ import { builtinKind, EGRESS_SWITCHABLE_KEYS, imageBuildOf, keepsHostBuilder } from './chunk-JDYBPAPP.js';
6
+ import { realBuildDiskProbe, checkDiskFit, DEFAULT_CACHE_DISK, DEFAULT_BUILD_DISK, volumeBytes } from './chunk-47SFTQA5.js';
7
+ import { spawnRun, RUNNER_LABEL, BUILD_LABEL } from './chunk-HA46L5FG.js';
8
8
  import { builderDiskPinned } from './chunk-D3CT6XQ4.js';
9
9
  import { BUILD_SLICE_MEMORY_ENV, FORWARDED_CLAUDE_CREDENTIAL_VARIABLES, claudeCredentialVariablesSet, claudeCredential, claudeEnvPath, parseRunnerEnv } from './chunk-4N7BQBO4.js';
10
10
  import { closeSync, openSync, constants, readFileSync } from 'fs';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { DEFAULT_DASHBOARD } from './chunk-NWHU5G6R.js';
4
- import { sanitizeTerminal } from './chunk-IXPH4EXK.js';
5
- import { isAgentsMdLayout } from './chunk-LYCJQOO2.js';
3
+ import { DEFAULT_DASHBOARD } from './chunk-CKDSPW35.js';
4
+ import { sanitizeTerminal } from './chunk-VEVNGDTP.js';
5
+ import { isAgentsMdLayout } from './chunk-ARL6X6Y4.js';
6
6
  import { cliFetch, resolveGatewayCredentials } from './chunk-IZKUPAXF.js';
7
7
  import { readCloudConfig } from './chunk-PJDQPF5N.js';
8
8
  import { findGitDirs, writeRepoConnection, readRepoConnection } from './chunk-BJ3KTMDH.js';
9
- import { remoteLookupFailed } from './chunk-A2KLVZBU.js';
9
+ import { remoteLookupFailed } from './chunk-GH2HEEOH.js';
10
10
  import { cliInvocation } from './chunk-CRB3POP4.js';
11
11
  import { execFileSync } from 'child_process';
12
12
  import { lstatSync } from 'fs';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { RESERVED_EMIT_NAMES, ARTIFACT_KINDS, ArtifactCriterionIdSchema } from './chunk-DINRXUQA.js';
3
+ import { RESERVED_EMIT_NAMES, ARTIFACT_KINDS, ArtifactCriterionIdSchema } from './chunk-IXRUVR25.js';
4
4
  import { __commonJS, __require, __toESM } from './chunk-Z5GEFMRW.js';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
4
- import { autoConnect } from './chunk-GJHOU5V3.js';
4
+ import { autoConnect } from './chunk-BRBZKIZG.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
6
  import { defaultFetch, unauthorizedMessage, resolveGatewayCredentials } from './chunk-IZKUPAXF.js';
7
- import { resolveRepoIdentity } from './chunk-A2KLVZBU.js';
7
+ import { resolveRepoIdentity } from './chunk-GH2HEEOH.js';
8
8
  import { parseWorkItemEnv } from './chunk-T2Q7ISPE.js';
9
9
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
10
10
  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 { parseSize, BUILD_LABEL, RUNNER_LABEL, runnerLabelValue } from './chunk-2LCNMAWP.js';
3
+ import { parseSize, BUILD_LABEL, RUNNER_LABEL, runnerLabelValue } from './chunk-HA46L5FG.js';
4
4
  import { buildsDir, rootfsDir, runnerDir, imagesDir, builderCacheDiskPath } from './chunk-2CW2QMSG.js';
5
5
  import { spawnSync } from 'child_process';
6
6
  import { statfsSync, statSync, existsSync, readdirSync } from 'fs';
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
3
  import { C } from './chunk-ANPNT6PM.js';
4
- import { resolvePackRoot, OUTERLAYER_SKILLS_BASE, loadTemplateFiles, AGENTS_SKILLS_BASE, loadMaintainedFiles, rewriteSkillPaths, TEMPLATE_SKILLS, skillDir, writeMaintainedFiles, MACHINE_SKILL_PATH } from './chunk-OVNF4LLC.js';
4
+ import { resolvePackRoot, OUTERLAYER_SKILLS_BASE, loadTemplateFiles, AGENTS_SKILLS_BASE, loadMaintainedFiles, rewriteSkillPaths, TEMPLATE_SKILLS, skillDir, writeMaintainedFiles, MACHINE_SKILL_PATH } from './chunk-HH3BQG65.js';
5
5
  import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
6
6
  import { resolvePackageVersion } from './chunk-RA3O54FC.js';
7
7
  import { cliInvocation } from './chunk-CRB3POP4.js';
8
- import { linkedAgentsPath } from './chunk-UPA5KOOX.js';
8
+ import { linkedAgentsPath } from './chunk-RQ3GCCHH.js';
9
9
  import { readFileSync, existsSync, mkdirSync, writeFileSync } from 'fs';
10
10
  import { join, dirname } from 'path';
11
11
 
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { resolveCredentials, postJson, getJson } from './chunk-72N7GOLM.js';
3
+ import { resolveCredentials, postJson, getJson } from './chunk-T664NDNT.js';
4
4
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
5
5
  import { C } from './chunk-ANPNT6PM.js';
6
- import { sanitizeTerminal } from './chunk-IXPH4EXK.js';
6
+ import { sanitizeTerminal } from './chunk-VEVNGDTP.js';
7
7
  import { defaultFetch } from './chunk-IZKUPAXF.js';
8
- import { resolveRepoIdentity } from './chunk-A2KLVZBU.js';
8
+ import { resolveRepoIdentity } from './chunk-GH2HEEOH.js';
9
9
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
10
10
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
11
11
  import { randomUUID } from 'crypto';
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { LiveUploader } from './chunk-C2E4PWEN.js';
4
- import { spoolDir } from './chunk-D7MWJM2G.js';
5
- import { CaptureDaemon } from './chunk-A2KLVZBU.js';
3
+ import { LiveUploader } from './chunk-FG564H3C.js';
4
+ import { spoolDir } from './chunk-WHONZ53R.js';
5
+ import { CaptureDaemon } from './chunk-GH2HEEOH.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';
@@ -2,14 +2,14 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
4
4
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
5
- import { autoConnect } from './chunk-GJHOU5V3.js';
5
+ import { autoConnect } from './chunk-BRBZKIZG.js';
6
6
  import { C } from './chunk-ANPNT6PM.js';
7
- import { acquireSpoolLockAt } from './chunk-IXPH4EXK.js';
7
+ import { acquireSpoolLockAt } from './chunk-VEVNGDTP.js';
8
8
  import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-IZKUPAXF.js';
9
- import { resolveRepoIdentity } from './chunk-A2KLVZBU.js';
9
+ import { resolveRepoIdentity } from './chunk-GH2HEEOH.js';
10
10
  import { launchedItemForSession } from './chunk-T2Q7ISPE.js';
11
11
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
12
- import { StepNameSchema, StepBodySchema } from './chunk-DINRXUQA.js';
12
+ import { StepNameSchema, StepBodySchema } from './chunk-IXRUVR25.js';
13
13
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
14
14
  import { randomUUID } from 'crypto';
15
15
  import { readFileSync, existsSync, mkdirSync, writeFileSync, renameSync, appendFileSync } from 'fs';
@@ -1,33 +1,33 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { itemsSentence, criteriaOf, hostItemsOf, loadCitationFinder, MAX_TEST_FILE_BYTES, MAX_TEST_FILES, criterionInputs, planCriteria, parseJudgeAnswer, inCriteriaOrder, oneLineReason, judgedItems } from './chunk-6CK2OC4Q.js';
3
+ import { itemsSentence, criteriaOf, hostItemsOf, loadCitationFinder, MAX_TEST_FILE_BYTES, MAX_TEST_FILES, testFileMatcher, criterionInputs, planCriteria, parseJudgeAnswer, inCriteriaOrder, oneLineReason, judgedItems } from './chunk-UE2C4STC.js';
4
4
  import { readsJobState, READ_JOB_STATE_FORMATS, jobStateFormatOf } from './chunk-ZVB57WI6.js';
5
5
  import { HELPER_PATH, DOCKERD_LOG, HELPER_RECORD } from './chunk-XDCD4GD5.js';
6
6
  import { zodProblem } from './chunk-I3LTIAOR.js';
7
- import { senderPidfile } from './chunk-AKQX462F.js';
8
- import { installScrubContext } from './chunk-C2E4PWEN.js';
7
+ import { senderPidfile } from './chunk-6MLX26T4.js';
8
+ import { installScrubContext } from './chunk-FG564H3C.js';
9
9
  import { writeDockerClientConfig } from './chunk-BUVDDPOM.js';
10
- import { upgradedStarterText } from './chunk-TZMDRHWB.js';
11
- import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, firstLine, hasClaudeCredential, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, runtimeStepInput, keepRuntimeStep, createContainerRuntime, containerSenderCommand, hostCommandEnvironment, execArgv, signalInContainer, startHostServices, LEASE_SECONDS, managedBuildSettingsFor, stopContainer, cleanupContainer, outOfMemoryReason, closeHostBuild, dropManagedClaudeKey, dropManagedBuildSettings, startCheckContainer, ranRuntimeStep, provisionRuntimes, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, managedMachineLimits, withFactoryHosts, helperFirecrackerNote, said, managedClaudeKeyValues, managedBuildSettingValues, stopJailed, deleteBuildDisk, managedClaudeKeyFor, ROOT_DISK_ID_PREFIX, copyTranscripts, containerJudgeEnvironment, senderSignalScript, copyJudgeTree } from './chunk-7JBG43BX.js';
12
- import { fetchCommit, readBranchHead, diffBetween } from './chunk-AGNFPJSP.js';
10
+ import { upgradedStarterText } from './chunk-IAVT7R6O.js';
11
+ import { ADDED_USER, shellQuote, GH_CONFIG_YML, ghHostsYml, firstLine, hasClaudeCredential, AssetError, obtainImage, ensureRootfs, makeBuildsDirPrivate, gitRemoteFor, startServicesFor, createLeaseChannel, createBuildDisk, machineConfig, startJailedInto, resolveAgentUser, AgentUserError, runBuildSteps, runtimeStepInput, keepRuntimeStep, createContainerRuntime, containerSenderCommand, hostCommandEnvironment, execArgv, signalInContainer, startHostServices, LEASE_SECONDS, managedBuildSettingsFor, stopContainer, cleanupContainer, recordProofsInContainer, PROOFS_LOG, outOfMemoryReason, closeHostBuild, dropManagedClaudeKey, dropManagedBuildSettings, startCheckContainer, ranRuntimeStep, provisionRuntimes, lifecycleSteps, lifecycleFailureReason, writeEvalInput, DeliveryFailure, EVAL_INPUT_NAME, syncInContainer, copyTranscriptsFromContainer, MANAGED_UNJAILED_REASON, senderAliveScript, managedMachineLimits, withFactoryHosts, helperFirecrackerNote, said, managedClaudeKeyValues, managedBuildSettingValues, stopJailed, deleteBuildDisk, RECORD_PROOFS_ARGV, managedClaudeKeyFor, ROOT_DISK_ID_PREFIX, copyTranscripts, containerJudgeEnvironment, senderSignalScript, copyJudgeTree } from './chunk-TTUI3S6B.js';
12
+ import { fetchCommit, readBranchHead, diffBetween } from './chunk-S44ZN3CV.js';
13
13
  import { waitForAgent, vmExecArgs } from './chunk-NPTEYMBW.js';
14
14
  import { socketPathProblem, vsockLinks, LEASE_LINK, linkVsockSockets } from './chunk-DKIZDYUX.js';
15
- import { describeCallFailure, resolveGoverningSource, prefetchGovernedContext, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, removeKeptContext, formatDuration, retrySend, formatClock, keptContextTree, WORKFLOW_PERMISSION_REASON } from './chunk-SODV2YMW.js';
16
- import { imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, egressSummary, DEFAULT_CHECK_TIME_LIMIT_MINUTES, optionalEgress } from './chunk-QXAPVAPR.js';
17
- import { formatBytes, DEFAULT_CACHE_DISK, allocatedBytes } from './chunk-7LKOOGSN.js';
18
- import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, parseSize, identityScript, identityArgs, parseIdentity, mountableHome, homeCopyScript, homeCopyArgs, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-2LCNMAWP.js';
15
+ import { describeCallFailure, resolveGoverningSource, prefetchGovernedContext, refusalCode, removeStagedContext, stageGovernedContext, pinnedSourceOf, commandWithShim, logStamp, createRunnerLog, formatDuration, removeKeptContext, retrySend, formatClock, keptContextTree, WORKFLOW_PERMISSION_REASON } from './chunk-ZXQEBRCB.js';
16
+ import { imageBuildOf, isBuiltinContainer, isBuiltinProcess, isBuiltinVm, egressSummary, DEFAULT_CHECK_TIME_LIMIT_MINUTES, optionalEgress } from './chunk-JDYBPAPP.js';
17
+ import { formatBytes, DEFAULT_CACHE_DISK, allocatedBytes } from './chunk-47SFTQA5.js';
18
+ import { HASH_ARGV, parseProgramHash, JUDGE_PROGRAM, writeJobFile, readJobFile, parseSize, identityScript, identityArgs, parseIdentity, mountableHome, homeCopyScript, homeCopyArgs, childEnvironment, withAnswerProtocol, judgeCommand, MAX_REPORT_BYTES, JUDGE_MAX_TURNS, JUDGE_DIR, COMMAND_DIR, MAX_ITEMS_BYTES } from './chunk-HA46L5FG.js';
19
19
  import { CLAUDE_CODE_VERSION, FIRECRACKER_VERSION } from './chunk-D3CT6XQ4.js';
20
20
  import { isSameProcess, startTimeOf } from './chunk-JBJTC3UU.js';
21
- import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-72N7GOLM.js';
22
- import { planArtifactUpload } from './chunk-IXPH4EXK.js';
21
+ import { WorkCommandError, postJson, isSignatureRefusal, getJson } from './chunk-T664NDNT.js';
22
+ import { planArtifactUpload } from './chunk-VEVNGDTP.js';
23
23
  import { readCloudConfig } from './chunk-PJDQPF5N.js';
24
24
  import { signerFor } from './chunk-VJQQVTCS.js';
25
- import { AGENTS_SKILLS_BASE, OUTERLAYER_SKILLS_BASE, resolvePackRoot } from './chunk-OVNF4LLC.js';
26
- import { scrubText } from './chunk-A2KLVZBU.js';
25
+ import { AGENTS_SKILLS_BASE, OUTERLAYER_SKILLS_BASE, resolvePackRoot } from './chunk-HH3BQG65.js';
26
+ import { scrubText } from './chunk-GH2HEEOH.js';
27
27
  import { MAINTAINED_SKILLS } from './chunk-CDDED64E.js';
28
28
  import { resolveVersion } from './chunk-RA3O54FC.js';
29
- import { parsePolicy } from './chunk-XFJ7YOPD.js';
30
- import { CheckItemsSchema } from './chunk-DINRXUQA.js';
29
+ import { parsePolicy } from './chunk-2EEW6FJN.js';
30
+ import { CheckItemsSchema } from './chunk-IXRUVR25.js';
31
31
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
32
32
  import { RUNNER_FILE_MODE, runnerDir, buildDir, vsockPath, jobConsolePath } from './chunk-2CW2QMSG.js';
33
33
  import { JOB_MOUNT, repositoriesOf, primaryOf, buildEnvironment, CHECKOUT_DIR, claudeCredential, AGENT_CREDENTIAL_MISSING, sharedUserEnvironment, headerVariables, authorEnvironment, withTunnelRecord, commitIdentityRecord, RELAY_PORT, repositoryPath, lifecycleWorkdir, CHECK_ITEMS_FILE, withMiseVariables, fdName, BUILD_HOME, CLAUDE_CREDENTIAL_VARIABLES, currentClaudeCredential, removedClaudeCredentialValues, managedClaudeCredential, checkEnvironment, EVAL_INPUT_DIR } from './chunk-4N7BQBO4.js';
@@ -780,9 +780,15 @@ function isRunning(runtime, state) {
780
780
  return vmAlive(runtime, state);
781
781
  }
782
782
  async function syncInMicroVm(input) {
783
+ return runCliInMicroVm(input, ["outerlayer", "sync"], "sync.log", "the microVM is gone, so its sessions cannot be read");
784
+ }
785
+ async function recordProofsInMicroVm(input) {
786
+ return runCliInMicroVm(input, [...RECORD_PROOFS_ARGV], PROOFS_LOG, "the microVM is gone, so its proofs cannot be recorded");
787
+ }
788
+ async function runCliInMicroVm(input, argv, logName, goneReason) {
783
789
  const { runtime, job } = input;
784
790
  const state = job.microvm;
785
- if (!isRunning(runtime, state)) return { ok: false, reason: "the microVM is gone, so its sessions cannot be read" };
791
+ if (!isRunning(runtime, state)) return { ok: false, reason: goneReason };
786
792
  try {
787
793
  const env = buildEnvironment({
788
794
  config: input.config,
@@ -800,12 +806,12 @@ async function syncInMicroVm(input) {
800
806
  factoryVariables: factoryVariablesOf(input.config, input.jobDir)
801
807
  });
802
808
  const result = await runtime.vm.exec(state.vsockPath, {
803
- argv: ["outerlayer", "sync"],
809
+ argv,
804
810
  user: state.agentUser ?? ADDED_USER,
805
811
  cwd: job.workdir ?? CHECKOUT_DIR,
806
812
  env: execEnvironment(state.imageEnv, env)
807
813
  });
808
- appendFileSync(join(input.jobDir, "sync.log"), result.stdout + result.stderr);
814
+ appendFileSync(join(input.jobDir, logName), result.stdout + result.stderr);
809
815
  return result.status === 0 ? { ok: true } : { ok: false, reason: `exit ${result.status}` };
810
816
  } catch (err) {
811
817
  return { ok: false, reason: describeCallFailure(err) };
@@ -1782,12 +1788,21 @@ function testFilesIn(root, isTest, limits = { files: MAX_TEST_FILES, bytes: MAX_
1782
1788
  const rel = prefix === "" ? name : `${prefix}/${name}`;
1783
1789
  const stat = lstatSync(path);
1784
1790
  if (stat.isDirectory()) walk(path, rel);
1785
- else if (stat.isFile() && isTest.test(rel) && stat.size <= limits.bytes) files.push({ path: rel, contents: readFileSync(path, "utf8") });
1791
+ else if (stat.isFile() && isTest(rel) && stat.size <= limits.bytes) files.push({ path: rel, contents: readFileSync(path, "utf8") });
1786
1792
  }
1787
1793
  };
1788
1794
  walk(root, "");
1789
1795
  return files;
1790
1796
  }
1797
+ function proofsFileIn(root) {
1798
+ const path = join(root, ".outerlayer-proofs.yaml");
1799
+ try {
1800
+ const stat = lstatSync(path);
1801
+ return stat.isFile() && stat.size <= MAX_TEST_FILE_BYTES ? readFileSync(path, "utf8") : void 0;
1802
+ } catch {
1803
+ return void 0;
1804
+ }
1805
+ }
1791
1806
  async function hostPassedNames(config, item, fetchImpl) {
1792
1807
  const workItemId = Object(await readWorkItem(config, item, fetchImpl)).workItemId;
1793
1808
  if (typeof workItemId !== "string") throw new WorkCommandError("the work item read named no id");
@@ -1922,11 +1937,11 @@ async function runJudge(input) {
1922
1937
  if (!fetched.ok) return await fail(check, `the build's tests could not be fetched: ${fetched.reason}`);
1923
1938
  const finder = await loadCitationFinder();
1924
1939
  const list = criteria ?? [];
1925
- const testFiles = testFilesIn(branchDir, finder.TEST_FILE);
1940
+ const testFiles = testFilesIn(branchDir, testFileMatcher(finder, proofsFileIn(branchDir)));
1926
1941
  const citations = finder.buildCitations({ ids: list.map((criterion) => criterion.id), files: testFiles, repository: repo, sha: head });
1927
1942
  const testFileText = new Map(testFiles.map((file) => [file.path, file.contents]));
1928
1943
  const inputs = new Map(list.map((criterion) => [criterion.id, criterionInputs({ brief, criterion, citations, testFiles: testFileText })]));
1929
- const plan = planCriteria({ criteria: list, citations, inputs, previous });
1944
+ const plan = planCriteria({ criteria: list, citations, inputs, previous, noTestFiles: testFiles.length === 0 });
1930
1945
  if (plan.toJudge.length < list.length) {
1931
1946
  log.line(`${tag} judge: ${plan.toJudge.length} of ${list.length} criteria to judge, ${list.length - plan.toJudge.length} settled without the judge`);
1932
1947
  }
@@ -2535,6 +2550,52 @@ async function runSyncViaExec(config, job, jobDirPath, spawnFn = spawn) {
2535
2550
  return { ok: false, reason: describeCallFailure(err) };
2536
2551
  }
2537
2552
  }
2553
+ function runRecordProofs(config, job, jobDirPath, spawnFn = spawn) {
2554
+ return new Promise((resolve) => {
2555
+ const env = jobEnv(config, job.item, job.itemKey, jobDirPath, process.env, job.branch, job.commitIdentity?.author);
2556
+ let fd;
2557
+ let child;
2558
+ try {
2559
+ fd = openSync(join(jobDirPath, PROOFS_LOG), "a", RUNNER_FILE_MODE);
2560
+ } catch (err) {
2561
+ resolve({ ok: false, reason: describeCallFailure(err) });
2562
+ return;
2563
+ }
2564
+ try {
2565
+ child = spawnFn(process.execPath, [process.argv[1] ?? "outerlayer", ...RECORD_PROOFS_ARGV.slice(1)], { cwd: job.workdir, env, stdio: ["ignore", fd, fd] });
2566
+ } catch (err) {
2567
+ closeSync(fd);
2568
+ resolve({ ok: false, reason: describeCallFailure(err) });
2569
+ return;
2570
+ }
2571
+ child.on("exit", (code) => {
2572
+ closeSync(fd);
2573
+ resolve(code === 0 ? { ok: true } : { ok: false, reason: `exit ${code ?? "by signal"}` });
2574
+ });
2575
+ child.on("error", (err) => {
2576
+ closeSync(fd);
2577
+ resolve({ ok: false, reason: describeCallFailure(err) });
2578
+ });
2579
+ });
2580
+ }
2581
+ async function runRecordProofsViaExec(config, job, jobDirPath, spawnFn = spawn) {
2582
+ const build = job.build;
2583
+ const env = hostCommandEnvironment(jobEnv(config, job.item, job.itemKey, jobDirPath, process.env, job.branch, job.commitIdentity?.author), build, config, job.commitIdentity?.hooksPath);
2584
+ try {
2585
+ const result = await runHook(build.exec, env, jobDirPath, join(jobDirPath, PROOFS_LOG), spawnFn, void 0, execArgv(job.workdir, [...RECORD_PROOFS_ARGV]));
2586
+ return result.code === 0 ? { ok: true } : { ok: false, reason: `exit ${result.code}` };
2587
+ } catch (err) {
2588
+ return { ok: false, reason: describeCallFailure(err) };
2589
+ }
2590
+ }
2591
+ var RECORDED_PROOFS = /* @__PURE__ */ new Set(["screenshot", "video", "report", "log", "file"]);
2592
+ async function declaresRecordedProof(config, item, fetchImpl) {
2593
+ try {
2594
+ return (criteriaOf(await readWorkItem(config, item, fetchImpl)) ?? []).some((criterion) => criterion.proof !== null && RECORDED_PROOFS.has(criterion.proof));
2595
+ } catch {
2596
+ return true;
2597
+ }
2598
+ }
2538
2599
  var MAX_NAMED_SPOOLED = 20;
2539
2600
  function spooledArtifactIds(home) {
2540
2601
  try {
@@ -2547,7 +2608,7 @@ function leaseExpiry(job, fallback) {
2547
2608
  const base = Date.parse(job.lastRenewAt ?? job.startedAt);
2548
2609
  return new Date((Number.isFinite(base) ? base : fallback.getTime()) + LEASE_SECONDS * 1e3);
2549
2610
  }
2550
- var TEARDOWN_STAGES = ["judge", "checks", "sync", "cleanup", "report"];
2611
+ var TEARDOWN_STAGES = ["proofs", "judge", "checks", "sync", "cleanup", "report"];
2551
2612
  function inTeardown(job) {
2552
2613
  return job.stage !== void 0 && TEARDOWN_STAGES.includes(job.stage);
2553
2614
  }
@@ -2685,6 +2746,21 @@ async function finishJob(job, jobDirPath, outcome, config, deps, ending) {
2685
2746
  log.error(`${tag} removing an earlier attempt's check environment failed: ${describeCallFailure(err)} \xB7 continuing`);
2686
2747
  }
2687
2748
  }
2749
+ if (outcome === "ok" && !job.cleanupRan && job.proofsRan !== true && !valuesNotHeld && job.workdir !== void 0 && job.itemKey !== void 0 && await declaresRecordedProof(config, job.item, deps.fetchImpl)) {
2750
+ setStage(job, jobDirPath, "proofs");
2751
+ job.proofsRan = true;
2752
+ writeJobFile(jobFilePath, job);
2753
+ log.line(`${tag} proofs started`);
2754
+ const startedMs = now().getTime();
2755
+ try {
2756
+ const recorded = build !== void 0 ? await recordProofsInContainer({ config, runtime: build.runtime, job, jobDir: jobDirPath, log: (line) => log.line(`${tag} ${line}`) }) : vmBuild !== void 0 ? await recordProofsInMicroVm({ config, runtime: vmBuild.runtime, job, jobDir: jobDirPath }) : job.build?.exec !== void 0 ? await runRecordProofsViaExec(config, job, jobDirPath, spawnFn) : await runRecordProofs(config, job, jobDirPath, spawnFn);
2757
+ const took = formatDuration(now().getTime() - startedMs);
2758
+ if (recorded.ok) log.line(`${tag} proofs ok (${took}) \xB7 see ${PROOFS_LOG}`);
2759
+ else log.error(`${tag} proofs not all current (${took}): ${recorded.reason ?? "no reason given"} \xB7 see ${PROOFS_LOG} \xB7 continuing`);
2760
+ } catch (err) {
2761
+ log.error(`${tag} the host's proof recording stopped: ${describeCallFailure(err)} \xB7 continuing`);
2762
+ }
2763
+ }
2688
2764
  if (valuesNotHeld && outcome === "ok" && !job.cleanupRan) log.error(`${tag} the host's judge and checks skipped: ${VALUES_NOT_HELD}`);
2689
2765
  if (outcome === "ok" && !job.cleanupRan && job.judgeRan !== true && !valuesNotHeld) {
2690
2766
  setStage(job, jobDirPath, "judge");
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { AGENTS_SKILLS_BASE, OUTERLAYER_SKILLS_BASE } from './chunk-OVNF4LLC.js';
4
- import { normalizePath, CONTEXT_PIN_FILENAME } from './chunk-XFJ7YOPD.js';
3
+ import { AGENTS_SKILLS_BASE, OUTERLAYER_SKILLS_BASE } from './chunk-HH3BQG65.js';
4
+ import { normalizePath, CONTEXT_PIN_FILENAME } from './chunk-2EEW6FJN.js';
5
5
  import { existsSync, readdirSync, readFileSync, mkdirSync, writeFileSync, lstatSync, readlinkSync, symlinkSync, rmdirSync } from 'fs';
6
6
  import { relative, sep, join } from 'path';
7
7
 
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-C2E4PWEN.js';
3
+ import { staleBuildRefusal, staleBuildWarning, detectCi } from './chunk-FG564H3C.js';
4
4
  import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
5
5
  import { detectActiveSession } from './chunk-IP7BIBXJ.js';
6
- import { autoConnect } from './chunk-GJHOU5V3.js';
6
+ import { autoConnect } from './chunk-BRBZKIZG.js';
7
7
  import { C } from './chunk-ANPNT6PM.js';
8
- import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, sanitizeTerminal, appendArtifactTombstone } from './chunk-IXPH4EXK.js';
8
+ import { readEffectiveArtifactSpoolState, localArtifactIds, isArtifactTombstoned, artifactBlobsDir, appendArtifactRecord, artifactsSpoolPath, findPendingArtifactRecord, sanitizeTerminal, appendArtifactTombstone } from './chunk-VEVNGDTP.js';
9
9
  import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-IZKUPAXF.js';
10
- import { resolveRepoIdentity } from './chunk-A2KLVZBU.js';
10
+ import { resolveRepoIdentity } from './chunk-GH2HEEOH.js';
11
11
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
12
12
  import { cliInvocation } from './chunk-CRB3POP4.js';
13
- import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_BYTES, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-DINRXUQA.js';
13
+ import { ARTIFACT_MAX_CAPTION_LENGTH, ArtifactCriterionIdSchema, ARTIFACT_MAX_BYTES, ARTIFACT_MAX_FILENAME_LENGTH, mediaTypeForArtifactPath, inferArtifactKind, ARTIFACT_MAX_REPLACES_TARGETS, parseTestSelector, parseJunit, bindTests } from './chunk-IXRUVR25.js';
14
14
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
15
15
  import { createHash, randomUUID } from 'crypto';
16
16
  import { statSync, readFileSync, mkdirSync, existsSync, writeFileSync, renameSync, unlinkSync } from 'fs';
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-N6V4ZHI7.js';
3
+ import { fetchFactories, selectFactory, saveFactoryConnection, autoConnectedLine } from './chunk-26WUFKYZ.js';
4
4
  import { resolveGatewayCredentials } from './chunk-IZKUPAXF.js';
5
5
  import { readCloudConfig } from './chunk-PJDQPF5N.js';
6
6
  import { findGitDirs, readRepoConnection } from './chunk-BJ3KTMDH.js';
7
- import { resolveRepoIdentity } from './chunk-A2KLVZBU.js';
7
+ import { resolveRepoIdentity } from './chunk-GH2HEEOH.js';
8
8
  import { cliInvocation } from './chunk-CRB3POP4.js';
9
9
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
10
10