What to look for. Sharp isolated spikes crossing the threshold = detectable. A rounded smear, or guard jitter reaching the same height as a punch, = the signal isn't separable and the product narrows to work rate + guard only. Frames/punch under 4 means classification is dead on arrival.
Work in blocks. Declare the punch type, context and rep count before throwing,
then Start Block, throw exactly that many, and End Block. Detected-against-expected is
the recall number the model decision turns on, and it cannot be recovered afterwards from
an unlabelled trace. Blocks accumulate across model switches; one Export carries the whole
session. Reload the page to start a clean session — nothing else clears it.
Full procedure: docs/knowledge/processes/capture-protocol.md.
Set stance before the first block. Lead and rear are boxing roles; the pose model
reports anatomical left and right. They coincide only for an orthodox operator, so a
southpaw left on the default inverts detectedOnDeclaredHand — the number the
model decision turns on — and nothing in the trace afterwards reveals it.
Session progress tracks the protocol's five stages, not every model × punch × context
combination: stage A drops models under 4 frames per punch, and stages B and C only ask for
what survives. It resets with the page, like everything else here.