Create a stable OAuth integration shell for buyer and merchant sign-in.
Current status: publish-ready scaffold. Keep flows explicit and deterministic before full SSO hardening.
app/integrations/oauth/google_client.pyapp/interfaces/api/auth_routes.pyapp/application/services/session_service.pyapp/protocol/identity/user_identity_mapper.pyGET /auth/google/start builds state + redirect URL.GET /auth/google/callback validates state and exchanges code.upsert_identity(provider, provider_user_id, email) returns internal principal id.create_session(principal_id) returns short-lived access token and refresh token.state and nonce against server-side cache.runtime/src/integrations/oauth/google-oauth-service.jsruntime/tests and npm test in runtime/.