Update Decisions

Othmane Ataallah 2026-07-23 09:53:54 +02:00
parent 3326457ab7
commit 36026cf562

@ -1 +1,25 @@
Welcome to the Wiki.
# Decisions Log
*The canonical record. One line per decision — newest on top. Add yours **within the hour**
of deciding (weekly sync, checkpoint, or chat). If the decision binds future code, it also
gets an ADR in the affected repo (`docs/adr/ADR-NNN-…`) — link it here.*
| Date | Decision | Detail | Status |
|---|---|---|---|
| 2026-07-26 | *(kickoff ratifications land here — see the [Sync-Notes](Sync-Notes) checklist)* | | |
| 2026-07-23 | Team wiki lives on `trizagenda-team`; boards show the active milestone only; PM cross-repo view = org issue dashboard (no org board) | Setup guide §78 | to ratify 26 Jul |
| 2026-07-23 | Engineering agreements: `.editorconfig` law, per-repo testing bars, no secrets in git ever, deliberate dependency policy, ADR-lite for binding decisions | `docs/engineering-agreements.md` | to ratify 26 Jul |
| 2026-07-23 | Issue/PR conventions + `.gitea` templates in all repos (feature, bug, PR w/ author checklist) | `docs/issue-and-pr-conventions.md` | to ratify 26 Jul |
| 2026-07-23 | Git: trunk-based flow — protected `main`, branch per issue (`feat/API-12-slug`), **squash merges**, milestone tags. GitFlow rejected (ceremony without benefit at our size) | `docs/git-strategy.md` | to ratify 26 Jul |
| 2026-07-23 | Architecture per repo as documented: package-by-feature + layered internals (API), pages/features/components/api (web), core+features (mobile); dependencies point one way | `ARCHITECTURE.md` in each repo | to ratify 26 Jul |
| 2026-07-21 | Milestones M1M6 aligned across the three repos, ~2 weeks each, integration checkpoint at each end | `milestones` in Gitea | to ratify 26 Jul |
| 2026-07-21 | Mock-first: web/mobile develop against Prism serving `openapi.yaml`; auth always targets the real API; mock→real switch per feature at its milestone checkpoint | client READMEs | to ratify 26 Jul |
| 2026-07-21 | Dev admin seeded by a `dev`-profile runner — never a Flyway migration (a known password must not be able to reach prod) | API `DevDataSeeder` | to ratify 26 Jul |
| 2026-07-21 | Error-code decisions: bad login → `401 AUTHENTICATION_REQUIRED` · deactivated account → `403 RESOURCE_INACTIVE` · used/expired reset token → `410` with `TOKEN_EXPIRED`/`TOKEN_INVALID` | API README §decisions | to ratify 26 Jul |
| 2026-07-21 | Mobile identifies itself with `X-Client-Type: mobile` at login; rotated refresh token returns via `X-Refresh-Token` response header → both go into spec v1.0.1 | API README, conventions | to ratify 26 Jul |
| 2026-07-21 | API contract naming wins over DB naming: `services`↔`departments`, `meetings`↔`appointments`, `reservations`↔`resource_bookings` — mapped at the DTO edge, nowhere else | conventions doc | to ratify 26 Jul |
| 2026-07-21 | Roles: French in the API (`DIRECTION/RESPONSABLE/COLLABORATEUR/ADMINISTRATEUR`), English in the DB enum (`MANAGEMENT/MANAGER/EMPLOYEE/ADMINISTRATOR`); `DbUserRole ⇄ ApiUserRole` is the only mapping point | API `user` package | to ratify 26 Jul |
**How to use the Status column:** `to ratify 26 Jul` → flip to `accepted` (or amend) at the
kickoff · new entries default to `accepted` once decided live · superseded decisions get
`superseded by <date>` — never delete rows, history is the point.