Status. Proposed design only. Nothing in this vault is DG client approval. No application, service or test has been executed; every scenario is Not executed. Fees and dates are open.

ADR-0001 Stack Profile

Status: Proposed. The owner accepts by merging the PR that introduces it.

Context

The vault recommends React or Next.js with TypeScript, a server API and PostgreSQL, and states it is a recommendation, not a provider selection (System-Components). It does not name a server language.

Decision

Profile A: Next.js 15 App Router with TypeScript for the web app; FastAPI on Python 3.12 with SQLAlchemy 2 async, Alembic and Pydantic v2 for the API and worker; PostgreSQL 16.

Consequences

The owner chose Profile A on 2026-10-20. Typed, async Python suits the policy pipeline and worker; one language for API and worker keeps the modular monolith in a single codebase.

Revisit trigger

Profile B (Next.js only, server code in route handlers plus a worker script) would remove apps/api. Change requires a new ADR before Phase 6.

Change history

DateChange
2026-10-20Created (bootstrap Phase 2)