@outerlayer/cli 0.29.0 → 0.30.1

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 +18 -0
  2. package/README.md +9 -1
  3. package/dist/{agent-setup-S3KI7TER.js → agent-setup-ZNYAXAWI.js} +14 -14
  4. package/dist/{artifact-link-cmd-LIJEXVN5.js → artifact-link-cmd-VY6OM7S5.js} +2 -2
  5. package/dist/{bridge-CP25XV3W.js → bridge-FI7OF2H3.js} +2 -2
  6. package/dist/{build-ZS4Y5MJU.js → build-PXRDWSN4.js} +4 -4
  7. package/dist/build-info.json +1 -1
  8. package/dist/{builder-FDUOMHY3.js → builder-UNVHUZL7.js} +6 -6
  9. package/dist/{check-5XB22HKS.js → check-BKONE55O.js} +41 -41
  10. package/dist/{chunk-NAHTO4XM.js → chunk-2ZMJFGOZ.js} +1 -1
  11. package/dist/{chunk-GG3WS4C5.js → chunk-3F7RC3UA.js} +3 -3
  12. package/dist/{chunk-SN3C57RV.js → chunk-3IDNLZPR.js} +5 -5
  13. package/dist/{chunk-HRWL7NSJ.js → chunk-3YLHIXLR.js} +7 -7
  14. package/dist/{chunk-3KMYWLMK.js → chunk-44CGGHJF.js} +1 -1
  15. package/dist/{chunk-IGEJUPDE.js → chunk-5HZDPOJI.js} +3 -3
  16. package/dist/{chunk-OD6WUNKZ.js → chunk-6CNNRO53.js} +3 -3
  17. package/dist/{chunk-BFA2LNJG.js → chunk-7YSR636F.js} +4 -4
  18. package/dist/{chunk-NX2G6PH6.js → chunk-AKKVPUGK.js} +1 -1
  19. package/dist/{chunk-F72ABZRD.js → chunk-AM3GMWQK.js} +1 -1
  20. package/dist/{emit-finding-cmd-XEX5XVVI.js → chunk-B5CQJBZ2.js} +5 -23
  21. package/dist/{chunk-D3D2CERC.js → chunk-B6OYEP3K.js} +5 -5
  22. package/dist/{chunk-MZJAIRXM.js → chunk-BCWVTWS7.js} +4 -4
  23. package/dist/{chunk-GI73HOI2.js → chunk-D3LS7E7U.js} +1 -1
  24. package/dist/{chunk-GJJDPZS2.js → chunk-DBELICD6.js} +7 -7
  25. package/dist/{chunk-A2E7MU2H.js → chunk-DBENBGVF.js} +18 -18
  26. package/dist/{chunk-6AG2XW5S.js → chunk-DBRB26R7.js} +7 -7
  27. package/dist/{chunk-H6DGJBXG.js → chunk-DLY22KHX.js} +5 -5
  28. package/dist/{chunk-LKN4J37L.js → chunk-FTGJ3DPV.js} +52 -2
  29. package/dist/{chunk-VY4YVFL5.js → chunk-G2RRBBOX.js} +1 -1
  30. package/dist/{chunk-42TFWHFF.js → chunk-HJUGOAM7.js} +1 -1
  31. package/dist/{chunk-6XQPCQBW.js → chunk-HSUUTD4E.js} +1 -1
  32. package/dist/{chunk-FA6XWYRH.js → chunk-I3WLYIIW.js} +7 -7
  33. package/dist/{chunk-SHVE5JZO.js → chunk-IRF2FKB5.js} +1 -1
  34. package/dist/{chunk-CU7TJL6S.js → chunk-IRTZYDZO.js} +1 -1
  35. package/dist/{chunk-M4QY7YZ5.js → chunk-ISKWFUEQ.js} +20 -20
  36. package/dist/{chunk-JL6VZHAJ.js → chunk-IWFYKNAO.js} +50 -1
  37. package/dist/{chunk-WEMNLTWB.js → chunk-JGOMMFNX.js} +7 -7
  38. package/dist/{chunk-23PFIW35.js → chunk-LJIFCG4G.js} +1 -1
  39. package/dist/{chunk-77YT7YC4.js → chunk-MBVSVQVH.js} +1 -1
  40. package/dist/{chunk-TZGQQY7Y.js → chunk-MBZTX4V2.js} +7 -7
  41. package/dist/{chunk-UPKFSNSU.js → chunk-PS3AHE6C.js} +5 -5
  42. package/dist/{chunk-427AVP6J.js → chunk-QDDPVBIS.js} +2 -2
  43. package/dist/{chunk-MO2NI6W6.js → chunk-QQJGL7LG.js} +12 -12
  44. package/dist/{chunk-MX3PPJNS.js → chunk-QWJBTFAF.js} +1 -1
  45. package/dist/{chunk-IG45QISA.js → chunk-RJDJFRRY.js} +2 -2
  46. package/dist/{chunk-PGA5BVHQ.js → chunk-SJ4DX2AD.js} +3 -3
  47. package/dist/{chunk-PAHZQQB3.js → chunk-SOWXLIDN.js} +1 -1
  48. package/dist/{chunk-VT3BKV5D.js → chunk-TGUWHA27.js} +3 -3
  49. package/dist/{chunk-YSH4KCUJ.js → chunk-TKJISBV6.js} +1 -1
  50. package/dist/{chunk-2KOXAMMB.js → chunk-TKX23NFV.js} +12 -12
  51. package/dist/{chunk-KBIJZAH4.js → chunk-TN2XMMD7.js} +1 -1
  52. package/dist/{chunk-V47KJGNE.js → chunk-U5DC57AF.js} +3 -3
  53. package/dist/{chunk-S2Q65ZOT.js → chunk-UAFMC3PL.js} +1 -1
  54. package/dist/{chunk-FUGRIAG7.js → chunk-V6IYYQU3.js} +2 -2
  55. package/dist/{chunk-OKAJSYZ2.js → chunk-VL3CF4DZ.js} +1 -1
  56. package/dist/{chunk-C7F6U2YZ.js → chunk-WHCDULC4.js} +5 -2
  57. package/dist/{chunk-GJOF6357.js → chunk-XB7TRWI2.js} +4 -4
  58. package/dist/{chunk-2YLKMVFV.js → chunk-XRRSFHKV.js} +2 -2
  59. package/dist/{chunk-25Z6SBMQ.js → chunk-XTKH5VAC.js} +2 -2
  60. package/dist/{chunk-7H7RUQCZ.js → chunk-YVY3IVYV.js} +3 -3
  61. package/dist/{chunk-PP7C7JQO.js → chunk-ZNMVBHGJ.js} +3 -3
  62. package/dist/{chunk-DXI6A6JN.js → chunk-ZUOPFE22.js} +1 -1
  63. package/dist/{claude-launcher-SHIQTBS6.js → claude-launcher-ZDZQXW76.js} +5 -5
  64. package/dist/{cli-EN2WGVM6.js → cli-6NI7WJFP.js} +182 -120
  65. package/dist/{command-2VFWA2RF.js → command-EFYTEHPF.js} +30 -30
  66. package/dist/{config-HJQ4YE57.js → config-VM6GKCCE.js} +2 -2
  67. package/dist/{connect-cmd-T6IAT5FT.js → connect-cmd-U2DY4OZU.js} +12 -12
  68. package/dist/{container-start-C5ZCXXMF.js → container-start-C3CGPEXA.js} +32 -31
  69. package/dist/{context-cleanup-MV3X6NSF.js → context-cleanup-D5EGQHQV.js} +3 -3
  70. package/dist/{control-plane-launch-5FZ6LJOC.js → control-plane-launch-2AC4BTWL.js} +10 -10
  71. package/dist/{dist-H5IYGH3T.js → dist-IDP7Q53A.js} +2 -2
  72. package/dist/{docker-RFN6UWTT.js → docker-K442NGCS.js} +6 -6
  73. package/dist/{doctor-VXDBXKSL.js → doctor-RGTHY56D.js} +32 -32
  74. package/dist/{emit-artifact-cmd-M52RLUBU.js → emit-artifact-cmd-IK7GAS7V.js} +16 -16
  75. package/dist/{emit-cmd-HTNETHAE.js → emit-cmd-PSD7AAKJ.js} +6 -6
  76. package/dist/{emit-criteria-cmd-APDCA6FK.js → emit-criteria-cmd-TGBRMX3P.js} +13 -13
  77. package/dist/emit-finding-cmd-KXCNLJLK.js +34 -0
  78. package/dist/{emit-result-cmd-HFC3WDWB.js → emit-result-cmd-WJBLCVDL.js} +16 -16
  79. package/dist/{emit-step-cmd-LTRPF2YX.js → emit-step-cmd-OYX5X65A.js} +14 -14
  80. package/dist/{exec-client-GHFNXOY6.js → exec-client-RMGGSTGR.js} +3 -3
  81. package/dist/findings-cmd-HFDOB6AC.js +135 -0
  82. package/dist/{fleet-readiness-SJA7NFR2.js → fleet-readiness-5S2GCWZE.js} +12 -12
  83. package/dist/{governing-source-PBYOKKAJ.js → governing-source-LVTBDQIM.js} +17 -17
  84. package/dist/{guest-init-MQRIALWR.js → guest-init-O7INUZWE.js} +4 -4
  85. package/dist/{hook-fast-JKYCVO4R.js → hook-fast-A2N3PSXI.js} +1 -1
  86. package/dist/{host-key-DBYH3RTZ.js → host-key-HJ66C6MD.js} +3 -3
  87. package/dist/{image-tag-XNODAHAW.js → image-tag-LLXOFXKP.js} +3 -3
  88. package/dist/index.js +4 -4
  89. package/dist/{init-ZUMSDYMW.js → init-NO5PJEPZ.js} +29 -29
  90. package/dist/{init-JJPJ2XLL.js → init-VY6J7MAY.js} +29 -29
  91. package/dist/{init-cmd-342RW7DZ.js → init-cmd-FW67JGI7.js} +22 -22
  92. package/dist/{init-update-4MCW5W72.js → init-update-RN2PZ3MT.js} +21 -21
  93. package/dist/{install-GODA5G7U.js → install-GZ27NW6U.js} +4 -4
  94. package/dist/{install-cmd-YNQ5DCZP.js → install-cmd-26OY23ZZ.js} +5 -5
  95. package/dist/{layout-DBAL2HTQ.js → layout-3ISIED6A.js} +4 -4
  96. package/dist/{login-browser-B6E4GNIF.js → login-browser-NTVVDJF7.js} +2 -2
  97. package/dist/{logs-KAG3MAUO.js → logs-7O3ELY35.js} +2 -2
  98. package/dist/{loop-ZXJFOVCS.js → loop-SY636F7D.js} +41 -41
  99. package/dist/{machine-F3TVUBZY.js → machine-IJ2QP3FO.js} +25 -25
  100. package/dist/{machine-skills-6MLTVBCF.js → machine-skills-I4DB2CP3.js} +4 -4
  101. package/dist/{mcp-serve-cmd-SGISNCB3.js → mcp-serve-cmd-AT7G6J5V.js} +4 -4
  102. package/dist/{paths-PG4JNLZG.js → paths-32THAYBB.js} +2 -2
  103. package/dist/{pending-GG252ERT.js → pending-6CMYQHFL.js} +3 -3
  104. package/dist/{pidfile-7SYDMT2O.js → pidfile-3BH6WPOA.js} +3 -3
  105. package/dist/{record-ZGUOOYJH.js → record-WHPJCC6Y.js} +3 -3
  106. package/dist/{runner-env-WI6LKWIU.js → runner-env-6Q45P3IE.js} +5 -5
  107. package/dist/{runner-identity-JIC54L5Q.js → runner-identity-KH7HADNF.js} +6 -6
  108. package/dist/{runner-key-RXCKMQRL.js → runner-key-L6B5CNDG.js} +29 -29
  109. package/dist/{session-sender-JAAMA5E6.js → session-sender-N4DOGRTN.js} +17 -17
  110. package/dist/{spec-cmd-BUFLEQ6L.js → spec-cmd-7KOT4IQO.js} +14 -14
  111. package/dist/{starter-pack-I5W5JAYT.js → starter-pack-2WFNRGFA.js} +5 -5
  112. package/dist/{status-E7V365CD.js → status-LOQ2RHWX.js} +32 -32
  113. package/dist/{sync-cmd-U5FUBXJY.js → sync-cmd-E5VRZ5DK.js} +16 -16
  114. package/dist/{watch-AOPZJOUM.js → watch-P6XAYDM2.js} +16 -16
  115. package/dist/{work-claim-cmd-Z2UZD37I.js → work-claim-cmd-7YQ5CJ3R.js} +17 -17
  116. package/dist/{work-cmd-XLVQDNTC.js → work-cmd-RRHDQDOX.js} +14 -14
  117. package/dist/{work-comment-cmd-THLQUSMH.js → work-comment-cmd-XYAPMQYC.js} +14 -14
  118. package/dist/{work-logs-cmd-2NFG6ZY6.js → work-logs-cmd-TTLUEWVX.js} +14 -14
  119. package/dist/{work-open-pr-cmd-J22A2YCD.js → work-open-pr-cmd-A63YGIBW.js} +15 -15
  120. package/dist/{work-pr-cmd-SYAENEH4.js → work-pr-cmd-HOS5ZHJI.js} +14 -14
  121. package/dist/{work-stop-cmd-FP453YCB.js → work-stop-cmd-7KIKIZPO.js} +14 -14
  122. package/package.json +3 -3
  123. package/skill-pack/maintained/outerlayer-build/SKILL.md +4 -1
  124. package/skill-pack/maintained/outerlayer-findings/SKILL.md +14 -10
  125. package/skill-pack/shipped.json +2 -0
  126. package/skill-pack/template/build/SKILL.md +3 -1
  127. package/skill-pack/template/spec/SKILL.md +6 -4
