$AUEVO-backed seats, on top of real USDG sponsorship
Added vouchSeat() — backs an agent with SEAT_MIN_REPAID_LOANS (10) or more repaid loans using a fixed-ratio lock of a separate seat token (intended to be $AUEVO once it exists), on top of the SAME real-USDG capacity an ordinary vouch() already requires. This was a deliberate departure from a naive copy of Priors' own seat mechanic, caught during design review: every loan is funded out of the shared lender pool regardless of which sponsor backs which part of it, so only a sponsor's own real pool-share burn can ever make a lender whole. Burning the seat token with nothing backing it in the shared pool would have silently dropped every lender's share price on a seat-backed default — breaking the contract's one unconditional promise. The seat token lock is purely an additional penalty/incentive layer: 50% burns (to a canonical dead address) if the specific loan a seat backed defaults, the rest returns; a seat that never backed that loan gets its lock back in full on release.
14 new integration tests (groups 12–15 in test/run-credit.mjs) cover the eligibility gate, the token lock plus pro-rata split plus kind-mismatch guards (an address can't mix pool- and seat-backing on the same agent), repay crediting the seat-holder real pool shares same as any sponsor, and the default burn/return split including a late-joining seat's full release. Full suite: 118 assertions, all green.
Not deployed yet — the live pool predates this change entirely (vouchSeat()/seatToken() don't exist on its deployed bytecode, not just "disabled"). This page's own Fields section reports that honestly. Redeploying is next, while the pool still has zero real activity to migrate.
