Persist the modular-monolith decision (ADR 0001 handler/service/repo, ADR 0002 keep REST) with the companion tech spec and the api-architecture OpenSpec capability. Replace the finished mock-migration tracker with docs/TBD-marketing.md listing the backend-less marketing domains still on fixtures (coupons, favorites, account stats, seckill, collective, integral, reviews). README and AGENTS.md point at the new docs.
Architecture Decision Records
ADRs in this directory record why the Rust API (apps/api, crate vmall-api) is structured the way it is. They are written in English and do not replace OpenSpec capability specs (openspec/specs/), which describe what HTTP behavior clients may rely on.
| ID | Title | Status |
|---|---|---|
| 0001 | Modular monolith with handler / service / repository | Accepted |
| 0002 | Keep HTTP REST; do not replace the API with GraphQL | Accepted |
Template (MADR-inspired): Context → Decision → Consequences → Alternatives.
New ADRs: next unused number, NNNN-kebab-title.md, Status Proposed until accepted.
Companion: tech spec — Rust API, OpenSpec — api-architecture.