27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
# Decision Index
|
|
|
|
## Active Decisions
|
|
|
|
| ID | Decision | Status | Date | Applies To | Detail |
|
|
|---|---|---|---|---|---|
|
|
| RDS-001 | Production persistence uses explicit direct PostgreSQL through one server-only adapter; local JSON is explicit development/test mode. | Accepted | 2026-08-12 | Server stores and scripts | `ZHINIAN_DATA_BACKEND=postgres` fails closed and never silently falls back. |
|
|
| RDS-002 | Database changes use versioned, checksummed, advisory-locked migrations executed by a one-shot deployment Job. | Accepted | 2026-08-12 | Database schema and ACK rollout | Migrations do not run in each Web pod init container. |
|
|
| ACK-001 | Worker remains an HTTP poller and does not receive RDS credentials; Web owns database access. | Accepted | 2026-08-12 | ACK workloads | Worker calls the internal Web Service with a shared internal token. |
|
|
| ADR-003 | Target architecture is a same-origin Next.js frontend plus Go modular-monolith backend with an initially embedded WorkerLoop. | Accepted target; Go implementation merged into `main` 2026-08-14; deployment/cutover pending | 2026-08-12 | Application and ACK architecture | Current ACK-001 topology remains authoritative until code migration and cutover pass the required compatibility tests. See `adr-003-next-go-target.md`. |
|
|
|
|
## Superseded Decisions
|
|
|
|
| ID | Decision | Superseded By | Date |
|
|
|---|---|---|---|
|
|
|
|
## Decision Criteria
|
|
|
|
Create or update an ADR when a choice affects:
|
|
|
|
- project positioning
|
|
- architecture boundaries
|
|
- public behavior
|
|
- data model
|
|
- long-term maintenance
|
|
- user-facing workflow
|