@outerlayer/cli 0.8.5 → 0.9.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 (86) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +22 -14
  3. package/dist/{agent-setup-LEQF4V5F.js → agent-setup-ODTDC3US.js} +8 -7
  4. package/dist/{build-3FSJR5OO.js → build-LELVCWHV.js} +2 -2
  5. package/dist/build-info.json +1 -1
  6. package/dist/{builder-5UFAF5LW.js → builder-5DKTBWT3.js} +5 -5
  7. package/dist/{check-HWYLSMEL.js → check-VJRJ2KQ4.js} +69 -34
  8. package/dist/{chunk-Y7UQHKFY.js → chunk-3FMPZPJQ.js} +1 -4
  9. package/dist/chunk-3JVYMD4G.js +18 -0
  10. package/dist/{chunk-K4MGMSMN.js → chunk-4HMXH2OA.js} +8 -2
  11. package/dist/{chunk-H6IGIE3I.js → chunk-543OT6V5.js} +4 -4
  12. package/dist/{chunk-PVC36MFI.js → chunk-5MF73XCV.js} +2 -2
  13. package/dist/{chunk-HWMYGAKF.js → chunk-6CXYORUS.js} +1 -1
  14. package/dist/{inspect-XAUSB7L3.js → chunk-6MZSX4M7.js} +12 -6
  15. package/dist/{chunk-IS4DIGBQ.js → chunk-ABIWDUMS.js} +1 -13
  16. package/dist/{chunk-WLV4KCAW.js → chunk-BGWTYRSS.js} +1 -1
  17. package/dist/{chunk-2MFYKH3C.js → chunk-BMX3L7CR.js} +1 -1
  18. package/dist/{chunk-HKMPVPO7.js → chunk-BYT5O5RV.js} +7 -1
  19. package/dist/{chunk-WGLWDX5J.js → chunk-FKFGQJNN.js} +1 -1
  20. package/dist/{chunk-MSV44EB5.js → chunk-KPUJGBA4.js} +2 -2
  21. package/dist/{chunk-TY7EZC7U.js → chunk-KWCJLAHQ.js} +5 -5
  22. package/dist/{chunk-GJ3OWUFO.js → chunk-LBU4CLK5.js} +113 -24
  23. package/dist/{chunk-CDISNKM4.js → chunk-LTJPX7TX.js} +93 -13
  24. package/dist/{chunk-TFJGK4UB.js → chunk-LYESSQUA.js} +22 -4
  25. package/dist/{chunk-7KI224YS.js → chunk-M2PBLRB7.js} +1 -1
  26. package/dist/{chunk-2FWL7CE2.js → chunk-M6G7TJVF.js} +1 -1
  27. package/dist/{chunk-CRLAB4PM.js → chunk-NTLGWCWK.js} +1 -1
  28. package/dist/{chunk-4KPMIGBQ.js → chunk-OSKO3PAL.js} +25 -20
  29. package/dist/{chunk-AIW6GLET.js → chunk-PDTSUOVT.js} +1 -1
  30. package/dist/{chunk-LKUUQ3XV.js → chunk-QPPPUKQJ.js} +1 -1
  31. package/dist/{chunk-6AFQOYO3.js → chunk-RWQWPZB4.js} +10 -6
  32. package/dist/{chunk-2E2MG3KW.js → chunk-S6IUUNCD.js} +1 -1
  33. package/dist/{chunk-AGMIJ725.js → chunk-SUMWRA7K.js} +1 -1
  34. package/dist/{chunk-NKU5OPYP.js → chunk-TB7EP24C.js} +1 -1
  35. package/dist/{chunk-DE4GLH3P.js → chunk-TV36SKEN.js} +2 -2
  36. package/dist/{chunk-J5DPVNL3.js → chunk-V42JY4F6.js} +2 -2
  37. package/dist/{chunk-FCDET2U5.js → chunk-VMK7I3TB.js} +3 -3
  38. package/dist/{chunk-IOG6LPEI.js → chunk-WJBJY5DQ.js} +2 -2
  39. package/dist/{chunk-SWGQAURM.js → chunk-XGCJNSI7.js} +26 -7
  40. package/dist/{chunk-FTW6C2E7.js → chunk-XZNO4QED.js} +10 -10
  41. package/dist/{chunk-ZMKXBWIK.js → chunk-YCPV7FN6.js} +31 -19
  42. package/dist/{chunk-PK5NANMT.js → chunk-YT35WGIP.js} +5 -3
  43. package/dist/{chunk-DSPYQUH4.js → chunk-YU5GL7QS.js} +2 -2
  44. package/dist/{chunk-BL63NBJZ.js → chunk-ZEQMTBRD.js} +1 -1
  45. package/dist/{cli-5QAP7N4A.js → cli-7RQYILJT.js} +81 -81
  46. package/dist/{command-WKRTL3JQ.js → command-2LYWVGIK.js} +21 -21
  47. package/dist/{config-OOBPCY7Q.js → config-X45X7AS4.js} +3 -3
  48. package/dist/{connect-cmd-YEO7WRSL.js → connect-cmd-MPZWSEKY.js} +4 -4
  49. package/dist/{context-adopt-3REPEEQR.js → context-adopt-A77G67CP.js} +6 -5
  50. package/dist/{context-materialize-DU6B6RXF.js → context-materialize-KQZYATQZ.js} +6 -5
  51. package/dist/{dist-PKBWZAAL.js → dist-QY5CL5LB.js} +2 -2
  52. package/dist/{docker-5DUNHNOH.js → docker-V7B6UKPF.js} +6 -6
  53. package/dist/{doctor-FEIBPZL7.js → doctor-PUAL5LTL.js} +46 -35
  54. package/dist/{emit-artifact-cmd-S3CASUQK.js → emit-artifact-cmd-P3IWNSQY.js} +7 -7
  55. package/dist/{emit-cmd-ETI47BA6.js → emit-cmd-SU62J2PB.js} +4 -4
  56. package/dist/{emit-criteria-cmd-ZTUP7OGA.js → emit-criteria-cmd-GOSP6X74.js} +5 -5
  57. package/dist/{emit-finding-cmd-TTXBZ4B7.js → emit-finding-cmd-D554IQKU.js} +5 -5
  58. package/dist/{emit-result-cmd-34OC6TI5.js → emit-result-cmd-QACXTIBV.js} +7 -7
  59. package/dist/{exec-client-2UX6NHAO.js → exec-client-QTUO6TZT.js} +4 -4
  60. package/dist/{guest-init-VHQNFCFS.js → guest-init-4UW4HM6N.js} +4 -4
  61. package/dist/{hook-fast-CFLLVMSV.js → hook-fast-AQCAQIA6.js} +1 -1
  62. package/dist/{import-capture-cmd-Z3232HR4.js → import-capture-cmd-5NJVL2HN.js} +3 -3
  63. package/dist/{import-ruler-cmd-2PLXZXM7.js → import-ruler-cmd-TUK3MRPC.js} +2 -2
  64. package/dist/index.js +3 -3
  65. package/dist/{init-AHQHM56A.js → init-TMBE3BRN.js} +20 -20
  66. package/dist/{init-UZ5TXACM.js → init-WX5XE6L3.js} +47 -23
  67. package/dist/{init-cmd-F4FS5AVC.js → init-cmd-4FQKQLJ5.js} +14 -14
  68. package/dist/inspect-6UYAAXH7.js +6 -0
  69. package/dist/{install-C33LT5KQ.js → install-PYNCWSTV.js} +4 -4
  70. package/dist/{loop-FN67ZHLO.js → loop-QLL4DKRF.js} +31 -30
  71. package/dist/{machine-Y3TBDMXD.js → machine-7T7FBSUL.js} +19 -19
  72. package/dist/{real-deps-TK6JMQSW.js → real-deps-LS64D3M6.js} +4 -3
  73. package/dist/{session-sender-LKVVLAUP.js → session-sender-HVWTYG35.js} +6 -6
  74. package/dist/{starter-pack-L5WPXL4Q.js → starter-pack-I35VNYAR.js} +4 -4
  75. package/dist/{status-7RNWHYG6.js → status-SMF5JG2K.js} +24 -24
  76. package/dist/{sync-cmd-VH6HSMG5.js → sync-cmd-SLMPCUXO.js} +5 -5
  77. package/dist/{watch-HUKDEFUX.js → watch-TLM5QN5X.js} +5 -5
  78. package/dist/{work-claim-cmd-JLCU5SPP.js → work-claim-cmd-VSSZDFY5.js} +34 -12
  79. package/dist/{work-cmd-SBKQJBJ2.js → work-cmd-TK4VOOHL.js} +6 -6
  80. package/dist/{work-comment-cmd-TNUDUUAT.js → work-comment-cmd-VQCG72ZQ.js} +6 -6
  81. package/dist/{work-open-pr-cmd-IB57SMAD.js → work-open-pr-cmd-ZYOC5SPB.js} +7 -7
  82. package/dist/{work-pr-cmd-HDDNFSKA.js → work-pr-cmd-MX6UO5GO.js} +6 -6
  83. package/package.json +1 -1
  84. package/skill-pack/maintained/amend/SKILL.md +22 -12
  85. package/skill-pack/template/build/SKILL.md +13 -2
  86. package/skill-pack/template/build/references/evidence.md +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outerlayer/cli",
