Harden CI and switch release builds to tagged immutable images
All checks were successful
CI / Backend (push) Successful in 29s
CI / Frontend (push) Successful in 9m27s
CI / Contracts and repository policy (push) Successful in 7s
CI / Container (push) Successful in 18s

This commit is contained in:
Elijah 2026-07-15 19:21:07 -07:00
parent bed2e6cfb6
commit f24e96efa7
60 changed files with 4710 additions and 64 deletions

24
docs/architecture.md Normal file
View file

@ -0,0 +1,24 @@
# Architecture guide
The detailed baseline is `Drive_v2_final_plan.md`. This guide is a short implementation map.
## Request flow
```text
HTTP transport -> application use case -> domain rules
|-> PostgreSQL repository
|-> storage/external adapter
```
Transport code handles protocol concerns only. Application services own transactions and coordinate database-plus-storage work. Domain code contains no infrastructure dependencies.
## Durable work
No authoritative state lives only in memory. Upload sessions, commit intents, jobs, leases, and cursors are persisted in PostgreSQL. Committed blobs are immutable and become visible only after storage promotion and metadata commit.
## Frontend
Each feature owns its routes, API hooks, components, state, and tests. Cross-feature access goes through a small public entrypoint. Server state stays in TanStack Query and local UI state remains close to the component or feature that owns it.
Preview rendering is capability-driven and lazy-loaded. Adding a format must not require editing the file manager.