Readonlykind: "delivered"Readonlystranded: readonly StrandedOutput[]Output that ALSO went nowhere — informational, not a failure.
Readonlyvia: readonly DeliveryChannel[]The hook vetoed the action. Not a nudge; see the module header.
The hook printed text and none of it reached the model. Never empty.
Nothing addressed to the model: empty streams, or control-only JSON
(permissionDecision: "allow", a user-facing systemMessage).
The table has no row for this event, so delivery cannot be judged.
The verdict. FIVE answers, because "the model saw nothing" has four distinct causes and a test failure must name the right one (
make-the-distinction-a-type): the hook said nothing, it said something on a dead stream, it blocked instead, or we do not know this event.