docs: record core authorization architecture
Adds ADR 0013 documenting the durable Phase 4C decisions (permission registry, evaluator baselines, grant/scope semantics, platform-owner bootstrap, shared database pool, Origin enforcement, and what remains deferred), cross-links it from the authorization/README docs, and refreshes the pnpm doctor no-DATABASE_URL example output in README.md and repository-workflow.md to include the authorization migration.
This commit is contained in:
@@ -6,8 +6,8 @@ surfaces.
|
||||
|
||||
## Current status
|
||||
|
||||
Phase 3 is complete, Phase 4A (Core identity foundation) and Phase 4B (identity HTTP transport)
|
||||
have landed, and Phase 4C (Core authorization) is in progress. The repository includes
|
||||
Phase 3 is complete, and Phase 4A (Core identity foundation), Phase 4B (identity HTTP transport),
|
||||
and Phase 4C (Core authorization) have landed. The repository includes
|
||||
public module contracts, independently versioned capabilities, static module manifests,
|
||||
deterministic automatic discovery, compiled server loading, a staged capability registry,
|
||||
dependency-ordered lifecycle with rollback, module-owned Drizzle table contracts, deterministic
|
||||
@@ -40,15 +40,16 @@ production approval-provider composition, jobs, physical storage provisioning, s
|
||||
feature modules, remains later vertical slices. Public registration is not yet ready for a real
|
||||
public launch.
|
||||
|
||||
Phase 4C (in progress) adds Core's authorization foundation on top of identity: a schema,
|
||||
evaluator, and store for platform owners, explicit grants, and relationship-derived grants; a
|
||||
smallest-possible immutable permission registry; an explicit, single-use, concurrency-safe
|
||||
platform-owner bootstrap command (`pnpm authorization:bootstrap-owner`, never HTTP-exposed, never
|
||||
inferred from signup order); and, in `apps/api`, reusable Hono authorization enforcement plus a
|
||||
narrowly scoped `/api/v1/grants` HTTP API for managing *explicit* grants only, requiring an exact
|
||||
trusted `Origin` on every mutation. Roles/groups/teams/tenants, an owner-management HTTP endpoint,
|
||||
service accounts/API tokens, and module-permission registration remain later work. See
|
||||
[Authorization](docs/development/authorization.md).
|
||||
Phase 4C adds Core's authorization foundation on top of identity: a schema, evaluator, and store
|
||||
for platform owners, explicit grants, and relationship-derived grants; a smallest-possible
|
||||
immutable permission registry; an explicit, single-use, concurrency-safe platform-owner bootstrap
|
||||
command (`pnpm authorization:bootstrap-owner`, never HTTP-exposed, never inferred from signup
|
||||
order); and, in `apps/api`, reusable Hono authorization enforcement plus a narrowly scoped
|
||||
`/api/v1/grants` HTTP API for managing *explicit* grants only, requiring an exact trusted `Origin`
|
||||
on every mutation. Roles/groups/teams/tenants, an owner-management HTTP endpoint, service
|
||||
accounts/API tokens, and module-permission registration remain later work. See
|
||||
[Authorization](docs/development/authorization.md) and
|
||||
[ADR 0013](docs/architecture/decisions/0013-core-authorization-and-owner-bootstrap.md).
|
||||
|
||||
## Quick start
|
||||
|
||||
@@ -93,8 +94,9 @@ Data definitions
|
||||
✓ Schemas validated
|
||||
0 modules · 0 tables
|
||||
✓ Migrations validated
|
||||
1 migration · checksums valid
|
||||
2 migrations · checksums valid
|
||||
core:0000_identity_core_tables · f8f2086ef06f
|
||||
core:0001_authorization_core_tables · 830e1fbc26d0
|
||||
|
||||
PostgreSQL
|
||||
○ Connection check skipped
|
||||
|
||||
Reference in New Issue
Block a user