Root cause of 'doesn't register': the slice-6 floating-bar edit never
landed (a silent no-match replace) — the Body accepted selectMode but
the bar ignored it, so the picker showed Clear + Delete and nothing
ever confirmed. Found by re-reading; the test suite never pinned the
select-mode bar.
The owner vision instead: the chain table's selection is PERSISTENT
and caller-owned.
- ChainTableOverlay gains controlledSelection/onSelectionChange (every
check, clear, and delete-prune reports up immediately; uncontrolled
fallback keeps the delete flow self-contained).
- Select mode's floating bar: Done (closes; the pick already
registered) — the delete fence never renders while picking.
- GraphView threads the lifted set through, resolving ids → nodes
against the live snapshot.
- Home: the pick bar above the composer shows 'N propositions
selected' + Clear in EITHER mode (dashed 'Pick propositions from the
map' hint only in practice mode with nothing picked); visible hover
(bg-accent) so the chip reads clickable. Practice sends still seed
from the pick set.