@outerlayer/cli 0.28.4 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{agent-setup-IDF3EXM4.js → agent-setup-S3KI7TER.js} +14 -14
  3. package/dist/{artifact-link-cmd-LEI6EOZE.js → artifact-link-cmd-LIJEXVN5.js} +2 -2
  4. package/dist/{bridge-JN3VJ23L.js → bridge-CP25XV3W.js} +2 -2
  5. package/dist/{build-JCYOHPLL.js → build-ZS4Y5MJU.js} +4 -4
  6. package/dist/build-info.json +1 -1
  7. package/dist/{builder-HCTVP2O7.js → builder-FDUOMHY3.js} +6 -6
  8. package/dist/{check-WJ4X2Q44.js → check-5XB22HKS.js} +42 -41
  9. package/dist/{chunk-6NFXOQKZ.js → chunk-23PFIW35.js} +1 -1
  10. package/dist/{chunk-SATUCMAJ.js → chunk-25Z6SBMQ.js} +2 -2
  11. package/dist/{chunk-FTNCNEWE.js → chunk-2KOXAMMB.js} +12 -12
  12. package/dist/{chunk-W3K6GBXY.js → chunk-2YLKMVFV.js} +2 -2
  13. package/dist/{chunk-QBF462QH.js → chunk-3KMYWLMK.js} +1 -1
  14. package/dist/{chunk-5B7BEQPR.js → chunk-427AVP6J.js} +2 -2
  15. package/dist/{chunk-VWFOKRYS.js → chunk-42TFWHFF.js} +1 -1
  16. package/dist/{chunk-X7SFJZIG.js → chunk-6AG2XW5S.js} +29 -10
  17. package/dist/{chunk-BUP5N3X6.js → chunk-6XQPCQBW.js} +1 -1
  18. package/dist/{chunk-WL3QF3QF.js → chunk-77YT7YC4.js} +18 -16
  19. package/dist/{chunk-EZ3DZXUH.js → chunk-7H7RUQCZ.js} +3 -3
  20. package/dist/{chunk-NVUO52YW.js → chunk-A2E7MU2H.js} +55 -47
  21. package/dist/{chunk-MFI55TNI.js → chunk-BFA2LNJG.js} +22 -6
  22. package/dist/{chunk-N5EEEKT6.js → chunk-C7F6U2YZ.js} +3 -2
  23. package/dist/{chunk-M6NNXKRM.js → chunk-CU7TJL6S.js} +1 -1
  24. package/dist/{chunk-KBB3CQTW.js → chunk-D3D2CERC.js} +5 -5
  25. package/dist/{chunk-RKOTJQVG.js → chunk-DXI6A6JN.js} +10 -4
  26. package/dist/{chunk-KJIUFOC4.js → chunk-F72ABZRD.js} +1 -1
  27. package/dist/{chunk-UXLLWIA2.js → chunk-FA6XWYRH.js} +7 -7
  28. package/dist/{chunk-P2RWZCV7.js → chunk-FUGRIAG7.js} +2 -2
  29. package/dist/{chunk-JYVBEWBC.js → chunk-GG3WS4C5.js} +3 -3
  30. package/dist/{chunk-O47BTZSN.js → chunk-GI73HOI2.js} +1 -1
  31. package/dist/{chunk-2BZTGJII.js → chunk-GJJDPZS2.js} +7 -7
  32. package/dist/{chunk-QKXF7CLR.js → chunk-GJOF6357.js} +4 -4
  33. package/dist/{chunk-TG7FAHRP.js → chunk-H6DGJBXG.js} +5 -5
  34. package/dist/{chunk-QFNFBQCG.js → chunk-HRWL7NSJ.js} +5 -5
  35. package/dist/chunk-I3LTIAOR.js +11 -0
  36. package/dist/{chunk-OOUHNKKX.js → chunk-IG45QISA.js} +2 -2
  37. package/dist/{chunk-AV5MJY45.js → chunk-IGEJUPDE.js} +3 -3
  38. package/dist/{chunk-QZBXLLTV.js → chunk-JL6VZHAJ.js} +38 -1
  39. package/dist/{chunk-RXFKXZJS.js → chunk-KBIJZAH4.js} +1 -1
  40. package/dist/{chunk-UHU7H57K.js → chunk-LKN4J37L.js} +151 -34
  41. package/dist/{chunk-6P2Z5AUY.js → chunk-M4QY7YZ5.js} +360 -74
  42. package/dist/{chunk-5Q4NDYQP.js → chunk-MO2NI6W6.js} +25 -24
  43. package/dist/{chunk-HWOU2HDH.js → chunk-MX3PPJNS.js} +1 -1
  44. package/dist/{chunk-ITAIEJ2T.js → chunk-MZJAIRXM.js} +4 -4
  45. package/dist/{chunk-YYGXCRIW.js → chunk-NAHTO4XM.js} +1 -1
  46. package/dist/{chunk-JGML2VUN.js → chunk-NX2G6PH6.js} +1 -1
  47. package/dist/{chunk-OO6OADZN.js → chunk-OD6WUNKZ.js} +3 -3
  48. package/dist/{chunk-DSKOHPXN.js → chunk-OKAJSYZ2.js} +1 -1
  49. package/dist/{chunk-DWVAG73B.js → chunk-PAHZQQB3.js} +1 -1
  50. package/dist/{chunk-NMIYK2G2.js → chunk-PGA5BVHQ.js} +3 -3
  51. package/dist/{chunk-YTR435DO.js → chunk-PP7C7JQO.js} +3 -3
  52. package/dist/{chunk-DQYMQ47E.js → chunk-S2Q65ZOT.js} +1 -1
  53. package/dist/{chunk-R7TMTFJP.js → chunk-SHVE5JZO.js} +1 -1
  54. package/dist/{chunk-JZJLKTZT.js → chunk-SN3C57RV.js} +5 -5
  55. package/dist/{chunk-TOHKSZKI.js → chunk-TZGQQY7Y.js} +7 -7
  56. package/dist/{chunk-VM6BX2WJ.js → chunk-UPKFSNSU.js} +5 -5
  57. package/dist/{chunk-TCBVV2JK.js → chunk-V47KJGNE.js} +3 -3
  58. package/dist/{chunk-NKD5BNRX.js → chunk-VT3BKV5D.js} +3 -3
  59. package/dist/{chunk-HOU33DW5.js → chunk-VY4YVFL5.js} +1 -1
  60. package/dist/{chunk-ERVZGWUR.js → chunk-WEMNLTWB.js} +7 -7
  61. package/dist/{chunk-DIQN5SEL.js → chunk-YSH4KCUJ.js} +1 -1
  62. package/dist/{claude-launcher-LVYZ4YJI.js → claude-launcher-SHIQTBS6.js} +5 -5
  63. package/dist/{cli-X3JGBH2D.js → cli-EN2WGVM6.js} +126 -120
  64. package/dist/{command-NLWZT7KR.js → command-2VFWA2RF.js} +30 -30
  65. package/dist/{config-TNV5HHLO.js → config-HJQ4YE57.js} +2 -2
  66. package/dist/{connect-cmd-43IWARIV.js → connect-cmd-T6IAT5FT.js} +12 -12
  67. package/dist/{container-start-3MXIUNE2.js → container-start-C5ZCXXMF.js} +29 -29
  68. package/dist/{context-cleanup-LTH77FC3.js → context-cleanup-MV3X6NSF.js} +3 -3
  69. package/dist/{control-plane-launch-TIK265OT.js → control-plane-launch-5FZ6LJOC.js} +10 -10
  70. package/dist/{dist-JFVKLUHL.js → dist-H5IYGH3T.js} +2 -2
  71. package/dist/{docker-2IIRBQAB.js → docker-RFN6UWTT.js} +6 -6
  72. package/dist/{doctor-PKMAUDTU.js → doctor-VXDBXKSL.js} +32 -32
  73. package/dist/{emit-artifact-cmd-RM2X3PBJ.js → emit-artifact-cmd-M52RLUBU.js} +16 -16
  74. package/dist/{emit-cmd-QUABLVO6.js → emit-cmd-HTNETHAE.js} +6 -6
  75. package/dist/{emit-criteria-cmd-ZUI7DFND.js → emit-criteria-cmd-APDCA6FK.js} +13 -13
  76. package/dist/{emit-finding-cmd-W2FU4CCF.js → emit-finding-cmd-XEX5XVVI.js} +13 -13
  77. package/dist/{emit-result-cmd-JINMQ7QG.js → emit-result-cmd-HFC3WDWB.js} +52 -25
  78. package/dist/{emit-step-cmd-7FZWQTV3.js → emit-step-cmd-LTRPF2YX.js} +14 -14
  79. package/dist/{exec-client-6ZJJ4KVH.js → exec-client-GHFNXOY6.js} +3 -3
  80. package/dist/{fleet-readiness-3A67MUAU.js → fleet-readiness-SJA7NFR2.js} +12 -12
  81. package/dist/{governing-source-KQMKM5CI.js → governing-source-PBYOKKAJ.js} +17 -17
  82. package/dist/{guest-init-A4HHI2UR.js → guest-init-MQRIALWR.js} +4 -4
  83. package/dist/{hook-fast-UJPAWDAO.js → hook-fast-JKYCVO4R.js} +1 -1
  84. package/dist/{host-key-NGRCMJZ7.js → host-key-DBYH3RTZ.js} +3 -3
  85. package/dist/{image-tag-TEOKZVD5.js → image-tag-XNODAHAW.js} +3 -3
  86. package/dist/index.js +4 -4
  87. package/dist/{init-HENNITCI.js → init-JJPJ2XLL.js} +29 -29
  88. package/dist/{init-Q6JV7IGF.js → init-ZUMSDYMW.js} +29 -29
  89. package/dist/{init-cmd-GJR37XGU.js → init-cmd-342RW7DZ.js} +22 -22
  90. package/dist/{init-update-MZ4IRFC7.js → init-update-4MCW5W72.js} +21 -21
  91. package/dist/{install-NPTR35MG.js → install-GODA5G7U.js} +4 -4
  92. package/dist/{install-cmd-4PXPAFQX.js → install-cmd-YNQ5DCZP.js} +5 -5
  93. package/dist/{layout-BBTQPS6V.js → layout-DBAL2HTQ.js} +4 -4
  94. package/dist/{login-browser-WSOSQH2T.js → login-browser-B6E4GNIF.js} +2 -2
  95. package/dist/{logs-Z4L4I3OR.js → logs-KAG3MAUO.js} +2 -2
  96. package/dist/loop-ZXJFOVCS.js +81 -0
  97. package/dist/{machine-HZGUBOUH.js → machine-F3TVUBZY.js} +25 -25
  98. package/dist/{machine-skills-O7W6NMWB.js → machine-skills-6MLTVBCF.js} +4 -4
  99. package/dist/{mcp-serve-cmd-NQM2WDYI.js → mcp-serve-cmd-SGISNCB3.js} +4 -4
  100. package/dist/{paths-2VSGK6E2.js → paths-PG4JNLZG.js} +2 -2
  101. package/dist/{pending-SFZ2AYSK.js → pending-GG252ERT.js} +3 -3
  102. package/dist/{pidfile-3FT5OLUE.js → pidfile-7SYDMT2O.js} +3 -3
  103. package/dist/{record-7SSRLSI2.js → record-ZGUOOYJH.js} +3 -3
  104. package/dist/{runner-env-2Z2DVSUJ.js → runner-env-WI6LKWIU.js} +5 -5
  105. package/dist/{runner-identity-B37HHOZR.js → runner-identity-JIC54L5Q.js} +6 -6
  106. package/dist/{runner-key-UP5YBUHR.js → runner-key-RXCKMQRL.js} +29 -29
  107. package/dist/{session-sender-7MSVJZ6Q.js → session-sender-JAAMA5E6.js} +17 -17
  108. package/dist/{spec-cmd-KAQ7MX4O.js → spec-cmd-BUFLEQ6L.js} +14 -14
  109. package/dist/{starter-pack-5SOT5V4I.js → starter-pack-I5W5JAYT.js} +5 -5
  110. package/dist/{status-2ICTDC2R.js → status-E7V365CD.js} +33 -32
  111. package/dist/{sync-cmd-7K3WVQKO.js → sync-cmd-U5FUBXJY.js} +16 -16
  112. package/dist/{watch-NCYESLO2.js → watch-AOPZJOUM.js} +16 -16
  113. package/dist/{work-claim-cmd-IOUEHYIY.js → work-claim-cmd-Z2UZD37I.js} +17 -17
  114. package/dist/{work-cmd-FOI74X5B.js → work-cmd-XLVQDNTC.js} +14 -14
  115. package/dist/{work-comment-cmd-3C44H4CG.js → work-comment-cmd-THLQUSMH.js} +14 -14
  116. package/dist/{work-logs-cmd-YGAWCX3X.js → work-logs-cmd-2NFG6ZY6.js} +14 -14
  117. package/dist/{work-open-pr-cmd-HUG5HAVC.js → work-open-pr-cmd-J22A2YCD.js} +15 -15
  118. package/dist/{work-pr-cmd-L2EDOYXH.js → work-pr-cmd-SYAENEH4.js} +14 -14
  119. package/dist/{work-stop-cmd-GGDVKC67.js → work-stop-cmd-FP453YCB.js} +14 -14
  120. package/package.json +1 -1
  121. package/skill-pack/maintained/outerlayer-amend/SKILL.md +40 -39
  122. package/skill-pack/maintained/outerlayer-build/SKILL.md +5 -9
  123. package/skill-pack/maintained/outerlayer-build/references/criteria-judge.md +15 -12
  124. package/skill-pack/maintained/outerlayer-build/references/release.md +11 -6
  125. package/skill-pack/shipped.json +1 -0
  126. package/skill-pack/validators/acceptance-criteria.yaml +7 -2
  127. package/dist/loop-DO46LFUH.js +0 -80
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @outerlayer/cli
2
2
 
3
+ ## 0.29.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8ed2acc: The host's criteria judge records one check item per criterion, with its result and reason, and judges again only the criteria whose tests changed. `outerlayer emit <name> --items <file>` sends check items from CI, a host command writes them to the file `OUTERLAYER_CHECK_ITEMS` names, and `outerlayer work status` lists the failing ones. A judge check can set `subjects: none` to judge the change with no criteria.
8
+
9
+ ### Patch Changes
10
+
11
+ - 3a2c7ea: A command in a microVM build that finishes at once no longer fails now and then with `write EPIPE` from the exec agent. The runner sends a command's request and its known input to the guest in one write.
12
+ - c6533fc: A runner reads past the first page of startable work, so a runner limited to some repositories finds their work however long the queue is. It takes work in the order the gateway lists it, which is now the order each build was asked for.
13
+ - 86d956d: The tracker adapters name an issue's labels `labels` instead of `tags`. The label names they read from GitHub, Linear and Jira are unchanged.
14
+
3
15
  ## 0.28.4
4
16
 
5
17
  ### Patch Changes
@@ -1,30 +1,30 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { keepHandWritten, runAgentSetup } from './chunk-UXLLWIA2.js';
4
- import './chunk-QKXF7CLR.js';
3
+ export { keepHandWritten, runAgentSetup } from './chunk-FA6XWYRH.js';
4
+ import './chunk-GJOF6357.js';
5
5
  import './chunk-KT4CN6OU.js';
6
- import './chunk-SATUCMAJ.js';
7
- import './chunk-5B7BEQPR.js';
6
+ import './chunk-25Z6SBMQ.js';
7
+ import './chunk-427AVP6J.js';
8
8
  import './chunk-ANPNT6PM.js';
9
- import './chunk-TG7FAHRP.js';
10
- import './chunk-P2RWZCV7.js';
11
- import './chunk-KJIUFOC4.js';
9
+ import './chunk-H6DGJBXG.js';
10
+ import './chunk-FUGRIAG7.js';
11
+ import './chunk-F72ABZRD.js';
12
12
  import './chunk-PJDQPF5N.js';
13
- import './chunk-R7TMTFJP.js';
14
- import './chunk-DWVAG73B.js';
15
- import './chunk-N5EEEKT6.js';
13
+ import './chunk-SHVE5JZO.js';
14
+ import './chunk-PAHZQQB3.js';
15
+ import './chunk-C7F6U2YZ.js';
16
16
  import './chunk-ZJSNLVCE.js';
17
17
  import './chunk-BJ3KTMDH.js';
18
- import './chunk-JGML2VUN.js';
18
+ import './chunk-NX2G6PH6.js';
19
19
  import './chunk-5BHIBJDA.js';
20
20
  import './chunk-CDDED64E.js';
21
21
  import './chunk-RA3O54FC.js';
22
22
  import './chunk-CRB3POP4.js';
23
- import './chunk-VWFOKRYS.js';
23
+ import './chunk-42TFWHFF.js';
24
24
  import './chunk-YQR6E6OV.js';
25
25
  import './chunk-TUSYOL2O.js';
26
- import './chunk-RKOTJQVG.js';
27
- import './chunk-QZBXLLTV.js';
26
+ import './chunk-DXI6A6JN.js';
27
+ import './chunk-JL6VZHAJ.js';
28
28
  import './chunk-VNVZDWO3.js';
29
29
  import './chunk-XD4ZCMA4.js';
30
30
  import './chunk-MESOOLF4.js';
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { sanitizeTerminal, readEffectiveArtifactSpoolState } from './chunk-BUP5N3X6.js';
3
+ import { sanitizeTerminal, readEffectiveArtifactSpoolState } from './chunk-6XQPCQBW.js';
4
4
  import { cliInvocation } from './chunk-CRB3POP4.js';
5
- import './chunk-QZBXLLTV.js';
5
+ import './chunk-JL6VZHAJ.js';
6
6
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
7
7
  import './chunk-Z5GEFMRW.js';
8
8
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { BRIDGE_ADDRESS, BRIDGE_CIDR, CONTAINER_NO_PROXY, CONTAINER_PROXY, TUNNEL_PORT, dockerClientConfig, startBridgeForward, writeDockerClientConfig } from './chunk-RXFKXZJS.js';
4
- import './chunk-N5EEEKT6.js';
3
+ export { BRIDGE_ADDRESS, BRIDGE_CIDR, CONTAINER_NO_PROXY, CONTAINER_PROXY, TUNNEL_PORT, dockerClientConfig, startBridgeForward, writeDockerClientConfig } from './chunk-KBIJZAH4.js';
4
+ import './chunk-C7F6U2YZ.js';
5
5
  import './chunk-XD4ZCMA4.js';
6
6
  import './chunk-MESOOLF4.js';
7
7
  import './chunk-Z5GEFMRW.js';
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- export { buildRepositoryImage } from './chunk-TCBVV2JK.js';
4
- import './chunk-M6NNXKRM.js';
3
+ export { buildRepositoryImage } from './chunk-V47KJGNE.js';
4
+ import './chunk-CU7TJL6S.js';
5
5
  import './chunk-JBJTC3UU.js';
6
6
  export { RecipeError } from './chunk-SJZL5F3F.js';
7
- import './chunk-DWVAG73B.js';
8
- import './chunk-N5EEEKT6.js';
7
+ import './chunk-PAHZQQB3.js';
8
+ import './chunk-C7F6U2YZ.js';
9
9
  import './chunk-XD4ZCMA4.js';
10
10
  import './chunk-MESOOLF4.js';
11
11
  import './chunk-Z5GEFMRW.js';
