2.9 KiB
Architecture overview
This Mermaid view is a repository-local implementation projection. The
PASS_SCOPED reviewer evidence applies to the canonical draw.io diagram named
in review-ledger.json, not automatically to edits in this file.
flowchart LR
Bootstrap[bootstrap / composition root] --> Presentation[presentation]
Bootstrap --> Adapters[adapters]
Presentation --> Shell[app shell and route surfaces]
Shell --> Providers[session and theme providers]
Presentation --> Application[application]
Adapters --> Application
Application --> Domain[domain]
Contracts[contract registries] --> Bootstrap
Contracts --> Adapters
Contracts --> Presentation
The intended dependency rule points inward: presentation calls application use cases, adapters implement application ports, and only the composition root selects concrete adapters. Contract registries are the intended named source for routes, API operations, environment values, storage keys, errors, queries, telemetry, and release tokens. The platform review below records where the current runtime still bypasses that target or duplicates registry metadata.
In ports-and-adapters terms, presentation is the current inbound adapter and
adapters contains the current outbound implementations. The target design
makes this role explicit, introduces application input ports, and prevents the
React tree from receiving raw outbound dependencies:
flowchart LR
Driver[User, route, browser event] --> Inbound[React inbound adapter]
Inbound --> Input[Application input API]
Input --> UseCase[Use cases]
UseCase --> Output[Application output ports]
Output --> Outbound[HTTP, auth, storage, query, telemetry adapters]
Bootstrap2[Composition root] -. selects and injects .-> Input
Bootstrap2 -. selects and injects .-> Outbound
The current executable route tree is mounted only after runtime configuration and release-manifest coherence pass. It receives the composed query client, credential-opaque session port, storage port, telemetry port, and immutable build ID. Visible starter pages do not depend on the removable sample fixture.
This describes the current starter composition, not the completed target. The capability review found that raw outbound capabilities still reach the React tree, the composed application facade is not yet its entry point, and several route, HTTP, recovery, telemetry, and sample-removal contracts are only partially connected. Use the following documents for the evidence and migration plan: