Two discipline holes left after 1309afe / 09be4de, both closed here.
1. The boundary was unstated. A one-hot keyword-family fixture proves the
PLUMBING — that the computed query vector reaches scoring — and says nothing
about retrieval quality. Left implicit, a green P1 invites the reading
"semantic recall works". The measured counter-evidence is now in the file:
on the real chinese-clip space a true hit scored 0.8345 while an unrelated
block scored 0.8598, so absolute scores are not calibrated and no threshold
may be read off them. That is a known unresolved problem outside P1's scope.
2. `dsh` missing used to `t.skip`. A skip keeps `npm test` green while the only
end-to-end evidence for P1 never runs — the same shape as a criterion that is
committed but never speaks. It now fails, and says why.
No behavioural change: 272/272 tests, 12/12 checkpoints, 0 skipped on a box
where `dsh` is present. Verified the mutation discipline still bites — deleting
`'hybrid'` from ORDINARY_DEGRADATIONS turns L10, L11, L10† and L11† red.