# Domain convergence checkpoint Goal: remove auth RPC, reorganize auth following 8fefadc, move SSH keys to user, unify identity HTTP, narrow domain capabilities, consolidate space access and cross-domain APIs, and centralize outbound delivery. Constraints: Git RPC implementation must not change. User authorized unlimited compilation and parallel agents. Preserve existing staged changes. No tests requested. | ID | Requirement | Priority | Status | Evidence | |---|---|---|---|---| | A | auth organization, RPC removal, SSH migration | P0 | COMPLETE | RPC implementations removed; Accounts replaces AuthApi; SSH lives in user; auth has no tonic/RPC references | | B | Single identity HTTP boundary | P0 | COMPLETE | Shared Router/State/ApiError; assets and middleware in webapi; Retry-After preserved through shared Envelope metadata | | C | Narrow services, concrete adapters, one read router | P1 | COMPLETE | No AppState in seven domain crates; Database/BlobStore/AuthApi traits removed; AppDatabase delegates DbConn; capabilities extracted | | D | Deep space policy, opaque handle | P1 | COMPLETE | Access/Space + Capability; shared permission kernel/cache; no domain access to space tables/errors | | E | Owner APIs across domains | P1 | COMPLETE | Issue label read API; repo ownership in Access; UserDto from export; chat-room-store owns room writes; Git facade uses concrete backend | | F | Deep outbound delivery | P1 | COMPLETE | events::emit; transactional Notifications; email helper; database-only Realtime | Latest check: `cargo check --workspace --target-dir target/auth-refactor` passed with 0 warnings. Targeted rustfmt check passed for auth/user/chat/issues/pulls/space/git/webapi/export/models. `git diff --check` passed. Git RPC files remain unchanged. No tests were run. Next: optional focused runtime/smoke verification in an environment with its dependencies.