From d00b10577cceb00bcf20a746b799e02376c150fc Mon Sep 17 00:00:00 2001 From: Natalie Date: Sun, 3 May 2026 22:46:11 -0400 Subject: [PATCH] =?UTF-8?q?feat(objectives):=20=E2=9C=A8=20update=20priori?= =?UTF-8?q?ty=20tracking=20and=20assign=20tasks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .project/objectives/README.md | 13 +++-- .../p2-55-civilian-capture-system.md | 2 +- .../games/age-of-dwarves/data/objectives.json | 54 ++++++++++++++++--- 3 files changed, 57 insertions(+), 12 deletions(-) diff --git a/.project/objectives/README.md b/.project/objectives/README.md index cda21214..8200adeb 100644 --- a/.project/objectives/README.md +++ b/.project/objectives/README.md @@ -15,10 +15,10 @@ | Priority | ✅ | 🔵 | 🟡 | 🔴 | ❌ | ⚫ | Total | |---|---|---|---|---|---|---|---| | **P0** | 43 | 0 | 0 | 0 | 0 | 0 | 43 | -| **P1** | 47 | 2 | 8 | 2 | 9 | 1 | 69 | -| **P2** | 52 | 0 | 2 | 1 | 6 | 6 | 67 | +| **P1** | 47 | 4 | 8 | 3 | 9 | 1 | 72 | +| **P2** | 52 | 1 | 2 | 1 | 6 | 6 | 68 | | **P3 (oos)** | 3 | 0 | 0 | 0 | 1 | 19 | 23 | -| **total** | **145** | **2** | **10** | **3** | **16** | **26** | **202** | +| **total** | **145** | **5** | **10** | **4** | **16** | **26** | **206** | @@ -29,6 +29,7 @@ | [warcouncil](../team-leads/warcouncil.md) | 6 | | [asset-sprite](../team-leads/asset-sprite.md) | 6 | | [shipwright](../team-leads/shipwright.md) | 5 | +| [simulator-infra](../team-leads/simulator-infra.md) | 3 | | [combat-dev](../team-leads/combat-dev.md) | 2 | | [unassigned](../team-leads/unassigned.md) | 1 | | [asset-audio](../team-leads/asset-audio.md) | 1 | @@ -145,7 +146,10 @@ | [p1-52](p1-52-api-wasm-build-fix.md) | ✅ done | api-wasm build fix — unblock WASM bundle for design-lab WASM consumption | [terraformer](../team-leads/terraformer.md) | 2026-05-01 | | [p1-53](p1-53-worldgen-layer-pages.md) | ✅ done | "Worldgen layer pages — one playground per canonical doc, mirroring the layered Earth model" | [terraformer](../team-leads/terraformer.md) | 2026-05-01 | | [p1-54](p1-54-hex-direction-rust-ts-mapping.md) | ✅ done | Hex direction-index translation — Rust pointy-top axial vs design-app flat-top canvas | [terraformer](../team-leads/terraformer.md) | 2026-05-01 | -| [p1-55](p1-55-tech-culture-domain-propagation.md) | 🔵 in_progress | "Tech & Culture domain field — propagate categorization through Rust, Godot UI, and player analysis" | [unassigned](../team-leads/unassigned.md) | 2026-05-03 | +| [p1-55](p1-55-tech-culture-domain-propagation.md) | 🔵 in_progress | "Tech & Culture domain field — propagate categorization through Rust, Godot UI, and player analysis" | [simulator-infra](../team-leads/simulator-infra.md) | 2026-05-04 | +| [p1-56](p1-56-civics-buildings-and-great-works.md) | 🔵 in_progress | "Civics buildings, Great Works, Specialists, Great People — wire authored data into Rust + Godot" | [simulator-infra](../team-leads/simulator-infra.md) | 2026-05-04 | +| [p1-57](p1-57-diplomacy-tribute-treaties.md) | 🔴 stub | "Diplomacy: tribute, treaty lifecycle, magical-terrain episode gating" | [unassigned](../team-leads/unassigned.md) | 2026-05-03 | +| [p1-58](p1-58-ecology-cognitive-system.md) | 🔵 in_progress | "Ecology cognition: terrain affinity, food web, grudge memory, apex tier-10 fauna/flora" | [simulator-infra](../team-leads/simulator-infra.md) | 2026-05-04 | | [p2-06](p2-06-export-pipeline.md) | ✅ done | Export pipeline for Windows / macOS / Linux | [shipwright](../team-leads/shipwright.md) | 2026-04-25 | | [p2-16](p2-16-audio-assets.md) | 🔵 in_progress | Audio assets — in-theme OSS launch pack + source ledger | [asset-audio](../team-leads/asset-audio.md) | 2026-04-27 | | [p2-22](p2-22-sprite-generation-pipeline.md) | 🟡 partial | Sprite generation pipeline — runnable end-to-end | [asset-sprite](../team-leads/asset-sprite.md) | 2026-04-25 | @@ -222,6 +226,7 @@ | [p2-54b](p2-54b-player-observation-cache.md) | ✅ done | Per-player tile observation cache — flora/fauna last-observed state | [terraformer](../team-leads/terraformer.md) | 2026-05-01 | | [p2-54c](p2-54c-renderer-observations-and-indicators.md) | ✅ done | Renderer reads observations + indicator decorations for tech-gated resources | [terraformer](../team-leads/terraformer.md) | 2026-05-01 | | [p2-54d](p2-54d-ai-tech-priority-from-visibility.md) | ✅ done | AI tech-priority bias from visible-but-gated luxuries + indicator decorations | [terraformer](../team-leads/terraformer.md) | 2026-05-01 | +| [p2-55](p2-55-civilian-capture-system.md) | 🔵 in_progress | "Civilian Capture / Destroy / Ransom" | — | 2026-05-03 | ## Out of Scope (Game 2 / Game 3) diff --git a/.project/objectives/p2-55-civilian-capture-system.md b/.project/objectives/p2-55-civilian-capture-system.md index f141579b..c5cfe03a 100644 --- a/.project/objectives/p2-55-civilian-capture-system.md +++ b/.project/objectives/p2-55-civilian-capture-system.md @@ -2,7 +2,7 @@ id: p2-55 title: "Civilian Capture / Destroy / Ransom" priority: p2 -status: pending +status: in_progress scope: game1 category: combat owner: diff --git a/public/games/age-of-dwarves/data/objectives.json b/public/games/age-of-dwarves/data/objectives.json index 53fa5548..a2363c57 100644 --- a/public/games/age-of-dwarves/data/objectives.json +++ b/public/games/age-of-dwarves/data/objectives.json @@ -1,13 +1,13 @@ { - "generated_at": "2026-05-04T00:07:36Z", + "generated_at": "2026-05-04T02:45:47Z", "totals": { - "missing": 16, - "partial": 10, - "stub": 3, "done": 145, "oos": 26, - "in_progress": 2, - "total": 202 + "missing": 16, + "in_progress": 5, + "partial": 10, + "stub": 4, + "total": 206 }, "objectives": [ { @@ -1026,9 +1026,39 @@ "priority": "p1", "status": "in_progress", "scope": "game1", + "owner": "simulator-infra", + "updated_at": "2026-05-04", + "summary": "The designs app at `.project/designs/app/` now drives `/tech-tree` and\n`/culture-tree` from real JSON data with a 10-domain categorization\n(Military / Economy / Industry / Agriculture / Governance / Culture /\nScience / Exploration / Engineering / Medicine), authored as\n`tech.domain` directly in `public/resources/techs/*.json`. Culture\npolicies use the `pillar` field as their tab axis.\n\nThis objective propagates that categorization through the rest of the\nsystem — the Rust simulator, the Godot gameplay UI (`knowledge_tree`,\n`tech_tree`, `culture_tree`), and player data analysis surfaces — so\nevery consumer reads the same Single Source of Truth.\n\nThe shared TreeView component (`.project/designs/app/src/components/tree/`)\nis the reference implementation. Other surfaces should match its UX:\ndomain tab bar, matching-tab-floats-to-top sort, inline unlocks on each\nnode." + }, + { + "id": "p1-56", + "title": "\"Civics buildings, Great Works, Specialists, Great People — wire authored data into Rust + Godot\"", + "priority": "p1", + "status": "in_progress", + "scope": "game1", + "owner": "simulator-infra", + "updated_at": "2026-05-04", + "summary": "A large body of city-management data was authored in the 2026-05-03 design\nsession. The JSON content + designs-app pages exist as the canonical\nspecification. Rust simulator and Godot UI consumers must now be wired\nto actually run the systems in-game." + }, + { + "id": "p1-57", + "title": "\"Diplomacy: tribute, treaty lifecycle, magical-terrain episode gating\"", + "priority": "p1", + "status": "stub", + "scope": "game1", "owner": "unassigned", "updated_at": "2026-05-03", - "summary": "The designs app at `.project/designs/app/` now drives `/tech-tree` and\n`/culture-tree` from real JSON data with a 10-domain categorization\n(Military / Economy / Industry / Agriculture / Governance / Culture /\nScience / Exploration / Engineering / Medicine), authored as\n`tech.domain` directly in `public/resources/techs/*.json`. Culture\npolicies use the `pillar` field as their tab axis.\n\nThis objective propagates that categorization through the rest of the\nsystem — the Rust simulator, the Godot gameplay UI (`knowledge_tree`,\n`tech_tree`, `culture_tree`), and player data analysis surfaces — so\nevery consumer reads the same Single Source of Truth.\n\nThe shared TreeView component (`.project/designs/app/src/components/tree/`)\nis the reference implementation. Other surfaces should match its UX:\ndomain tab bar, matching-tab-floats-to-top sort, inline unlocks on each\nnode." + "summary": "Three diplomacy-related systems were authored in JSON. Rust wire-up\npending." + }, + { + "id": "p1-58", + "title": "\"Ecology cognition: terrain affinity, food web, grudge memory, apex tier-10 fauna/flora\"", + "priority": "p1", + "status": "in_progress", + "scope": "game1", + "owner": "simulator-infra", + "updated_at": "2026-05-04", + "summary": "A unifying ecology-cognition layer was authored across flora, fauna, and\nwild-creature units. Adds shared `combat_profile`, `cognitive_profile`,\n`terrain_affinity`, and `loot_table` fields. Brings the Civ5 \"tier-10 apex\npredator owns the map\" experience to dwarven gameplay." }, { "id": "p2-06", @@ -1800,6 +1830,16 @@ "updated_at": "2026-05-01", "summary": "Per the user's 2026-05-01 design observation: **AI clans don't research the right techs to unlock luxuries**. With the three-axis schema (p2-54) and observation cache (p2-54b) in place, mc-ai's strategic policy can read each clan's visible-but-yield-gated luxuries + indicator-decorated subsurface resources in their territory and bias tech research toward unlocking them.\n\nThis is the architectural fix for p1-05's `luxury_variance` regression (median dropped from 3 to 0 because AI never researches Trapping/Scholarship/Herbalism even though their territory contains ivory, silk, spices)." }, + { + "id": "p2-55", + "title": "\"Civilian Capture / Destroy / Ransom\"", + "priority": "p2", + "status": "in_progress", + "scope": "game1", + "owner": null, + "updated_at": "2026-05-03", + "summary": "" + }, { "id": "g2-01", "title": "Ley lines — Game 2 (Age of Kzzykt)",