chore(ci,docs): GitHub Actions, ADRs, README overhaul, §21 Hardening Release
- .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
This commit is contained in:
45
new_project/DEPRECATED.md
Normal file
45
new_project/DEPRECATED.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# `new_project/` — DEPRECATED
|
||||
|
||||
**Status:** frozen, retained only for historical reference.
|
||||
**Canonical tree:** `backend/custom_addons/` at the repository root.
|
||||
|
||||
---
|
||||
|
||||
## Why this directory is deprecated
|
||||
|
||||
Early in the project, `new_project/` was used as an experimental sandbox for
|
||||
addons, enterprise modules and OpenEduCat integration. During the Phase 0 /
|
||||
Phase 1 hardening (see `docs/PROJECT_SUMMARY.md` §21), the canonical backend
|
||||
tree was unified under `backend/custom_addons/` and the root-level tooling was
|
||||
updated accordingly:
|
||||
|
||||
| Concern | Old location (deprecated) | Canonical location |
|
||||
| --- | --- | --- |
|
||||
| Custom addons | `new_project/custom_addons/` | `backend/custom_addons/` |
|
||||
| Enterprise modules | `new_project/enterprise-19/` | `backend/enterprise-19/` (or external mount) |
|
||||
| OpenEduCat | `new_project/openeducat_erp-19.0/` | `backend/openeducat_erp-19.0/` (or external mount) |
|
||||
| Python requirements | `new_project/requirements.txt` | `requirements.txt` (repo root) |
|
||||
| Odoo config | `new_project/odoo.conf` | `odoo-docker.conf` (repo root) |
|
||||
| Seed script | `new_project/seed_demo_data.py` | `seed_demo_data.py` (repo root, gated by `ENCOACH_ALLOW_RAW_SEED=1`) |
|
||||
|
||||
## Do NOT
|
||||
|
||||
- **Do not** add new Python packages to `new_project/requirements.txt` — add
|
||||
them to the root `requirements.txt` (it is the one `Dockerfile` now copies).
|
||||
- **Do not** place new Odoo addons under `new_project/custom_addons/` — put
|
||||
them under `backend/custom_addons/<module>/` and update `addons_path` in
|
||||
`odoo-docker.conf` if needed.
|
||||
- **Do not** point `docker-compose.yml`, `run.sh`, or CI pipelines at any
|
||||
`new_project/` path.
|
||||
|
||||
## Safe to delete?
|
||||
|
||||
Yes, once the team confirms no external tooling still references the legacy
|
||||
paths. Removal plan:
|
||||
|
||||
1. Grep the whole repo for `new_project/` — ensure only historical docs remain.
|
||||
2. Verify CI is green with the root-level `Dockerfile` + `docker-compose.yml`.
|
||||
3. `git rm -r new_project/` in a dedicated PR and update
|
||||
`docs/PROJECT_SUMMARY.md` to drop the “legacy layout” references.
|
||||
|
||||
Until that PR lands, treat this folder as read-only history.
|
||||
Reference in New Issue
Block a user