docs: audit frontend platform capabilities

This commit is contained in:
donghyeon-ka
2026-07-26 02:09:06 +09:00
parent cb195f8773
commit 68342e25ce
13 changed files with 5934 additions and 10 deletions
+38 -9
View File
@@ -18,14 +18,43 @@ flowchart LR
Contracts --> Presentation
```
Dependencies point inward. Presentation calls application use cases, adapters
implement application ports, and only the composition root selects concrete
adapters. Contract registries are the single named source for routes, API
operations, environment values, storage keys, errors, queries, telemetry, and
release tokens.
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.
The executable route tree is mounted only after runtime configuration and
release-manifest coherence pass. It receives the composed query client,
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:
```mermaid
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 depend on those ports and contracts, never on a
concrete adapter or the removable sample fixture.
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:
- [Frontend platform capability review](./frontend-platform-capability-review.md)
- [Frontend ports, adapters, and boundaries](./frontend-ports-adapters-and-boundaries.md)
- [TypeScript, state, and data flow](./typescript-state-and-data-flow.md)
- [Routing, pages, and patterns](./routing-pages-and-patterns.md)
- [Frontend platform implementation roadmap](./frontend-platform-implementation-roadmap.md)