v5.3.0 — seller lockCadence control + buyer covered-settle tolerance
tabOrExactMiddlewarenow forwardslockCadence(thresholdAtomic / onClose) to the tab rail — dual-rail sellers gain full crystallization cadence control, including disarm (onClose: false). Omitted config keeps prior defaults exactly.- Loud crystallize logging: every lock attempt outcome logs through one choke point; silent
.catch(() => {})seller-protection failures are gone. - Chain-frontier baseline seeding: fresh seller ledger entries seed from
max(spent, crystallizedCumulative), closing the resume over-delivery window; fails closed on stale vouchers. - Buyer
Tab.close()tolerates settles fully covered by seller-side locks (200covered_by_frontierverified against the body's own amounts, BigInt-strict, fail-closed; deploy-skew 409 tolerance) — the revoke now proceeds on covered settles instead of stranding the session.
Note: 5.2.0's tarball included a stray public pricing doc (assets/openai-pricing.md) which also rode 5.3.0 — harmless public content, excluded from all future releases via the files allowlist fix in this commit.