@outerlayer/cli 0.34.0-next.20261024225538 → 0.34.0-next.20261025132734

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.
@@ -1 +1 @@
1
- {"id":"2026-10-24T22:57:19.596Z+5cf285c","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
1
+ {"id":"2026-10-25T13:28:45.990Z+09b988d","root":"/home/runner/_work/outerlayer/outerlayer","pkg":"outerlayer"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outerlayer/cli",
3
- "version": "0.34.0-next.20261024225538",
3
+ "version": "0.34.0-next.20261025132734",
4
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.",
@@ -235,14 +235,17 @@ Run them in order.
235
235
 
236
236
  Set `proof` to an artifact kind (`video`, `screenshot`, `report`, `log`,
237
237
  `test` or `file`). When the issue states a proof, as in
238
- `(proof: screenshot)`, use it. A criterion that names a test seam, as in
239
- `(seam: component)`, keeps `null`: a test proves it. Infer the proof of
240
- every other criterion from its Then. A Then that a person sees in the
241
- product's user interface takes `video` when its When has more than one
242
- step, and `screenshot` when it shows one state. A label, a disabled button
243
- and a closed box count. A Then that no screen shows, such as a stored row,
244
- keeps `null`. Infer a screen proof only when the build can run and record
245
- that interface. The final report lists each proof the build inferred.
238
+ `(proof: screenshot)`, use it. Infer the proof of every other criterion
239
+ from its Then, even when it names a test seam such as `(seam: component)`.
240
+ A seam says where the criterion's test binds, not whether a person needs to
241
+ see the result. A Then that a person sees in the product's user interface
242
+ takes `video` when its When has more than one step, and `screenshot` when
243
+ it shows one state. A label, a disabled button and a closed box count. A
244
+ Then that a person reads in the CLI's output, such as a doctor line or an
245
+ error message, takes `log`. A Then that nothing shows, such as a stored
246
+ row, keeps `null`, and its test proves it. Infer a screen proof only when
247
+ the build can run and record that interface. The final report lists each
248
+ proof the build inferred.
246
249
  Then run:
247
250
 
248
251
  node .outerlayer/skills/outerlayer-build/scripts/record-criteria.mjs --item "$OUTERLAYER_WORK" --criteria-file <file>
@@ -286,16 +286,19 @@ tests at HEAD that hold the id of each proof that is not current, and runs them.
286
286
  - A proof that no test can make stays without a test. Give the reason in
287
287
  `build-reports/evidence.md`.
288
288
 
289
- Commit the setup file and the tests. Then run
289
+ Commit the setup file and every test. Then run
290
290
  `outerlayer work proofs --record` from the committed checkout. It stops when a
291
291
  tracked file differs from HEAD. It runs only what is committed at HEAD, and
292
- emits each proof at HEAD. Never emit by hand a proof that a test can make.
293
- Always pass `--pr <number>` when the item links more than one pull
294
- request in the repository. Record again after every later commit. It skips a
295
- proof that is current.
292
+ emits each proof at HEAD. It skips a proof that is current. Never emit by hand
293
+ a proof that a test can make. Always pass `--pr <number>` when the item links
294
+ more than one pull request in the repository.
295
+
296
+ The output names each proof that is still not current, with the reason. Fix
297
+ that test, commit it and record again. Do not record again only because the
298
+ head moved. Each run starts the app again. The orchestrator records once, at
299
+ the run's last head.
296
300
 
297
301
  Run `outerlayer sync`, then `outerlayer work proofs --item "$OUTERLAYER_WORK"`.
298
- For each proof it lists as out of date or missing, fix its test and record again.
299
302
 
300
303
  Write `build-reports/evidence.md` naming every criterion with its artifact, or
301
304
  with the reason none could be produced. A criterion you could not evidence is
@@ -27,20 +27,22 @@ finds those tests at HEAD, runs them through `.outerlayer-proofs.yaml`, and emit
27
27
  each proof. A capture script outside the tests is not allowed, because no later
28
28
  session can run it again.
29
29
 
30
- After the evidence agent returns, and after every later commit, run
31
- `outerlayer sync`, then `outerlayer work proofs --item "$OUTERLAYER_WORK"`. It
32
- lists each declared proof as current, out of date or missing at the checkout's
33
- head. Commit the work, then run `outerlayer work proofs --record`: it records
34
- each proof that is not current and skips the rest. Run the list command once
35
- more before the run ends. A criterion still listed goes in
36
- `build-reports/evidence.md` with the reason. The command leaves out criteria
37
- that declare a test proof.
38
-
39
- When a commit lands on the branch after the evidence agent captured, run
40
- `outerlayer work proofs --record` again. It records every proof that is not
41
- current at the new head. The final report names the commit and the proofs it
42
- recorded again. A commit that lands after this call reopens it. Never drive the
43
- browser yourself.
30
+ After the evidence agent returns, run `outerlayer sync`, then
31
+ `outerlayer work proofs --item "$OUTERLAYER_WORK"`. It lists each declared proof
32
+ as current, out of date or missing at the checkout's head. The command leaves
33
+ out criteria that declare a test proof.
34
+
35
+ A commit makes every proof out of date, and each `--record` run starts the app
36
+ again. So record only at the run's last head. First make every commit the run
37
+ still needs, such as a CI fix or a merge of the base branch. Push the last
38
+ commit, then run `outerlayer work proofs --record` once. It records each
39
+ proof that is not current and skips the rest. If a commit lands after that,
40
+ record once more after it. The final report names that head and the proofs
41
+ recorded there.
42
+
43
+ Run the list command once more before the run ends. A criterion still listed
44
+ goes in `build-reports/evidence.md` with the reason. Never drive the browser
45
+ yourself.
44
46
 
45
47
  Re-read the pull request's evidence comment. Resolve or escalate every row that
46
48
  needs attention. A row is resolved when a re-read shows it, not when the fixing
@@ -87,10 +87,12 @@
87
87
  "82f75a53c591f94615dc27c099e94fcf95e2a09b95aceb38b9022d5f7f054cb0",
88
88
  "8d3a5131d0c82302279d319c51bcde74f7677e8d2e3f6cd68aa7f3ea84fa1051",
89
89
  "9039ae30d4e836b5c5cfba4a14344e46fd13694ae9e4d88e750abce34dfcd9e6",
90
+ "9ef1644ab58a06dbfb9dc6e6344413014cd1ac436dcebd3c2cab632c2a3063bd",
90
91
  "ba26711f3ac400f38e2bb78d4e410cde940e666317cd9aeb3fa949d89bb39f15",
91
92
  "fc2bec8d43764c4e4b40b0ee761b7f9ee8646950dd4e52392f652e68679f79ea"
92
93
  ],
93
94
  ".outerlayer/skills/writing-specs/SKILL.md": [
95
+ "78ffced3b8f3e34306968c69c467292adbc2d609fac20a6778f8bd4a62fbe117",
94
96
  "a956aac4249118a058c4327c5751472883588720950d4a96f80c7e91f454bef9",
95
97
  "d9423f48add241b2cf23bf49b467858355882727a08e068937a07571399555d8",
96
98
  "dbadb39cba5dae936e7c4b97cb852c59072e4a60e44caec01b128a045c1be090",
@@ -42,7 +42,9 @@ Run them in order. Do not skip the approval.
42
42
  a stable id the team chooses. Every criterion whose outcome a user can see
43
43
  carries a proof form beside its id: `(proof: video)` for a flow of more than
44
44
  one step, and `(proof: screenshot)` for a single state. A label, a disabled
45
- button, a closed box and a new line are visible outcomes too. The build
45
+ button, a closed box and a new line are visible outcomes too. Output a
46
+ person reads from the CLI, such as an error message, carries
47
+ `(proof: log)`. The build
46
48
  records each one as a chapter of the item's demo. A test alongside it does
47
49
  not replace the proof form. A test is the proof only where nothing visible
48
50
  changes, such as a stored row or a job that does not start. A criterion
@@ -100,9 +100,10 @@ implementing. Never write them by reading the finished implementation back.
100
100
  - **Every promised error path gets its own criterion.** An unstated edge case
101
101
  is not left open. It is guessed at during implementation.
102
102
  - **`(proof: ...)` between the id and Given** on every criterion whose outcome
103
- a user can see. Use `video` for a flow of more than one step and `screenshot`
104
- for a single state. A test is the proof only where nothing visible changes. The proof shows the running page, never
105
- a component render. The outerlayer-evidence skill covers capture.
103
+ a user can see. Use `video` for a multi-step flow, `screenshot` for one state
104
+ and `log` for CLI output. A test is the proof only where nothing visible
105
+ changes. The proof shows the running
106
+ page, never a component render. The outerlayer-evidence skill covers capture.
106
107
 
107
108
  ## The two verdicts
108
109