Merge commit '5932ad749f0df01d4321cc961f57a488ab637dde' into wave/km71-edit-formula

# Conflicts:
#	crates/improvise-protocol/src/lib.rs
This commit is contained in:
Edward Langley
2026-09-23 08:51:45 -07:00
20 changed files with 458 additions and 35 deletions
+29
View File
@@ -6098,3 +6098,32 @@ from the landed cell and untouched.
flag. This test fails alone. Every other test stays green, which was the gap.
Once improvise-fy9o re-seeds the reopened editor, a stale `touched` would make
every untouched Tab or Enter write its seed.
#### improvise-i3o5: four declines that `set_status` hid from every sweep
`every_refusal_site_refuses_its_failure_and_only_its_failure` gained four cases.
PR #213's review found them by reading, because the sweeps behind this table
revert `refuse(` calls and cannot see a refusal written as `set_status`. Each
exited 0 headless and would not reject a frame:
- `EditOrDrill`'s collapsed-group arm (`folded_quarter`, cursor on Q2's fold at
row 2). The succeeding twin is on Feb at row 1. Its two sibling arms already
refused.
- `paste_into`'s aggregate decline. The spelled key `Row/A Col/A` omits the
`Hidden` category on None. The twin spells all three coordinates.
- `paste_into_record`'s coordinate-column decline: `_Index/1 _Dim/0` is Region.
The twin, `_Dim/2`, is a measure.
- `paste_into_record`'s inside-a-drill decline. The same measure key, under a
frozen drill. The twin is the same key with no drill.
**Red at `e406edc`**, in the order the table reaches the cases. Each failed with
its own text and `refused=false`, and each went green only when its own site was
converted. The collapsed-group case failed first. Then, one conversion at a
time, the three paste cases failed with the aggregate, coordinate-column and
inside-a-drill text.
**Per-site revert:** `/tmp/refuse-fu/sweep.py`, not committed, restricted to the
four sites. It reverts each `effect::refuse(` to `effect::set_status(` alone and
runs `cargo test --workspace --no-fail-fast`. Four of four fail this test, and
nothing else fails. None of the four needs an abort: each is the only effect its
command emits, and `p`/`i` are single bindings, not sequences.