plumbbob 0.12.1 → 0.13.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.
@@ -144,6 +144,7 @@ switch with `/model` and rerun to honor it, or wave you on. Advisory, never a ga
144
144
  paragraph when the step needs explaining>
145
145
 
146
146
  ## 1 <the first highlight: one sentence, one move>
147
+
147
148
  <the full story: what moved, why, what was tried and dropped>
148
149
 
149
150
  ## 2 ...
@@ -182,25 +183,43 @@ switch with `/model` and rerun to honor it, or wave you on. Advisory, never a ga
182
183
 
183
184
  *Paste the turn.* Run `plumbbob handoff` and paste its output whole, verbatim, at top
184
185
  level, trailing blank line included, then end the turn. Never nest it inside a fence of
185
- your own; it carries fences of its own and they cannot nest. It prints the Summary and
186
- its highlights, the Readout fence (its measured `check`, `seam`, `diff`, and `spent`
187
- rows folded with your three), a `diff` fence when the change is 20 lines or fewer, the
188
- Verdict folded worst-of from the same rows, Next Up, Your Call, and your recommendation
189
- last. The gate verdict's one home is that `check` row: no standalone verdict line
190
- exists, and you never restate the verdict in prose. A narrowed run names the slots it
191
- skipped there (`· without test`), and that named narrowing is the whole disclosure. The
192
- notice checkride's Stop hook appends after your turn is not yours to relay or repeat;
193
- the trailing blank line you kept is what lands it on its own line. Relayed CLI strings
194
- keep their em-dashes; your own lines never use one, the write-versus-relay line of
186
+ your own; it carries fences of its own and they cannot nest. It prints the Now line
187
+ naming the step in flight, the Summary and its highlights, the Readout fence (its
188
+ measured `check`, `seam`, `diff`, and `spent` rows folded with your three), a `diff`
189
+ fence when the change is 20 lines or fewer, the Verdict folded worst-of from the same
190
+ rows, Next Up, Your Call, and your recommendation last. Run it once: a second run at an
191
+ unchanged pause prints the one-line reminder instead of the card, so if that line comes
192
+ back where the card belongs (you ran handoff earlier in this turn), run
193
+ `plumbbob handoff --full` and paste that. The gate verdict's one home is that `check`
194
+ row: no standalone verdict line exists, and you never restate the verdict in prose. A
195
+ narrowed run names the slots it skipped there (`· without test`), and that named
196
+ narrowing is the whole disclosure. The notice checkride's Stop hook appends after your
197
+ turn is not yours to relay or repeat; the trailing blank line you kept is what lands it
198
+ on its own line. Relayed CLI strings keep their em-dashes; your own lines never use
199
+ one, the write-versus-relay line of
195
200
  [D78 (em-dash-ban)](https://github.com/robmclarty/plumbbob/blob/main/docs/decisions.md#d78).
196
201
 
197
202
  *Then read the reply as an ask or a direction.* A message that **asks** ("expand 2",
198
- "what does that mean?", "why did the seam row flag that?") is an expand: answer it from the detail file, from
199
- `git diff`, or from the build-log's `## Log` for an older step, never from recall, then run `plumbbob handoff` again and
200
- paste it. The step is still in flight, so it renders the same pause, and the Your Call
201
- block stays the CLI's to render rather than yours to retype. A message that **directs**
202
- is needs-work: take it as what to change, and nothing lands until the human says
203
- `looks good`.
203
+ "what does that mean?", "why did the seam row flag that?") is an expand: answer it from
204
+ the detail file, from `git diff`, or from the build-log's `## Log` for an older step,
205
+ never from recall, then run `plumbbob handoff` and paste its output beneath your answer,
206
+ whole and verbatim. The turn is your answer, then that output, and nothing after it. The
207
+ pause renders its card once
208
+ ([D87 (pause-once)](https://github.com/robmclarty/plumbbob/blob/main/docs/decisions.md#d87)):
209
+ while nothing about it has changed, handoff prints one line,
210
+ `**Next Up**: Back to Step <N> of <M> - <title>`, in place of the card the human already
211
+ read, so your answer stays on screen. The CLI picks the form, never you: paste whichever
212
+ one it prints, and never retype the card or reach for `--full` to put it beneath an
213
+ answer.
214
+
215
+ Two moments bring the whole card back, and in both you run `plumbbob handoff --full` and
216
+ paste its output whole, with nothing written around it: the human asks to see the pause
217
+ (`show the pause`, or any wording of it), or the card is not in this conversation (a
218
+ fresh session, or one after `/clear`, that finds the step still at its pause). A
219
+ message that **directs** is needs-work: take it as what to change, and nothing lands
220
+ until the human says `looks good`. Once the change is made, rewrite the detail file and
221
+ end on `plumbbob handoff` as the first render did; the pause has changed, so it prints
222
+ the whole card.
204
223
 
205
224
  **Then hand off with the next model.** `plumbbob checkpoint` prints the whole boundary
206
225
  ending itself: `**Checkpoint**: Step N complete (<sha>)`, the Verdict the step earned,
@@ -47,6 +47,13 @@ Then:
47
47
  the capture plus that one pointer are the whole turn, and both are the CLI's to render,
48
48
  never yours to compose from the dashboard. The capture is a one-beat interruption; the
49
49
  step keeps its focus.
50
+ 4. **A question beside the tangent is answered first.** When the human's message also
51
+ asks something, answer the question, then relay the park's block after the answer,
52
+ and write nothing after it. A message that is only a tangent ends on the block alone.
53
+ Either way the block's pointer back at the step closes the turn, so run no
54
+ `plumbbob handoff` after it. The answer is what the human asked for; dropping it to
55
+ keep the block alone, or stacking a second ending under the block, are the two ways
56
+ this goes wrong.
50
57
 
51
58
  ## The one hard contract
52
59
 
@@ -207,6 +207,7 @@ left, the findings first and the recommendation last:
207
207
  # Detail · Plan · <the title>
208
208
 
209
209
  ## 1 <the first hole: one sentence, naming where it sits in intent.md>
210
+
210
211
  <what it is, and what closing it would take>
211
212
 
212
213
  ## 2 ...
@@ -76,6 +76,7 @@ this skill verifies it the same way: **it reads the diff, not the author**
76
76
  short paragraph when the step needs explaining>
77
77
 
78
78
  ## 1 <the first highlight: one sentence, one move>
79
+
79
80
  <the full story: what moved, why, what was tried and dropped>
80
81
 
81
82
  ## 2 ...
@@ -118,26 +119,42 @@ this skill verifies it the same way: **it reads the diff, not the author**
118
119
  turn. The number is what lets a diff built outside `/plumbbob:build` reach its pause:
119
120
  nothing is in flight for that diff, and a bare `handoff` would read the moment as a
120
121
  boundary and render no Your Call block. Never nest it inside a fence of
121
- your own; it carries fences of its own and they cannot nest. It prints the Summary and
122
- its highlights, the Readout fence (its measured `check`, `seam`, `diff`, and `spent`
123
- rows folded with your three), a `diff` fence when the change is 20 lines or fewer, the
124
- Verdict folded worst-of from the same rows, Next Up, Your Call, and your recommendation
125
- last. At the pause the check row reads green, since a red one stopped you back at step
126
- 1. The gate verdict's one home is that row: no standalone verdict line exists, and you
127
- never restate the verdict in prose. A narrowed run names the slots it skipped there
128
- (`· without test`), and that named narrowing is the whole disclosure. The notice
129
- checkride's Stop hook appends after your turn is not yours to relay or repeat; the
130
- trailing blank line you kept is what lands it on its own line. Relayed CLI strings keep
131
- their em-dashes; your own lines never use one, the write-versus-relay line of
122
+ your own; it carries fences of its own and they cannot nest. It prints the Now line
123
+ naming the step you reviewed, the Summary and its highlights, the Readout fence (its
124
+ measured `check`, `seam`, `diff`, and `spent` rows folded with your three), a `diff`
125
+ fence when the change is 20 lines or fewer, the Verdict folded worst-of from the same
126
+ rows, Next Up, Your Call, and your recommendation last. Run it once: a second run at an
127
+ unchanged pause prints the one-line reminder instead of the card, so if that line comes
128
+ back where the card belongs (you ran handoff earlier in this turn), run
129
+ `plumbbob handoff <n> --full` and paste that. At the pause the check row reads green,
130
+ since a red one stopped you back at step 1. The gate verdict's one home is that row:
131
+ no standalone verdict line exists, and you never restate the verdict in prose. A
132
+ narrowed run names the slots it skipped there (`· without test`), and that named
133
+ narrowing is the whole disclosure. The notice checkride's Stop hook appends after your
134
+ turn is not yours to relay or repeat; the trailing blank line you kept is what lands it
135
+ on its own line. Relayed CLI strings keep their em-dashes; your own lines never use
136
+ one, the write-versus-relay line of
132
137
  [D78 (em-dash-ban)](https://github.com/robmclarty/plumbbob/blob/main/docs/decisions.md#d78).
133
138
 
134
139
  *Then read the reply as an ask or a direction.* A message that **asks** ("expand 2",
135
- "what does that mean?", "why did the seam row flag that?") is an expand: answer it from the detail file, from
136
- `git diff`, or from the build-log's `## Log` for an older step, never from recall, then run `plumbbob handoff <n>` again and
137
- paste it. The step has not landed, so it renders the same pause, and the Your Call
138
- block stays the CLI's to render rather than yours to retype. A message that **directs**
139
- is needs-work: take it as what to change, and nothing lands until the human says
140
- `looks good`.
140
+ "what does that mean?", "why did the seam row flag that?") is an expand: answer it from
141
+ the detail file, from `git diff`, or from the build-log's `## Log` for an older step,
142
+ never from recall, then run `plumbbob handoff <n>` and paste its output beneath your
143
+ answer, whole and verbatim. The turn is your answer, then that output, and nothing after
144
+ it. The pause renders its card once
145
+ ([D87 (pause-once)](https://github.com/robmclarty/plumbbob/blob/main/docs/decisions.md#d87)):
146
+ while nothing about it has changed, handoff prints one line,
147
+ `**Next Up**: Back to Step <N> of <M> - <title>`, in place of the card the human already
148
+ read, so your answer stays on screen. The CLI picks the form, never you: paste whichever
149
+ one it prints, and never retype the card or reach for `--full` to put it beneath an
150
+ answer.
151
+
152
+ Two moments bring the whole card back, and in both you run `plumbbob handoff <n> --full`
153
+ and paste its output whole, with nothing written around it: the human asks to see the
154
+ pause (`show the pause`, or any wording of it), or the card is not in this conversation
155
+ (a fresh session, or one after `/clear`, that finds the step still at its pause). A
156
+ message that **directs** is needs-work: take it as what to change, and nothing lands
157
+ until the human says `looks good`.
141
158
 
142
159
  - **Reconcile a drifted subject here, in the open.** The planned title *is* the
143
160
  checkpoint subject ([D68 (conventional-subjects)](https://github.com/robmclarty/plumbbob/blob/main/docs/decisions.md#d68)). If the diff drifted from it (the