add e2e tests for the unified invite surface
The router-level unit tests in invite-unified.test.ts cover dispatch and
input validation against a fakeAuth middleware and mocked PDS. This file
exercises what those can't:
- Real service-auth JWTs minted via com.atproto.server.getServiceAuth on
the devnet PDS, verified through PLC-resolved keys by the real auth
middleware.
- The reconcile cascade. <ns>.invite.redeem on a community-owned space
fires community.grant + reconcile, and the resulting access must show
up in BOTH the community ACL and spaces.access_rows. Verified by
reading community.space.listMembers (ACL view) and the same endpoint
with flatten=true (spaces table view).
- Real Postgres enforcement of single-use (maxUses=1) and revoked
invites — the redeem query is the source of truth, not in-memory.
Both invite paths covered: community-owned (accessLevel) and user-owned
(kind=join, no community module touched).
4 tests, ~3s. Stacked on top of the lifecycle/publishing tests so the
shared helpers (login, createCaller, jsonOr) are reused without
duplication.