Agreements
Borrower / lender agreement acceptance
list_acceptances agreements
Returns the current user's most recent agreement acceptance per role (borrow / lend). Clients use this to decide whether to show the full agreement (never accepted, or an older version) or the short per-ticket confirmation (current version already accepted).
record_acceptance agreements
Records that the current user accepted a role-specific agreement version. Idempotent: re-accepting the same version refreshes the timestamp.