# Architecture Decision Records — 0pt BACKLOG P1-2. One file per decision, numbered sequentially, never renumbered or deleted (superseded decisions get a new ADR that says so, per the convention below). | ADR | Title | Status | |---|---|---| | [0001](0001-deploy-target-coolify-not-vercel.md) | Deploy target is Coolify, not Vercel | Accepted (migration not yet executed) | | [0002](0002-auth-zitadel-bearer-not-nextauth.md) | `/api/0pt/*` auth is fleet Zitadel Bearer, not NextAuth | Accepted and implemented | | [0003](0003-lakehouse-format-iceberg-pointer.md) | Lakehouse format is Apache Iceberg (pointer to `n0d` ADR-0030) | Accepted (owned by `n0d`) | ## Deliberately not yet written here Two decisions the original BACKLOG (P1-2) named explicitly are **not** written as ADRs in this pass, on purpose: - **Payments provider (Stripe vs. Revolut vs. Hyperswitch).** Gated on the account owner's decision (BACKLOG P1-23) — writing an ADR that presents a choice as "accepted" before it's actually been decided would misrepresent the repo's own state, which is exactly what this whole documentation pass is trying to stop doing. - **The `services/scrapers/*` keep-vs-remove question.** Explicitly out of scope for this pass — see `SECURITY.md` and the dated, attributed provenance record already maintained for that decision elsewhere in this repo's compliance docs. Not duplicated here. ## Convention New ADR: `NNNN-short-kebab-title.md`, next sequential number, status one of `Proposed` / `Accepted` / `Superseded by ADR-NNNN` / `Rejected`. Record the date the decision was actually made (from `git log`/commit history where possible), not just the date the ADR file was written, when they differ — see 0001–0003 for the pattern.