# 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](0001-rust-api-modular-monolith.md) | Modular monolith with handler / service / repository | Accepted | | [0002](0002-keep-http-rest-not-graphql.md) | 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](../tech-specs/rust-api.md), [OpenSpec — api-architecture](../../openspec/specs/api-architecture/spec.md).