3
- "version": "0.8.5",
3
+ "version": "0.9.0",
4
4
  "description": "OuterLayer CLI — commands: init, connect, doctor, login, logout, sync, daemon (alias: watch), emit, work, runner, hooks, mcp, import, 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.",
@@ -10,8 +10,10 @@ description: >
10
10
 
11
11
  Answer every thread waiting on an agent on one work item's pull request, then
12
12
  stop. A work item has one general thread and one thread per acceptance
13
- criterion. A person's fail, or a plain comment from a person, leaves a thread
14
- waiting on an agent. The person's newest comment says what they want. This
13
+ criterion. A person's fail on the general thread leaves it waiting on an agent.
14
+ A note a reviewer sent with Request changes (a sent note) leaves its criterion
15
+ thread waiting on an agent. A plain comment from a person does not hand a
16
+ thread to an agent. The person's newest comment says what they want. This
15
17
  skill never records a verdict. Only a person passes or fails a thread. A
16
18
  session can only reply.
17
19
 
@@ -43,25 +45,33 @@ straight to the git host. A local session uses the person's own git remote and
43
45
  `criterion` (null for the general thread), `waitingOn` (`agent`, `person` or
44
46
  null), `verdict`, `proof` and `comments`. Each comment carries `author`
45
47
  (`kind` is `person` or `agent`), `body`, `action` and `artifact`. Keep the
