D122 - Protocol completion: the blob/run/reset verbs, with the escape hatch off unless a build asks for it

Status: derived - the three verbs are implemented in net.c and a backend exec primitive, off by default (refused not-negotiated) and enabled by make ... HATCH=1. The default and the enabled paths, on host and module, all compile clean under -Werror -Wconversion; the enabled path is proven end to end on the host.

The protocol specified blob, run and reset and the checker knew them, but net.c did not

The shape of the completion is the security posture, not an afterthought to it:

Matched to the examples exactly, which is what made them worth writing first: blob returns the chunk's byte count (07-blob-run.txt), run returns the callee's value (a stub returning 0x2a returns 0x2a), reset returns ok with a detail saying how many blobs it freed (08-reset.txt's shape), and a build without the capability refuses not-negotiated (09-no-reset.txt). The checker passes all eleven exchanges and its self-test still catches all thirteen mutations.