@@ -1,28 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire } from 'node:module';
3
- import { resolveCredentials, postJson, WorkCommandError } from './chunk-6AG2XW5S.js';
4
- import './chunk-PGA5BVHQ.js';
5
- import './chunk-HRWL7NSJ.js';
6
- import './chunk-6XQPCQBW.js';
7
- import './chunk-LKN4J37L.js';
8
- import './chunk-427AVP6J.js';
9
- import './chunk-VY4YVFL5.js';
3
+ import { resolveCredentials, postJson, WorkCommandError } from './chunk-DBRB26R7.js';
4
+ import './chunk-SJ4DX2AD.js';
5
+ import './chunk-3YLHIXLR.js';
6
+ import './chunk-HSUUTD4E.js';
7
+ import './chunk-FTGJ3DPV.js';
8
+ import './chunk-QDDPVBIS.js';
9
+ import './chunk-G2RRBBOX.js';
10
10
  import './chunk-G2JWZDFA.js';
11
11
  import './chunk-ANPNT6PM.js';
12
- import { defaultFetch } from './chunk-F72ABZRD.js';
12
+ import { defaultFetch } from './chunk-AM3GMWQK.js';
13
13
  import './chunk-PJDQPF5N.js';
14
- import './chunk-SHVE5JZO.js';
15
- import './chunk-PAHZQQB3.js';
16
- import './chunk-C7F6U2YZ.js';
14
+ import './chunk-IRF2FKB5.js';
15
+ import './chunk-SOWXLIDN.js';
16
+ import './chunk-WHCDULC4.js';
17
17
  import './chunk-BJ3KTMDH.js';
