Files
clean-architecture-frontend…/docs/architecture/overview.md
T

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: