Files
Hubert Gancarczyk 6e862a60b3 test(keyboard,flow): pin the arms mutation showed unpinned, and the new warning route
Each of these was written against a mutant that kept the suite green, and each
was re-run with that mutant applied to confirm it now fails.

keyboard-clear:
- the atomic cooldown EXPIRING, at the boundary. Arming and not-arming were
  covered; nothing advanced the clock, so widening the constant to a permanent
  skip stayed green.
- `WEDGED_RPC_MS` driven through `ping`. Its rationale names both legs and only
  the write drove it — and `ping` is the leg a helper that goes silent after
  accepting the socket actually spends its time in.
- a helper reporting a protocol NEWER than the gate still takes the atomic path
  (`>=`, not `===`).
- the `sized` tie-break: an unmeasurable focused field tying the longest reading
  keeps the note's BLIND clause, in the walk order where only that arm decides it.
- the read-back arm outranking `no_focused_input`, and the read-back clause
  staying off the paths that never took one.
- a `{{secret:…}}` request on the no-writable-field arm is not told to read the
  field back.
- the cross-platform result SHAPE, which a destructure had stopped checking.

flow runner:
- a `keyboard` clear's warning carried out of a composed `flow-execute`, its
  repeats collapsed, its depth composed, and a green sub-run left warning-free.
- a tool answering `note: ""` raises no warning.

Two gaps from the review are left open, both reported rather than closed: the
blueprint's `setText` wire call (there is no android-devtools blueprint harness
to hang it on, and the call is exercised end to end against a real protocol-2
helper), and `download-native-binaries.sh`'s gate (no shell-test harness in the
repo; both arms were driven by hand against the live release).
2026-08-24 20:50:02 +02:00
..
…