18
- import './chunk-NX2G6PH6.js';
18
+ import './chunk-AKKVPUGK.js';
19
19
  import './chunk-5BHIBJDA.js';
20
20
  import './chunk-CDDED64E.js';
21
21
  import './chunk-RA3O54FC.js';
22
22
  import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
23
23
  import './chunk-CRB3POP4.js';
24
- import './chunk-DXI6A6JN.js';
25
- import './chunk-JL6VZHAJ.js';
24
+ import './chunk-ZUOPFE22.js';
25
+ import './chunk-IWFYKNAO.js';
26
26
  import './chunk-VNVZDWO3.js';
27
27
  import './chunk-XD4ZCMA4.js';
28
28
  import './chunk-MESOOLF4.js';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@outerlayer/cli",
3
- "version": "0.29.0",
4
- "description": "OuterLayer CLI — commands: init, claude, connect, doctor, login, logout, sync, daemon (alias: watch), emit, work, spec, runner, hooks, mcp, context. Capture and sync coding-agent sessions, and record proof of factory work.",
3
+ "version": "0.30.1",
4
+ "description": "OuterLayer CLI — commands: init, claude, connect, doctor, login, logout, sync, daemon (alias: watch), emit, findings, work, spec, runner, hooks, mcp, context. Capture and sync coding-agent sessions, and record proof of factory work.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Magu Studios, Inc.",
7
7
  "repository": {
@@ -55,7 +55,7 @@
55
55
  "@types/node": "^22.20.1",
56
56
  "commander": "^15.0.0",
57
57
  "http-message-sig": "0.3.0",
58
- "structured-headers": "2.1.0",
58
+ "structured-headers": "2.1.1",
59
59
  "tsup": "^8.5.0",
60
60
  "tsx": "^4.22.4",
61
61
  "typescript": "^5.5.3",
@@ -306,7 +306,10 @@ Run them in order.
306
306
  is open, as release.md says.
307
307
 
308
308
  5. **Pull request.** Run `outerlayer emit step "Pull request" --item "$OUTERLAYER_WORK"`,
309
- then apply the team's changes for this phase. Read [references/release.md](references/release.md)
309
+ then apply the team's changes for this phase. If the item fixes problems that `outerlayer findings show`
310
+ lists, record a result for each one before the pull request opens, with
311
+ `outerlayer findings result <problem id> --fixed|--not-fixed --note "<text>"`.
312
+ Read [references/release.md](references/release.md)
310
313
  on entry and run it. A release agent merges the base branch in, gates and pushes. Open the
311
314
  pull request as release.md says: a runner build with `outerlayer work open-pr`,
312
315
  which links it, and a local session with `gh pr create` and then
@@ -145,7 +145,7 @@ outerlayer emit finding --id <short-id> --category <category> \
145
145
  Inside a recorded session the work item is found automatically. Outside one,
146
146
  add `--item <number>`.
147
147
 
148
- Examples. The ones with no `--error` name their start:
148
+ Examples:
149
149
 
150
150
  ```bash
151
151
  outerlayer emit finding --id stale-path --category context \
@@ -203,16 +203,14 @@ To record several at once, write a JSON batch and run
203
203
  ```
204
204
 
205
205
  `startedAt` and `endedAt` are event ids, defaulting as in `emit finding`. A
206
- finding with no start found stops the batch; `"untimed": true` is the
207
- exception. `problems` with `linkReason`, and `new: true`, are for a finding
208
- that needs a choice; give neither and the server decides by key
209
- or lists candidates. `emit findings` stores the findings that match a key,
210
- lists the ones that need a choice, and exits with code 3.
206
+ finding with no start found stops the batch, unless it sets `"untimed": true`.
207
+ `problems` with `linkReason`, or `new: true`, answer a choice. `emit findings`
208
+ stores the findings that match a key, lists the ones that need a choice, and
209
+ exits with code 3.
211
210
 
212
- `file` and `title` are always set; `line` and `rule` are `null` when there
213
- is nothing to put in them. A `context` finding fills `rule` with
214
- `{ "path", "line", "quote", "relation" }`. Leave `quote` out, rather than
215
- `null`, when the relation is `missing`.
211
+ `file` and `title` are always set. `line` and `rule` are `null` when empty. A
212
+ `context` finding fills `rule` with `{ "path", "line", "quote", "relation" }`;
213
+ leave `quote` out when the relation is `missing`.
216
214
 
217
215
  ## When not to record one
218
216
 
@@ -221,3 +219,9 @@ is nothing to put in them. A `context` finding fills `rule` with
221
219
  and lost no time, leave it.
222
220
  - A problem you already recorded on this work item is not recorded twice.
223
221
  Re-using the same `--id` replaces the earlier finding.
222
+
223
+ ## Recording the result of a fix
224
+
225
+ Run `outerlayer findings show` to list the problems a fix item covers. For each,
226
+ run `outerlayer findings result <problem id> --fixed --note "<what you did>"`
227
+ or `--not-fixed --note "<why not>"`.
@@ -10,6 +10,7 @@
10
10
  "4fad19c9f33c6282b675d88f2571aa8281b7fad53e49cc696781a9b3eb7d28c1",
11
11
  "5cf9bd75fb1f984f6e6b470d1f1581dc06168abf062448e6f43711fed8f6632a",
12
12
  "6177ea457be0d238659640e6d29807708d60d68533ae3ff93af10fb513139ced",
13
+ "7289eb9a22303b185c936931ede5aa2df61a8ee5c84475bac1840f30654e40f0",
13
14
  "77cab8b446fb1aa865710f7cb8356c5334301a942f58f9243766bf1acf1377ad",
14
15
  "815c0b5816511e8f7c927aa3fd3bf386537dcdd039b9c6ec4d18d30c8c3c9b1a",
15
16
  "93953397c31d47a6f1c06edb8ae2190e1d8a3fca20c616deb33991311cee39a8",
@@ -77,6 +78,7 @@
77
78
  ],
