From 77f5cf439f8d8141b8087cab789c2e49875613e4 Mon Sep 17 00:00:00 2001 From: Bello Qudus Folohunsho Date: Sat, 10 Oct 2026 17:14:38 +0100 Subject: [PATCH] chore(sync): reconcile docs Co-Authored-By: opencode --- AGENTS.md | 5 ++++- docs/scope/scope.md | 4 ++-- docs/specs/0002-domain-data-model/index.md | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 2bf67f7..e76c6c4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -44,7 +44,7 @@ Backend note: in `backend/`, the `typescript` package is aliased to the TypeScri ## Specs -Stored in `docs/specs/`. Format: `docs/specs/NNNN-title.md`. +Stored in `docs/specs/`. Format: `docs/specs/NNNN-title/index.md`, with `rationale.md` and `verify.md` beside it. ## Rules @@ -61,9 +61,12 @@ Stored in `docs/specs/`. Format: `docs/specs/NNNN-title.md`. - separation of concerns (hooks hold logic, data holds data, components render view) - file strictly under 600 lines - comments only when necessary and single line only +- Domain writes go through `backend/src/lib/repository.ts` (UUID v4 ids from `crypto.randomUUID`, an Activity row for created and updated, closed set columns validated against `backend/src/lib/constants.ts`); default reads filter `deletedAt IS NULL`, and reads that cross a relation filter soft deleted parents +- Day boundaries come from `backend/src/lib/timezone.ts`, which reads the `TIMEZONE` env var (IANA zone, default UTC, an unparseable value fails config load); no other code builds a Date for domain logic ## Git +- Create a new branch for every new feature when /develop is used - integration: on - branch prefix: feat/, fix/, chore/ - commit: per-milestone diff --git a/docs/scope/scope.md b/docs/scope/scope.md index a579480..29e7d22 100644 --- a/docs/scope/scope.md +++ b/docs/scope/scope.md @@ -15,7 +15,7 @@ _These are recommendations to keep your build orderly, not requirements. Skip an | B | Backend scaffold | Foundation | in-progress | | 18 | Stack & architecture | Foundation | in-progress | | 1 | Coding standards & tooling | Foundation | done | -| 2 | Data model | Foundation | in-progress | +| 2 | Data model | Foundation | done | | 3 | Design system & UI foundation | Foundation | planned | | 4 | Auth & roles | Slice 1 | planned | | 5 | Schedule & meetings | Slice 1 | planned | @@ -57,7 +57,7 @@ Capture conventions from the real scaffold, then install lint, format, and pre c - [x] Check it runs clean: `/test` Tooling in `package.json`, `.prettierrc.json`, `.husky/pre-commit`, `.husky/commit-msg`, `commitlint.config.js`, `.github/workflows/ci.yml`, `backend/eslint.config.mjs`, `backend/vitest.config.ts`, `AGENTS.md` -### 2. Data model · in-progress +### 2. Data model · done The core entities every later slice builds on: users and roles, meetings, tasks, contacts, follow ups, pending decisions, attachments, activity for trash. **Done when:** entities and relationships support every later slice (schedule, tasks, contacts, follow ups, decisions, briefings) without a breaking migration. - [x] Design it (spec): `/architect data model` diff --git a/docs/specs/0002-domain-data-model/index.md b/docs/specs/0002-domain-data-model/index.md index a4f4a71..1a45e58 100644 --- a/docs/specs/0002-domain-data-model/index.md +++ b/docs/specs/0002-domain-data-model/index.md @@ -1,7 +1,7 @@ # 0002. Domain data model **Date**: 2026-10-10 -**Status**: In Progress +**Status**: Accepted ## Summary