Files
NianAIGC/.project-docs/10-decisions/decision-index.md
T

2.1 KiB

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. Accepted; execution amended 2026-08-14 2026-08-12 Database schema and rollout Initial production schema is executed manually from database/migrations/*.sql plus application-role grants; the one-shot Job manifest is retained but not part of the deployment path.
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; first production deployment pending 2026-08-12 Application and ACK architecture First deployment runs the split topology directly; no legacy production instance exists. See adr-003-next-go-target.md.
DEP-001 Production starts fresh: the first production deployment runs the ADR-003 split topology (Next.js frontend + Go backend), there is no legacy cutover or Node Worker, and the schema is initialized by manually executed SQL. Accepted 2026-08-14 Deployment model and schema initialization Human decision: no migration Job pod; super administrator is bootstrapped from ZHINIAN_BOOTSTRAP_ADMIN_* configuration at Go startup.

Superseded Decisions

ID Decision Superseded By Date
ACK-001 Worker remains an HTTP poller and does not receive RDS credentials; Web owns database access. DEP-001: production never deploys the Node Worker; the Go backend owns database access and embeds the WorkerLoop. 2026-08-14

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