Check whether the outcome improved
Define freshness outcomes
Write expected signature, parsed time, freshness, receipt, review, and effect for recent, boundary, stale, invalid-unit, malformed, wrong-secret, and altered-body inputs. State which cases remain quarantined. Keep receiver time beside the expected result.
Run clock and body cases
Feed fixtures through the real verifier with controlled receiver time. Confirm valid recent input passes, stale input fails or reviews, and body changes fail signature even when timestamps are current. Record stage result explicitly.
Check deployment and recovery
Repeat boundary fixtures after process restart or time-source change, then review a stale event through the safe path. Verify no tolerance setting silently accepts replay and no rejected event reaches effects. Keep stale input outside effects during every check.
What to carry forward
Accept when authenticity and freshness have distinct outcomes, recent events pass, stale or altered input stays out of effects, and clock changes are visible. Keep sender timing partial when uncontrolled. Record tolerance, fixtures, and receiver revision.
Technical background: Coinbase developer documentation.
Keep the decision with the work.
Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.
Create an account See the product workflow