78
79
  ".outerlayer/skills/spec/SKILL.md": [
79
80
  "1dcc8d22e037b6cd93a5e3f0cb3f3bf97cf634313e2668c08bfded376cd5d01b",
81
+ "290edbe7d4107ec84eb77bff1f57759adff48d330bb2fd382509fce01e9a7713",
80
82
  "5848f2424fbd071d6097a736408b6d7c462a5c1b7c141b5e81ed3e5a60b717be",
81
83
  "71e81fabf353ad6117c54e061868538bf00066b78c2528f5a8364445d1def02e",
82
84
  "7676c9a19f8ea8741ffbe8f09e4600764cb3f98c2c6bce15ee5a90b4c5f1d41e",
@@ -8,4 +8,6 @@ Read ~/.agents/skills/outerlayer-build/SKILL.md and follow it from start to fini
8
8
 
9
9
  ## Changes for this repository
10
10
 
11
- None yet. Add a change under the name of the phase it applies to: Intake, Criteria, Implement, Review, Pull request, Evidence.
11
+ Add a change under the name of the phase it applies to: Intake, Criteria, Implement, Review, Pull request, Evidence.
12
+
13
+ Pull request: before opening the pull request, check whether this item is a fix for problems. Run `outerlayer findings show`. If it lists covered problems, record a result for every covered problem. Run `outerlayer findings result <problem id> --fixed --note "<what you did>"` when the change fixes it. Run `outerlayer findings result <problem id> --not-fixed --note "<why not>"` when it does not. The note is required. Do not open the pull request while a covered problem has no result.
@@ -74,10 +74,12 @@ Run them in order. Do not skip the approval.
74
74
  rejects leaves no issue behind.
75
75
  7. **File it.** Run `outerlayer spec target` first. It prints the tracker, its
76
76
  sources, the repositories and whether the factory can file there. If it
77
- prints `can file: no`, tell the user what is missing, show the approved
78
- spec so it is not lost, and stop. For GitHub the usual cause is that an
79
- organization admin has not approved the OuterLayer App's Issues write
80
- permission yet.
77
+ prints `tracker: none chosen` and lists more than one tracker, ask the user
78
+ which one, then run `outerlayer spec target --tracker <name>`. If it
79
+ prints `can file: no` for a chosen tracker, tell the user what is missing,
80
+ show the approved spec so it is not lost, and stop. For GitHub the usual
81
+ cause is that an organization admin has not approved the OuterLayer App's
82
+ Issues write permission yet.
81
83
 
82
84
  Otherwise save the approved body, with the full criteria, to a file and run
83
85
  `outerlayer spec file --title "<title>" --body-file <path>`. Add