Finalize user-engine contracts and operability

This commit is contained in:
2026-05-22 21:45:30 +02:00
parent b81a9e05da
commit ce2d620f4e
12 changed files with 392 additions and 15 deletions

37
docs/final-assessment.md Normal file
View File

@@ -0,0 +1,37 @@
# Implementation Assessment
## Implemented
- Headless service API for users, accounts, identity links, applications,
catalogs, profiles, projections, audit records, and outbox events.
- Tenant context enforcement, tenant account state, memberships, tenant
profile precedence, tenant diagnostics, and cross-tenant denial.
- Multi-application catalog ownership, namespace collision protection,
semantic version checks, sensitivity downgrade prevention, app-filtered
projections, and claims-enrichment projection caching.
- Scenario fixtures and conformance-style tests for positive and negative
standalone, tenant, multi-app, redaction, audit, event, and cache paths.
## Boundary Verification
User-engine does not issue tokens, verify MFA, store credentials, act as the
policy decision point, own deployment, or provide a UI. It consumes verified
claims through an identity adapter, asks authorization through a port, emits
audit/outbox records, and exposes backend contracts for future UIs.
## Accepted Deviations
- The first persistence adapter is in-memory. It carries schema and migration
semantics but is not durable.
- The first API surface is in-process Python. HTTP/RPC transport adapters are
still future work.
- Metrics and cache diagnostics are local snapshots, not platform telemetry.
## Follow-Up Work
- Add a durable database adapter and migration tests.
- Add transport adapters with request/response contract tests.
- Add platform authorization, audit sink, secret provider, and outbox drain
adapters.
- Add release automation for SBOM, package build, static checks, and
deployment handoff.