Intent briefs — kontrakt mezi PO a agenty
Každý implemented modul aplikace má intent brief — 1-stránkový dokument, který říká co aplikace dělá a proč, ne jak. Spolu s docs/invariants.md (pravidla, která nesmí padnout ani při full rewriteu) tvoří kontrakt I³ metodologie (Intent + Invariants + Implementation).
Architektonická rozhodnutí (proč X, ne Y) žijí v docs/decisions/ jako ADRs. Vize a roadmapa žijí v docs/VISION.md a docs/ideas/ — ne tady. Briefy jsou jen pro to, co je nebo se chystá být implementováno.
Workflow
nápad (Tomáš nebo USERS.md story)
│
▼ /define <name>
docs/intent/<name>.md (Status: Draft)
│
▼ PO approve v PR review
docs/intent/<name>.md (Status: Approved)
│
▼ /architect-review docs/intent/<name>.md
docs/decisions/YYYY-MM-DD-<slug>.md (jedno či více ADRs)
│
▼ implement → /ux-audit → /security-review → merge
docs/intent/<name>.md (Status: Implemented)
docs/invariants.md (nové invariants, pokud feature zavádí)
Pravidla
- 1 feature = 1 brief v
docs/intent/<kebab-case-name>.md. Max ~1 strana. - Šablona:
_TEMPLATE.md. 4 sekce: Problém / Kdo to chce / Definice úspěchu / Out-of-scope. Bez technologií, UI mocků, DDL. - Vzor implemented briefu:
auth-and-roles.md(pilot I³ metodologie, 2026-05-13). - Status ve frontmatteru:
Draft → Approved → Implemented → Superseded. Přepíná PO v PR review, ne agent. - Po Implemented brief nemažeme — slouží jako kontrakt + historie. Významné změny řešit novým briefem se
Status: Supersedes <starý>.
Index
| ID (soubor) | Title | Status | Phase | Code refs |
|---|---|---|---|---|
| auth-and-roles | Auth & role gating | Implemented | 1 | web/src/utils/supabase/middleware.ts, web/src/lib/auth.ts |
| classbook | Třídnice (day + week view) | Implemented | 1 | web/src/app/(app)/page.tsx, web/src/app/(app)/plan/, web/src/components/classbook/ |
| attendance | Docházka — checklist + cyklování stavů | Implemented | 1 | web/src/lib/classbook-server.ts, web/src/app/(app)/classbook-actions.ts |
| slot-topics | Témata hodiny + per-student přiřazení | Implemented | 1 | web/src/components/classbook/AddTopicDialog.tsx, StudentMatrix.tsx |
| students-registry | Evidence žáků + zákonní zástupci | Implemented | 1 | web/src/app/(app)/zaci/ |
| schedule-slots | Rozvrh + substituce | Implemented | 1 | supabase/migrations/20260422000001_init.sql (seed-only) |
| day-overrides | Výlety, prázdniny, project days | Schema-only (UI not implemented) | 1.5 | DB schema, UI chybí |
Index udržuje
doc-curatorpři/curate-docs. Při změně chování feature → update brief + invariant test.