magicciv/.project/team-leads
Natalie d0a74e5122 fix(@projects/@magic-civilization): 🐛 update world simulation docs and objectives
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-06-07 19:34:57 -07:00
..
asset-audio.md feat(@projects/@magic-civilization): add age-of-dwarves units & audio system 2026-04-26 19:42:00 -07:00
asset-sprite.md feat(sprites): OSS standin coverage p2-23..27 (536 PNGs) + xi-v11 charter 2026-06-04 04:40:14 -07:00
combat-dev.md feat(@projects): add biome economy coupling system 2026-04-29 13:10:45 -04:00
envoy.md fix(@projects/@magic-civilization): 🐛 resolve gut cleanup and update objectives 2026-04-26 00:37:04 -07:00
README.md feat(@projects): update lab component and tab aliases 2026-05-01 00:10:48 -04:00
shipwright.md feat(@projects): update web guide deployment status 2026-04-17 12:40:57 -07:00
simulator-infra.md feat(@projects): assign simulator-infra to tech/civics/ecology tasks 2026-05-03 21:15:05 -04:00
terraformer.md fix(@projects/@magic-civilization): 🐛 update world simulation docs and objectives 2026-06-07 19:34:57 -07:00
testwright.md feat(@projects): mark objectives as done 2026-04-17 01:40:19 -07:00
tourguide.md feat(@projects/@magic-civilization): add game scope hygiene guide 2026-04-18 00:15:27 -07:00
unassigned.md feat(@projects): add food web ecosystem visualization 2026-05-03 20:08:09 -04:00
warcouncil.md feat(@projects/@magic-civilization): update objectives priorities and team leads 2026-04-25 15:35:31 -07:00
wireguard.md docs(@projects/@magic-civilization): 📝 update movement mode ux task reference 2026-04-25 16:00:51 -07:00

Team Leads

One markdown file per team-lead. A team-lead is a persistent ownership role over a bundle of related objectives — not a single agent run, not a sprint, not a specialist craft. Team-leads outlive individual PRs.

Each objective frontmatter may carry an optional owner: field:

---
id: p0-01
title: Wire MCTS into gameplay AI
owner: warcouncil          # ← matches the basename of a file in this directory
...
---

When owner: is set, tools/objectives-report.py validates that .project/team-leads/<owner>.md exists, and the generated .project/objectives/README.md dashboard renders the team-lead name in a new Owner column. Unowned objectives render .

Team-lead file schema

---
id: <kebab-case>             # must match filename: .project/team-leads/<id>.md
name: <Display Name>
specialization: <one-line concern the team-lead owns>
objectives: [<objective-id>, ...]
---

## Mandate
...high-level charge...

## Owned surface
...concrete file paths / crate names / data files the team-lead may modify...

## Boundaries
...what the team-lead reads but does NOT modify, plus explicit out-of-scope...

## Escalation
...when and how to hand off to another owner...

Registering a new team-lead

  1. Create .project/team-leads/<id>.md using the schema above.
  2. Set owner: <id> on each objective the team-lead is claiming.
  3. Run python3 tools/objectives-report.py to regenerate the dashboard.
  4. Commit both the new team-lead file and the updated objectives together so the owner: references never point at a missing file.

Why team-leads, not agents?

The project already has task-level specialists in .claude/agents/ (godot-ui, combat-dev, game-systems, etc.). Those are craft roles — they execute one slice of work. Team-leads are strategic owners who decide how a bundle of objectives fits together, which specialists to dispatch, and when to declare a bundle done. A team-lead may employ many specialists across many sessions; a specialist does not own any objective.

Current roster

ID Name Specialization Owns
warcouncil Warcouncil AI action generation, MCTS, GPU look-ahead, clan personality differentiation p0-01, p0-02, p0-20
shipwright Shipwright Drive Game 1 to release via /experts-team cron loop until every P0 is done p0-05, p0-14, p0-15, p0-16, p0-17
testwright Testwright Regression-test coverage across Rust + GDScript + data validators — seeds the evidence substrate for the Objective Status Integrity rule p1-09, p2-10
tourguide Tourguide Developer experience of the guide web app — dev server boots on plum, route coverage e2e, dev-tier deploy at mc.next.black.local, sim-cache baked on apricot, welcome→HomePage→theme alignment, and the "no build output in src" rule stays enforced p1-11, p1-12, p1-13, p1-15, p1-17, p2-20, p2-21, p2-29
envoy Envoy Post-EA diplomacy depth — courier-gated information trade, open-borders agreements, courier unit family + building chain + severable route infrastructure. Parked until Shipwright ships EA. p3-01
terraformer Terraformer Procedural terrain generation, ecology rendering, and the Earth-systems layered model — biome classifier, hydrology network, flora/fauna species binding, and the design-app Terrain Dimensions Lab at /world-gen/lab p1-46, p1-47, p1-48, p1-49, p2-49