@sylad/cadence 1.24.0 → 1.26.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.
@@ -35,8 +35,16 @@ commands (its CLAUDE.md names them), never with `raf start|done|note|ux|review`.
35
35
  the human (a trial at 3 was decided on 2026-10-12); if the slots are the bottleneck, say so and let them decide.
36
36
  - **Never two subagents in the same repository at the same time**, and the lead does not commit in a
37
37
  repository where a subagent is working.
38
- - **Deliveries and `raf ux` / `raf review` verdicts are done by the lead, one project at a time** —
39
- never by a subagent, never two deliveries in parallel.
38
+ - **Deliveries and `raf ux` / `raf review` verdicts are done by the lead, one project at a time, or by the `livreur` agent it
39
+ launches** (L439): the delivery and, with `lead.ux: lead`, `raf ux` may be done by the `livreur`; `raf review` stays with the
40
+ lead. Launch one `livreur` at a time: never two deliveries in parallel, and each `livreur` counts in the cap of subagents. Only another
41
+ `livreur` or another subagent blocks a new one; the sessions of a running wave do not (a ready lot is delivered while the wave runs,
42
+ section 2b). Never launch a `livreur` while the wave integrates a lot (`cadence lead tour` shows it): `raf done` would write the plan
43
+ of the main tree, which that integration refuses as modified. Brief: the absolute project folder, the lot, the sha to deliver
44
+ (« livrable jusqu'à »), the value of `lead.ux`, the base URL of the delivered app (the `deliver` configuration of `cadence.yaml`),
45
+ and for a visible lot with `lead.ux: lead` the `ux-reviewer`'s report and the folder of its captures. It hands back one line
46
+ (`L84 livré 3d6edf4, QA à lancer <url>`) or one `Question : …`; the lead itself launches the `qa-reviewer` with the URL of the line
47
+ (section 4), then the `livreur` of the next ready lot.
40
48
  - A subagent cannot ask the human anything. When it hits an ambiguity it stops and reports; the lead
41
49
  brings the question to the human.
42
50
 
@@ -179,7 +187,7 @@ reviewer's last line brought up to date. It does so only when the reviewer has n
179
187
  what the lot promised. At the **slightest doubt** — a reservation of the reviewer it cannot settle, a capture it cannot read,
180
188
  a layout or wording choice that is a matter of taste, a state the captures do not show — it records nothing, brings the
181
189
  captures and the question to the human, and the chain goes on with the other lots as for any UX reservation. The verdict
182
- is always recorded by the lead's own `raf ux`, never by a subagent.
190
+ is recorded by the lead's own `raf ux` or, for a lot it hands over, by the `livreur` on the same criterion (it opens the captures itself and records nothing at the slightest doubt).
183
191
 
184
192
  ## 3. Check
185
193
 
@@ -190,6 +198,11 @@ is always recorded by the lead's own `raf ux`, never by a subagent.
190
198
  the absolute path of the project and the lot id, **not** the author's report: it reads the diff
191
199
  itself from the commits that cite the lot, runs the checks, and returns real defects only,
192
200
  ranked, with what it could not verify and a one-line verdict.
201
+ Add a line `Report file: <absolute path>` in a temporary folder outside the repository (one file per
202
+ lot and pass): the agent writes its full report there and answers you in 5 lines (verdict, blocking
203
+ findings, follow-ups, the path). Read the file only when you need it: to act on a blocking finding,
204
+ to hand a finding to a fix, or to bring the verdict line up to date for `raf review`. A short reply with `Blocking: 0`
205
+ needs no read.
193
206
  2. **The lead re-verifies itself**: `git log` shows the commits, the test suite and build pass when
194
207
  run by the lead, `raf check` is clean. During a wave, or in any tree that is not the lead's own, replay the gate at the lot's last sha with
195
208
  `cadence verify --gate --sha <sha> [--project <dir>]` (exit 0 green, 1 red with the failing tests, 2 nothing to replay): a bare
@@ -212,7 +225,7 @@ is always recorded by the lead's own `raf ux`, never by a subagent.
212
225
 
213
226
  ## 4. Delivery
214
227
 
215
- One project at a time, by the lead: push, then the `deliver` skill (`cadence deliver --dry-run`, then
228
+ One project at a time, by the lead or, for a ready lot it hands over, by the `livreur` agent (« Limits that always apply »): push, then the `deliver` skill (`cadence deliver --dry-run`, then
216
229
  `cadence deliver`). Follow the human's standing instructions about confirmation before production.
217
230
 
218
231
  **The sha pushed needs a green verdict of the gate (L426).** Where the project declares a gate (`orchestrate.test` or
@@ -220,9 +233,11 @@ One project at a time, by the lead: push, then the `deliver` skill (`cadence del
220
233
  refuses with exit 3 a push of a branch whose local sha has no green verdict of `cadence verify --gate`, naming the sha and
221
234
  the command to run. The verdict of the re-check (section 3, point 2) belongs to the lot's sha, and the head of `main` is
222
235
  almost never that sha: `raf done` does not commit, so the plan commit that follows it (« plan: Lx terminé »), a release
223
- commit or the plan commit of the next lot sits above. Such a plan commit has no verdict, and `verify --gate --sha <head>`
224
- cannot reuse the wave's record (made at the lot's sha, `checks.head`): it replays the whole gate, ~5 minutes. Count that
225
- replay in: after the plan commit, `cadence verify --gate --sha HEAD`, then push `main`. Delivering while the wave runs
236
+ commit or the plan commit of the next lot sits above. A commit that changes only the plan file (L432) takes the verdict of
237
+ its parent, stacked ones included: the hook lets it through, no replay. A commit that also touches another file (a release
238
+ commit, a plan commit with code) has no verdict, and `verify --gate --sha <head>` cannot reuse the wave's record (made at the
239
+ lot's sha, `checks.head`): it replays the whole gate, ~5 minutes. Count that replay in: after such a commit,
240
+ `cadence verify --gate --sha HEAD`, then push `main`. Delivering while the wave runs
226
241
  (section 2b) pushes the lot's sha alone (`git push origin <sha>:main`): its verdict is the one the re-check recorded, and the
227
242
  plan commit is pushed later, after its own replay. `CADENCE_PUSH_UNGATED=1 git push …` lets a push through with no verdict
228
243
  and says so on stderr: it is for the push the human explicitly asks ungated (a plan-only or docs-only commit above a verified
@@ -248,6 +263,10 @@ without an expectations file gets a draft back: show it to the human, who correc
248
263
  whether it is committed. It is not a gate: `raf done` does not wait for it, and a finding becomes a
249
264
  new lot, not a reopened one.
250
265
 
266
+ Give the `qa-reviewer` the same line `Report file: <absolute path>` (outside the repository): it answers in 5 lines
267
+ (verdict, blocking findings, follow-ups, the path) and keeps the full report, with its measurements, in that file; read the
268
+ file only to show the human a blocking finding or to commit the draft of an expectations file.
269
+
251
270
  ## 5. Close
252
271
 
253
272
  At the end, the `session-close` routine in each project touched, and `cadence session next` lines in