Record the published fail-closed PEP stance in SCOPE, fill the agent stack and architecture stubs from the shipped layout, and retire the first-session protocol now that USER-WP-0001–0024 exist. Assistant: grok Assistant-Session: 01a04cea-f0d6-7ab3-9ffd-881eb6bea6cb
1.3 KiB
1.3 KiB
Architecture
Headless Engine (PIP) for users, accounts, and memberships. Same
authoritative inputs yield the same result. access-engine (flex-auth)
is the only decision point; this service supplies claims and enforces
results on its own mutations (PEP-shaped, same layer).
verified IAM Profile claims
-> UserEngineService (domain facts, projections, outbox)
-> adapters: Postgres store, flex-auth /v1/check, tenant-engine,
provisioning, registration verification, event/mail delivery
domain/— persistence-neutral schemas. No HTTP, DB, or SDK imports.ports.py— adapter protocols (store, identity claims, authorization, provisioning, tenant management, secrets, outbox).service.py— headless API. Protected mutations go through_authorizethen_record_mutationin one store transaction.adapters/— Postgres, flex-auth (fail-closed), OIDC claims, HTTP neighbors.LocalAuthorizationCheckPortis a standalone/test double.runtime.py/web.py— optional WSGI portal over the same APIs.layer.yaml+pep-stance.yaml— security-layer declaration and unreachable-engine stance.
Boundary contract:
~/net-kingdom/canon/standards/user-engine-boundary-contract_v0.1.md.
Quick Reference
~/state-hub/mcp_server/TOOLS.md — MCP tool reference