feat(deploy): one physical line per command + post-deploy tests block

Every checklist command is emitted on exactly one line, however long; a
legacy backslash continuation in the runbook is joined at instantiation,
and bootstrap / learn patches write runbook lines the same way. After the
checklist the hand-back carries a Post-deploy tests block derived from the
delta diff: by-hand checks tied to delta files plus Suggestions for gaps.
Cold-resume re-display and re-hand-back regenerate both.

RED/GREEN on a scratch runbook: 4/4 baseline runs reproduced the
continuation verbatim and printed no tests; 4/4 runs on the edited skill
joined it and printed the block in the recipe's shape.
This commit is contained in:
Bastien Chanot
2026-09-17 16:43:06 +02:00
parent b96fab7719
commit 55d6874aa6
4 changed files with 100 additions and 25 deletions
+11
View File
@@ -28,6 +28,17 @@ Format follows [Keep a Changelog](https://keepachangelog.com/).
destructive command under auto mode.
### Changed
- **`/deploy` hand-back: one physical line per command, then a post-deploy
tests block.** Every command in the checklist is emitted on exactly one
line, however long; a legacy `\` continuation in the runbook is joined at
instantiation, and bootstrap and learn patches write runbook lines the same
way (`templates/deploy/PROCEDURE.md` header updated). After the checklist
the hand-back now carries a "Post-deploy tests" block derived from the
delta diff: by-hand checks (action → observable result, each tied to a
delta file) plus Suggestions (checks the runbook does not do yet, gaps
spotted between delta files). Cold-resume re-display and re-hand-back
regenerate both. RED/GREEN tested on a scratch runbook (4/4 baseline runs
reproduced the continuation verbatim and printed no tests).
- **Docker and node go through the classifier with a framing, instead of
an inert `ask` tier.** `Bash(docker run|exec *)`, `Bash(docker[-| ]compose
up*)` and `Bash(node -e *)` leave `permissions.ask` (no prompt under auto