magicciv/.project
Natalie 9c42109dd6 feat(@projects/@magic-civilization): update objectives dashboard documentation
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-29 16:10:03 -04:00
..
designs fix(@projects): 🐛 remove unused audio files and update paths 2026-04-29 15:58:29 -04:00
experiments feat(@projects): reorganize combat and economy systems 2026-04-27 02:59:49 -07:00
future-games
handoffs feat(@projects): add combat calculator & unit objectives system 2026-04-27 01:04:12 -07:00
history docs(@projects/@magic-civilization): 📝 update movement mode ux task reference 2026-04-25 16:00:51 -07:00
objectives feat(@projects/@magic-civilization): update objectives dashboard documentation 2026-04-29 16:10:03 -04:00
reports feat(@projects/@magic-civilization): update tech-tree and mcts service implementation 2026-04-25 22:48:40 -07:00
screenshots feat(@projects/@magic-civilization): mark culture research tree as complete 2026-04-26 08:18:37 -07:00
tasks feat(@projects): add project objectives roadmap 2026-04-17 00:14:17 -07:00
team-leads feat(@projects): add biome economy coupling system 2026-04-29 13:10:45 -04:00
AGE-OF-DWARVES-FEATURES.md feat(@projects/@magic-civilization): update tech-tree and mcts service implementation 2026-04-25 22:48:40 -07:00
audio-sourcing-checklist.md feat(@projects): add combat calculator & unit objectives system 2026-04-27 01:04:12 -07:00
audio-status.md feat(@projects): add audio system integration 2026-04-28 16:57:48 -04:00
CHANGELOG.md feat(@projects): add ai tier progression unit selection objective 2026-04-18 15:40:15 -07:00
gdlintrc.local
README.md feat(@projects): add project objectives roadmap 2026-04-17 00:14:17 -07:00
ROADMAP.md
TERMINOLOGY.md

.project/ — Directory Map

Build-process docs for Magic Civilization. Each file owns exactly one responsibility. Status of work-in-flight is tracked only in objectives/ (SSoT).

File / dir → responsibility

Path Responsibility Rule
README.md This map Maintained by hand when structure changes
ROADMAP.md Phase sequence + scope per milestone Never carries status; references objective IDs only
TERMINOLOGY.md Glossary (terms, acronyms, design vocabulary) Facts only, no status
CHANGELOG.md Dated narrative events (append-only) References objective IDs; never restates status
objectives/ Single source of truth for current state One .md per objective, YAML frontmatter status: field
objectives/README.md Dashboard index (grouped by P0/P1/P2) Generated by tools/objectives-report.py — do not hand-edit
tasks/milestones/ Per-milestone work packages (scoping docs) HOW, not WHAT-DONE
tasks/topics/ Cross-cutting topic work (balance tuning etc.) HOW, not WHAT-DONE
tasks/deferred/ Parked work packages HOW, not WHAT-DONE
handoffs/ Agent-to-agent context transfer YYYYMMDD_slug.md
history/ Archived one-off docs (reports, snapshots, obsolete plans) YYYYMMDD_slug.md; immutable once filed
reports/batches/ Autoplay batch output Tool artifacts
reports/simulation/ Simulator reports Tool artifacts
reports/screenshots/ Proof screenshots Tool artifacts
future-games/ Game 2 design drafts Out of scope for Game 1
gdlintrc.local Local gdlint overrides Config

Invariants

  1. Status lives in objectives/*.md frontmatter, nowhere else.
  2. ROADMAP, CHANGELOG, tasks/ may reference objective IDs; they may not restate status.
  3. objectives/README.md is machine-generated from frontmatter. Regenerate after any objective edit: python3 tools/objectives-report.py.
  4. history/ is append-only. Archived files get a YYYYMMDD_ prefix and are never edited in place; if a superseding doc is needed, create a new one.

Quick regen

python3 tools/objectives-report.py     # rebuilds objectives/README.md from frontmatter