46
- threads whose `waitingOn` is `agent`. If none is, say so and stop: there is
47
- nothing to answer. Then read `outerlayer work status --item "$OUTERLAYER_WORK" --json`
48
- for the pull request in `pullRequests` (`repository`, `prNumber`).
48
+ threads whose `waitingOn` is `agent`. One send of notes starts one run, so
49
+ expect several criterion threads and the general thread together. If none is
50
+ waiting, say so and stop: there is nothing to answer. Then read
51
+ `outerlayer work status --item "$OUTERLAYER_WORK" --json` for the pull
52
+ request in `pullRequests` (`repository`, `prNumber`).
49
53
  2. **Re-orient.** Read the issue the item names and the pull request, including
50
54
  its evidence comment, through the team's tracker tool or the git host. The
51
55
  issue body is the spec. Find each thread's criterion there. Read every
52
56
  person's comment since the last agent comment on the thread. Read them
53
57
  literally: they are the reviewer's instruction.
54
- 3. **Decide each thread.** For each waiting thread, pick one:
55
- - **Fix it.** The comment names something the change got wrong or did not
56
- show. Change the code, tests, docs or evidence so the criterion is met as
57
- written.
58
+ 3. **Decide each thread.** Reply on every criterion thread waiting on an
59
+ agent, with `--criterion`, so each note gets its answer under it. Read each
60
+ note and pick one:
61
+ - **Answer it.** A question gets an answer. Reply with the answer and
62
+ change nothing. Say which file or test you looked at.
63
+ - **Fix it.** A requested change gets a fix. The comment names something the
64
+ change got wrong or did not show. Change the code, tests, docs or evidence
65
+ so the criterion is met as written, and attach new proof when the
66
+ criterion declares one.
58
67
  - **The spec is wrong.** The comment shows the criterion cannot be met as
59
68
  written, for example because it names a path a repository rule forbids. A
60
69
  session never rewrites a criterion on its own. Hand it off (step 5), naming
61
70
  the exact wording change the owner should make.
62
- - **Cannot tell.** The comment is ambiguous. Hand it off, quoting it and
63
- saying what you would need to know.
64
- 4. **Fix, prove, reply.** For each thread you fix:
71
+ - **Cannot tell.** The comment is ambiguous. Hand it off with `--ready`:
72
+ quote it and ask one question back.
73
+ 4. **Fix, prove, reply.** An answer needs no commit: reply on its criterion
74
+ thread with the answer and `--ready`. For each thread you fix:
65
75
  - Make the change on the pull request's branch. Keep it to what the comment
66
76
  asks. Do not refactor around it.
67
77
  - Run the tests that cover the criterion, then the repository's full
@@ -194,5 +194,16 @@ Run them in order.
194
194
  Watch CI until every check has concluded.
195
195
  6. **Manual test and evidence.** Read [references/evidence.md](references/evidence.md)
196
196
  when the pull request opens, and run it. Capture the proof each criterion
197
- declares, emit it, then end the run with the final report. The report
198
- lists every candidate issue and every assumption.
197
+ declares, emit it. Then release the lease.
198
+ 7. **Release the lease.** Run this last, after the pull request is open and
199
+ the evidence is emitted, and run no other tool call after it:
200
+
201
+ outerlayer work release --item "$OUTERLAYER_WORK"
202
+
203
+ A session that names a work item holds a lease on it, and review stays
204
+ closed until the lease is released. In a session this command releases the
205
+ session's own lease and no one else's. A later tool call takes the lease
206
+ again, so write the final report as plain text once this has run. Skip this
207
+ step in a runner build, whose host releases its own lease. Then end the run
208
+ with the final report. The report lists every candidate issue and every
209
+ assumption.
@@ -2,8 +2,8 @@
2
2
 
3
3
  Read this when the pull request opens. The evidence agent starts then, in the
4
4
  same wave as the CI watch. Everything after it in this file runs once CI is
5
- conclusive and the evidence agent has returned. This is the last phase, and it
6
- ends the run: it deletes the state file and the report directory. The evidence
5
+ conclusive and the evidence agent has returned. It deletes the state file and
6
+ the report directory, then phase 7 releases the lease and ends the run. The evidence
7
7
  brief is in [agent-briefs.md](agent-briefs.md). Read every value from an
8
8
  earlier phase from the state file.
9
9