Skip to content

Latest commit

 

History

History
21 lines (16 loc) · 3.01 KB

README.md

File metadata and controls

21 lines (16 loc) · 3.01 KB

Hub Architecture

Hub-internal architecture documentation. Cross-cutting architectural decisions (LearnStack ↔ Hub contracts, deployment models, entitlement projection, custom-domain lifecycle) live in the LearnStack core architecture corpus — not duplicated here.

Contents

Doc Status
contract-with-learnstack.md ✅ P02c-0 — Pointers to LearnStack-side authoritative contracts (ADR-0019, Standards 20, Architecture 24)
repository-layout.md ✅ P02c-0 — Hub internal folder structure + module topology
module-topology.md ✅ P02c-1 (spec) — Hub module dependency graph; cross-module entitlement-rebuild flow; the "Hub does NOT use RLS" model; hub schema + learnstack_hub database
cross-cutting-foundation.md ✅ P02c-1 (spec) — Hub SharedKernel mirror surface; the 6-step Hub MediatR pipeline (vs LearnStack's 8); OperatorId (not UserId); exception handling; observability; composition root
entitlement-projection.md ✅ P02c-1 (spec) — projection wire-shape; generation monotonic counter; recompute algorithm + triggers; key-shape rules
learnstack-api-client.md ⏳ P02c-2 — Outbound LearnStackApiClient design: mTLS client-cert provisioning, JWT issuance from the learnstack-hub realm service account, HMAC body signer, retry / backoff posture
operator-portal.md ⏳ P02c-4 — Operator portal information architecture, BFF flow, permission model

"(spec)" status: the P02c-1 architecture docs above were authored as the design specification before implementation. The agent executing P02c-1 implements against them; once the code lands they become the living description of what shipped.

The numbering convention is intentionally flat (no NN-topic.md numbering). Hub's architecture surface is much smaller than LearnStack core's, so alphabetical ordering reads cleanly enough.