@@ -1 +1 @@
1
- {"id":"2026-10-17T18:42:55.566Z+c3e29e0","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
1
+ {"id":"2026-10-19T13:07:50.023Z+2340eef","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
@@ -1,13 +1,13 @@
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-MFI55TNI.js';
3
+ export { MIN_BUILDX_VERSION, builderName, builderSpec, buildxState, ensureBuilder, ensureFailureCount, isOutOfMemory, proxyEnvironment, trackImageBuild } from './chunk-BFA2LNJG.js';
4
4
  import './chunk-YJLHUKYS.js';
5
5
  import './chunk-SJZL5F3F.js';
6
- import './chunk-UHU7H57K.js';
7
- import './chunk-R7TMTFJP.js';
8
- import './chunk-DWVAG73B.js';
9
- import './chunk-N5EEEKT6.js';
10
- import './chunk-QZBXLLTV.js';
6
+ import './chunk-LKN4J37L.js';
7
+ import './chunk-SHVE5JZO.js';
8
+ import './chunk-PAHZQQB3.js';
9
+ import './chunk-C7F6U2YZ.js';
10
+ import './chunk-JL6VZHAJ.js';
11
11
  import './chunk-XD4ZCMA4.js';
12
12
  import './chunk-MESOOLF4.js';
13
13
  import './chunk-Z5GEFMRW.js';
@@ -1,66 +1,67 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { probeCredentials } from './chunk-NVUO52YW.js';
4
- import './chunk-6P2Z5AUY.js';
3
+ import { probeCredentials } from './chunk-A2E7MU2H.js';
4
+ import './chunk-M4QY7YZ5.js';
5
5
  import './chunk-3JVYMD4G.js';
6
6
  import './chunk-E7R2GIAW.js';
7
7
  import './chunk-TPKYTORP.js';
8
- import './chunk-HWOU2HDH.js';
8
+ import './chunk-MX3PPJNS.js';
9
9
  import './chunk-ZVB57WI6.js';
10
- import './chunk-QBF462QH.js';
11
- import './chunk-OO6OADZN.js';
12
- import './chunk-YTR435DO.js';
13
- import './chunk-2BZTGJII.js';
14
- import './chunk-VM6BX2WJ.js';
10
+ import './chunk-3KMYWLMK.js';
11
+ import './chunk-OD6WUNKZ.js';
12
+ import './chunk-I3LTIAOR.js';
13
+ import './chunk-PP7C7JQO.js';
14
+ import './chunk-GJJDPZS2.js';
15
+ import './chunk-UPKFSNSU.js';
15
16
  import './chunk-ESVW4MJY.js';
16
- import './chunk-RXFKXZJS.js';
17
- import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-ERVZGWUR.js';
17
+ import './chunk-KBIJZAH4.js';
18
+ import { placeholderQueues, placeholderProblem, permissionModeProblems, permissionModeProblem, needsClaudeCredential, claudeCredentialCheck, claimPermissionProblem, formerSkillQueues, formerSkillProblem } from './chunk-WEMNLTWB.js';
18
19
  import './chunk-YYYRBYWG.js';
19
- import './chunk-6NFXOQKZ.js';
20
+ import './chunk-23PFIW35.js';
20
21
  import './chunk-TBT347UY.js';
21
- import './chunk-KBB3CQTW.js';
22
- import './chunk-W3K6GBXY.js';
23
- import './chunk-5Q4NDYQP.js';
24
- import './chunk-WL3QF3QF.js';
25
- import './chunk-DIQN5SEL.js';
26
- import './chunk-JZJLKTZT.js';
27
- import './chunk-O47BTZSN.js';
22
+ import './chunk-D3D2CERC.js';
23
+ import './chunk-2YLKMVFV.js';
24
+ import './chunk-MO2NI6W6.js';
25
+ import './chunk-77YT7YC4.js';
26
+ import './chunk-YSH4KCUJ.js';
27
+ import './chunk-SN3C57RV.js';
28
+ import './chunk-GI73HOI2.js';
28
29
  import './chunk-TQMI335S.js';
29
- import './chunk-AV5MJY45.js';
30
- import './chunk-JYVBEWBC.js';
31
- import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-YYGXCRIW.js';
30
+ import './chunk-IGEJUPDE.js';
31
+ import './chunk-GG3WS4C5.js';
32
+ import { loadRunnerConfig, RunnerConfigError, checkHooks } from './chunk-NAHTO4XM.js';
32
33
  import './chunk-UXYLWVTQ.js';
33
- import './chunk-TCBVV2JK.js';
34
- import './chunk-M6NNXKRM.js';
34
+ import './chunk-V47KJGNE.js';
35
+ import './chunk-CU7TJL6S.js';
35
36
  import './chunk-JBJTC3UU.js';
36
37
  import './chunk-OGFGZQA3.js';
37
- import './chunk-MFI55TNI.js';
38
+ import './chunk-BFA2LNJG.js';
38
39
  import './chunk-YJLHUKYS.js';
39
40
  import './chunk-SJZL5F3F.js';
40
- import './chunk-X7SFJZIG.js';
41
- import './chunk-NMIYK2G2.js';
42
- import './chunk-QFNFBQCG.js';
43
- import './chunk-BUP5N3X6.js';
44
- import './chunk-UHU7H57K.js';
45
- import './chunk-5B7BEQPR.js';
46
- import './chunk-HOU33DW5.js';
41
+ import './chunk-6AG2XW5S.js';
42
+ import './chunk-PGA5BVHQ.js';
43
+ import './chunk-HRWL7NSJ.js';
44
+ import './chunk-6XQPCQBW.js';
45
+ import './chunk-LKN4J37L.js';
46
+ import './chunk-427AVP6J.js';
47
+ import './chunk-VY4YVFL5.js';
47
48
  import './chunk-G2JWZDFA.js';
48
49
  import './chunk-ANPNT6PM.js';
49
- import './chunk-TG7FAHRP.js';
50
- import './chunk-P2RWZCV7.js';
51
- import './chunk-KJIUFOC4.js';
50
+ import './chunk-H6DGJBXG.js';
51
+ import './chunk-FUGRIAG7.js';
52
+ import './chunk-F72ABZRD.js';
52
53
  import './chunk-PJDQPF5N.js';
53
- import './chunk-R7TMTFJP.js';
54
- import './chunk-DWVAG73B.js';
55
- import { claudeEnvPath } from './chunk-N5EEEKT6.js';
56
- import './chunk-OOUHNKKX.js';
54
+ import './chunk-SHVE5JZO.js';
55
+ import './chunk-PAHZQQB3.js';
56
+ import { claudeEnvPath } from './chunk-C7F6U2YZ.js';
57
+ import './chunk-IG45QISA.js';
57
58
  import './chunk-ZJSNLVCE.js';
58
59
  import './chunk-2O5KA67H.js';
59
60
  import './chunk-BKO6JEZI.js';
60
61
  import './chunk-FGF52V4V.js';
61
62
  import './chunk-HCVLP7XA.js';
62
63
  import './chunk-BJ3KTMDH.js';
63
- import './chunk-JGML2VUN.js';
64
+ import './chunk-NX2G6PH6.js';
64
65
  import './chunk-5BHIBJDA.js';
65
66
  import './chunk-CDDED64E.js';
66
67
  import './chunk-RA3O54FC.js';
@@ -70,8 +71,8 @@ import './chunk-CRB3POP4.js';
70
71
  import './chunk-URIZRCRY.js';
71
72
  import './chunk-YQR6E6OV.js';
72
73
  import './chunk-TUSYOL2O.js';
73
- import './chunk-RKOTJQVG.js';
74
- import './chunk-QZBXLLTV.js';
74
+ import './chunk-DXI6A6JN.js';
75
+ import './chunk-JL6VZHAJ.js';
75
76
  import './chunk-VNVZDWO3.js';
76
77
  import { parseRunnerEnv } from './chunk-XD4ZCMA4.js';
77
78
  import './chunk-MESOOLF4.js';
@@ -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-DWVAG73B.js';
3
+ import { runnerDir, RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-PAHZQQB3.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,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-JGML2VUN.js';
4
+ import { resolvePackRoot, OUTERLAYER_SKILLS_BASE, loadTemplateFiles, AGENTS_SKILLS_BASE, loadMaintainedFiles, rewriteSkillPaths, TEMPLATE_SKILLS, skillDir, writeMaintainedFiles, MACHINE_SKILL_PATH } from './chunk-NX2G6PH6.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-VWFOKRYS.js';
8
+ import { linkedAgentsPath } from './chunk-42TFWHFF.js';
9
9
  import { readFileSync, existsSync, mkdirSync, writeFileSync } from 'fs';
10
10
  import { join, dirname } from 'path';
11
11
 
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { checkStarterFiles, contextIsGoverned } from './chunk-ITAIEJ2T.js';
4
- import { fleetCheck, checkBuildSkill, checkMachineSkills, checkCommittedMaintainedSkills, checkMaintainedReferences } from './chunk-TOHKSZKI.js';
5
- import { resolveCredentials, getJson, WorkCommandError } from './chunk-X7SFJZIG.js';
6
- import { isLinkedRepository } from './chunk-QFNFBQCG.js';
7
- import { sanitizeTerminal } from './chunk-BUP5N3X6.js';
8
- import { resolveRepoIdentity, compareVersions, SUPPORTED_VERSIONS } from './chunk-UHU7H57K.js';
3
+ import { checkStarterFiles, contextIsGoverned } from './chunk-MZJAIRXM.js';
4
+ import { fleetCheck, checkBuildSkill, checkMachineSkills, checkCommittedMaintainedSkills, checkMaintainedReferences } from './chunk-TZGQQY7Y.js';
5
+ import { resolveCredentials, getJson, WorkCommandError } from './chunk-6AG2XW5S.js';
6
+ import { isLinkedRepository } from './chunk-HRWL7NSJ.js';
7
+ import { sanitizeTerminal } from './chunk-6XQPCQBW.js';
8
+ import { resolveRepoIdentity, compareVersions, SUPPORTED_VERSIONS } from './chunk-LKN4J37L.js';
9
9
  import { C } from './chunk-ANPNT6PM.js';
10
- import { checkFormerSkillNames } from './chunk-P2RWZCV7.js';
11
- import { resolveGatewayCredentials, defaultFetch } from './chunk-KJIUFOC4.js';
12
- import { sanitizeForContext, spoolDir, assessSyncHealth, readSyncStatus, SYNC_STALE_AFTER_MS, formatAgo, checkInstalledCliStaleness, workspaceRootOf, hookFiredMarkerPath, refreshCommand } from './chunk-OOUHNKKX.js';
10
+ import { checkFormerSkillNames } from './chunk-FUGRIAG7.js';
11
+ import { resolveGatewayCredentials, defaultFetch } from './chunk-F72ABZRD.js';
12
+ import { sanitizeForContext, spoolDir, assessSyncHealth, readSyncStatus, SYNC_STALE_AFTER_MS, formatAgo, checkInstalledCliStaleness, workspaceRootOf, hookFiredMarkerPath, refreshCommand } from './chunk-IG45QISA.js';
13
13
  import { readStatuslineState, STATE_FRESH_MS } from './chunk-I7RZHMXW.js';
14
14
  import { hookCommandEscapesControlPlane, CONTROL_PLANE_DIR_VARIABLE } from './chunk-HCVLP7XA.js';
15
15
  import { findGitDirs } from './chunk-BJ3KTMDH.js';
@@ -1190,7 +1190,7 @@ function doctorExitCode(checks) {
1190
1190
 
1191
1191
  // src/doctor-report.ts
1192
1192
  async function gatherDoctorChecks() {
1193
- const { defaultRunnerConfigPath, hasRunnerBlock, loadRunnerConfig, runnerVmOf } = await import('./config-TNV5HHLO.js');
1193
+ const { defaultRunnerConfigPath, hasRunnerBlock, loadRunnerConfig, runnerVmOf } = await import('./config-HJQ4YE57.js');
1194
1194
  const configPath = defaultRunnerConfigPath();
1195
1195
  const runnerHost = hasRunnerBlock(configPath);
1196
1196
  const hooks = (() => {
@@ -1211,7 +1211,7 @@ async function gatherDoctorChecks() {
1211
1211
  const { runnerVmCheck } = await import('./doctor-53F2PYY7.js');
1212
1212
  checks.push(runnerVmCheck(configPath, { lima: realLima(), home: homeFromEnv(), instance: runnerVm.instance }));
1213
1213
  } else if (hasRunnerBlock(configPath)) {
1214
- const { runnerHostChecks } = await import('./doctor-PKMAUDTU.js');
1214
+ const { runnerHostChecks } = await import('./doctor-VXDBXKSL.js');
1215
1215
  const gateway = (() => {
1216
1216
  try {
1217
1217
  const { url, apiKey, appId } = loadRunnerConfig(configPath);
@@ -1239,7 +1239,7 @@ async function gatherDoctorChecks() {
1239
1239
  const { existsSync: existsSync3 } = await import('fs');
1240
1240
  if (process.platform !== "linux" || !existsSync3("/run/systemd/system")) return void 0;
1241
1241
  const { inspectService, realInspectProbes } = await import('./inspect-L7JIBK3Y.js');
1242
- const { DEFAULT_UNIT_NAME } = await import('./install-NPTR35MG.js');
1242
+ const { DEFAULT_UNIT_NAME } = await import('./install-GODA5G7U.js');
1243
1243
  const { dirname: dirname2 } = await import('path');
1244
1244
  return inspectService(DEFAULT_UNIT_NAME, dirname2(configPath), realInspectProbes());
1245
1245
  })();
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { MIN_ENGINE_MAJOR } from './chunk-5Q4NDYQP.js';
4
- import { runnerImageVersion } from './chunk-O47BTZSN.js';
3
+ import { MIN_ENGINE_MAJOR } from './chunk-MO2NI6W6.js';
4
+ import { runnerImageVersion } from './chunk-GI73HOI2.js';
5
5
  import { firecrackerArch, MICROVM_ARCHES, guestAssetsPinned } from './chunk-SJZL5F3F.js';
6
6
  import { spawnSync } from 'child_process';
7
7
  import { existsSync, accessSync, constants, statSync, readFileSync } from 'fs';
@@ -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-DWVAG73B.js';
3
+ import { RUNNER_DIR_MODE, RUNNER_FILE_MODE } from './chunk-PAHZQQB3.js';
4
4
  import { readFileSync, mkdirSync, writeFileSync, renameSync } from 'fs';
5
5
  import { join } from 'path';
6
6
 
@@ -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-JGML2VUN.js';
4
- import { normalizePath, CONTEXT_PIN_FILENAME } from './chunk-RKOTJQVG.js';
3
+ import { AGENTS_SKILLS_BASE, OUTERLAYER_SKILLS_BASE } from './chunk-NX2G6PH6.js';
4
+ import { normalizePath, CONTEXT_PIN_FILENAME } from './chunk-DXI6A6JN.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
 
@@ -2,7 +2,7 @@
2
2
  import { createRequire } from 'node:module';
3
3
  import { readContextManifest, removeContextManifest } from './chunk-YQR6E6OV.js';
4
4
  import { removePreCommitGuardHook } from './chunk-TUSYOL2O.js';
5
- import { CONTEXT_PIN_FILENAME } from './chunk-RKOTJQVG.js';
5
+ import { CONTEXT_PIN_FILENAME } from './chunk-DXI6A6JN.js';
6
6
  import { execFileSync } from 'child_process';
7
7
  import { lstatSync, existsSync, unlinkSync, readdirSync, rmdirSync, readFileSync, mkdirSync, writeFileSync } from 'fs';
8
8
  import { join, dirname, isAbsolute } from 'path';
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { detectActiveSession, autoConnect } from './chunk-NMIYK2G2.js';
4
- import { workPageUrl } from './chunk-QFNFBQCG.js';
5
- import { sanitizeTerminal } from './chunk-BUP5N3X6.js';
6
- import { resolveRepoIdentity } from './chunk-UHU7H57K.js';
3
+ import { detectActiveSession, autoConnect } from './chunk-PGA5BVHQ.js';
4
+ import { workPageUrl } from './chunk-HRWL7NSJ.js';
5
+ import { sanitizeTerminal } from './chunk-6XQPCQBW.js';
6
+ import { resolveRepoIdentity } from './chunk-LKN4J37L.js';
7
7
  import { C } from './chunk-ANPNT6PM.js';
8
- import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-KJIUFOC4.js';
9
- import { signRunnerRequest } from './chunk-R7TMTFJP.js';
8
+ import { resolveGatewayCredentials, unauthorizedMessage, defaultFetch } from './chunk-F72ABZRD.js';
9
+ import { signRunnerRequest } from './chunk-SHVE5JZO.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';
@@ -428,7 +428,7 @@ async function runWorkLinkSession(opts) {
428
428
  return await linkSession(opts);
429
429
  } catch (err) {
430
430
  if (opts.logFailures) {
431
- const { logHookError } = await import('./hook-fast-UJPAWDAO.js');
431
+ const { logHookError } = await import('./hook-fast-JKYCVO4R.js');
432
432
  const reason = err instanceof Error ? err.message : String(err);
433
433
  logHookError(opts.home ?? homeFromEnv(opts.env ?? process.env), new Error(`work link-session #${opts.number} failed: ${reason}`));
434
434
  }
@@ -534,14 +534,33 @@ function repositoryDisconnectedLine(data) {
534
534
 
535
535
  `;
536
536
  }
537
+ function failingChecksSection(data) {
538
+ const checks = data.checks;
539
+ if (!Array.isArray(checks)) return "";
540
+ const failing = checks.filter((check) => check.result === "fail");
541
+ if (failing.length === 0) return "";
542
+ const lines = failing.flatMap((check) => {
543
+ const body = typeof check.body === "string" && check.body !== "" ? `: ${sanitizeTerminal(check.body)}` : "";
544
+ const items = Array.isArray(check.items) ? check.items : [];
545
+ return [
546
+ ` ${sanitizeTerminal(String(check.name))}${body}`,
547
+ ...items.filter((item) => item.result === "fail").map((item) => ` ${sanitizeTerminal(String(item.id))}${typeof item.reason === "string" ? ` ${C.dim}${sanitizeTerminal(item.reason)}${C.reset}` : ""}`)
548
+ ];
549
+ });
550
+ return `
551
+
552
+ Failing checks
553
+ ${lines.join("\n")}`;
554
+ }
537
555
  function statusOutput(data, json) {
538
556
  if (json) return JSON.stringify(data);
539
557
  const document = mergedUnverifiedLine(data) + repositoryDisconnectedLine(data) + JSON.stringify(data, null, 2);
558
+ const checks = failingChecksSection(data);
540
559
  const criteria = data.criteria;
541
- if (criteria === void 0) return document;
560
+ if (criteria === void 0) return `${document}${checks}`;
542
561
  if (criteria === null || !Array.isArray(criteria.items)) return `${document}
543
562
 
544
- Criteria: none recorded`;
563
+ Criteria: none recorded${checks}`;
545
564
  const mark = criteria.drafted === true ? ` ${C.dim}(drafted by the build)${C.reset}` : "";
546
565
  const lines = criteria.items.map((item) => {
547
566
  const proof = typeof item.proof === "string" ? ` ${C.dim}[proof: ${sanitizeTerminal(item.proof)}]${C.reset}` : "";
@@ -550,7 +569,7 @@ Criteria: none recorded`;
550
569
  return `${document}
551
570
 
552
571
  Criteria${mark}
553
- ${lines.join("\n")}`;
572
+ ${lines.join("\n")}${checks}`;
554
573
  }
555
574
  async function runWorkStatus(opts) {
556
575
  const cwd = opts.cwd ?? process.cwd();
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { ArtifactTombstoneRecordSchema, ArtifactSpoolRecordSchema } from './chunk-QZBXLLTV.js';
3
+ import { ArtifactTombstoneRecordSchema, ArtifactSpoolRecordSchema } from './chunk-JL6VZHAJ.js';
4
4
  import { homeFromEnv } from './chunk-VNVZDWO3.js';
5
5
  import { mkdirSync, appendFileSync, writeFileSync, renameSync, unlinkSync, existsSync, readdirSync, readFileSync, statSync } from 'fs';
6
6
  import { join, dirname } from 'path';
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { EXEC_PORT } from './chunk-DIQN5SEL.js';
3
+ import { EXEC_PORT } from './chunk-YSH4KCUJ.js';
4
4
  import { createConnection } from 'net';
5
5
 
6
6
  createRequire(import.meta.url);
@@ -81,21 +81,24 @@ function runExec(socketPath, request, io = {}) {
81
81
  killed = true;
82
82
  send(FRAME.kill, Buffer.alloc(0));
83
83
  }
84
- const pumpStdin = async () => {
84
+ const chunks = (buffer) => Array.from({ length: Math.ceil(buffer.length / CHUNK_BYTES) }, (_unused, i) => buffer.subarray(i * CHUNK_BYTES, (i + 1) * CHUNK_BYTES));
85
+ const sendRequest = () => {
85
86
  const stdin = io.stdin;
86
- const chunks = (buffer) => Array.from({ length: Math.ceil(buffer.length / CHUNK_BYTES) }, (_unused, i) => buffer.subarray(i * CHUNK_BYTES, (i + 1) * CHUNK_BYTES));
87
+ if (stdin !== void 0 && typeof stdin !== "string" && !Buffer.isBuffer(stdin)) {
88
+ send(FRAME.request, encodeRequest(request));
89
+ void pumpStdin(stdin);
90
+ return;
91
+ }
92
+ const input = stdin === void 0 ? [] : chunks(Buffer.from(stdin)).map((chunk) => encodeFrame(FRAME.stdin, chunk));
93
+ socket.write(Buffer.concat([encodeFrame(FRAME.request, encodeRequest(request)), ...input, encodeFrame(FRAME.stdin, Buffer.alloc(0))]));
94
+ };
95
+ const pumpStdin = async (stdin) => {
87
96
  try {
88
- if (stdin === void 0) {
89
- } else if (typeof stdin === "string" || Buffer.isBuffer(stdin)) {
90
- for (const chunk of chunks(Buffer.from(stdin))) send(FRAME.stdin, chunk);
91
- } else {
92
- stdinIterator = stdin.iterator({ destroyOnReturn: false });
93
- for (; ; ) {
94
- const next = await stdinIterator.next();
95
- if (next.done === true || settled) break;
96
- for (const chunk of chunks(Buffer.from(next.value))) {
97
- if (!send(FRAME.stdin, chunk)) await new Promise((done) => socket.once("drain", () => done()));
98
- }
97
+ const iterator = stdin.iterator({ destroyOnReturn: false });
98
+ stdinIterator = iterator;
99
+ for await (const value of iterator) {
100
+ for (const chunk of chunks(Buffer.from(value))) {
101
+ if (!send(FRAME.stdin, chunk)) await new Promise((done) => socket.once("drain", () => done()));
99
102
  }
100
103
  }
101
104
  } catch {
@@ -143,9 +146,8 @@ function runExec(socketPath, request, io = {}) {
143
146
  }
144
147
  greeted = true;
145
148
  clearTimeout(handshakeTimer);
146
- send(FRAME.request, encodeRequest(request));
149
+ sendRequest();
147
150
  if (io.signal?.aborted === true) kill();
148
- void pumpStdin();
149
151
  const rest = greeting.subarray(newline + 1);
150
152
  if (rest.length > 0) onFrames(rest);
151
153
  });
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { launcherPath, writeLauncher, LauncherWriteError, pathNotes } from './chunk-DSKOHPXN.js';
4
- import { currentVersion, currentLink, isInLayout, packageRootIn, versionDir, switchCurrent, execStartLine } from './chunk-6NFXOQKZ.js';
3
+ import { launcherPath, writeLauncher, LauncherWriteError, pathNotes } from './chunk-OKAJSYZ2.js';
4
+ import { currentVersion, currentLink, isInLayout, packageRootIn, versionDir, switchCurrent, execStartLine } from './chunk-23PFIW35.js';
5
5
  import { compareVersions } from './chunk-TQMI335S.js';
6
- import { RUNNER_DIR_MODE } from './chunk-DWVAG73B.js';
6
+ import { RUNNER_DIR_MODE } from './chunk-PAHZQQB3.js';
7
7
  import { realpathSync, readFileSync, mkdirSync, rmSync, cpSync, existsSync } from 'fs';
8
8
  import { dirname, sep, join } from 'path';
9
9