- .github/workflows/ci.yml: two jobs — frontend (tsc --noEmit, lint, build, Playwright) and backend (Postgres 16 + odoo:19 --test-enable --test-tags encoach_api) — catches regressions before merge. - docs/adr/: start an Architecture Decision Record trail with 0001 canonical directory layout, 0002 JWT refresh flow, 0003 paginated response envelope, 0004 RAG metadata + chunking. - docs/PROJECT_SUMMARY.md §21 Hardening Release: full recap of the AI quality loop, compliance, Paymob, i18n, and CI work shipped in this drop, plus new DB tables, REST routes, frontend routes, verification results, and operator-facing configuration. - README.md refreshed for the v4 split-repo doctrine and the new feature surface. - new_project/DEPRECATED.md: formal retirement notice pointing at backend/ as the canonical tree. Made-with: Cursor
27 lines
646 B
Markdown
27 lines
646 B
Markdown
# ADR {NUMBER}: {TITLE}
|
|
|
|
- **Status:** Proposed | Accepted | Superseded by ADR-XXXX
|
|
- **Date:** YYYY-MM-DD
|
|
- **Deciders:** @handle1, @handle2
|
|
|
|
## Context
|
|
|
|
What is the problem? What forces are at play (technical, business, social)?
|
|
Keep this short; link out to source files or tickets for depth.
|
|
|
|
## Decision
|
|
|
|
What did we decide to do? Use imperative voice. Be specific enough that a new
|
|
engineer can understand the scope by reading this section alone.
|
|
|
|
## Consequences
|
|
|
|
- Positive: …
|
|
- Negative / trade-offs: …
|
|
- Follow-up work: …
|
|
|
|
## Alternatives considered
|
|
|
|
- **Option A** — why it was rejected.
|
|
- **Option B** — why it was rejected.
|