TRADE signer calls setPostFillHook(userId, hook); clearing to the zero address is always permitted.
Trigger boundary
A hook is staged when a fill removes an active maker slot:- full fill;
- partial fill whose residual is removed as dust; or
- stale RAB touch that consumes the complete exposed chunk.
PostFillContext supplies the maker ID, market, filled slot and order, post-fill/pre-refresh BBO, and advisory remaining taker size. A returned plan may replenish the filled slot, replace an opposite-side slot, or do both. Every quote must remain post-only and pass normal tick, size, reserve, and hook-minimum checks.