From 17e69c6c4171891b8f420f98b7c03ffd25fb8bcf Mon Sep 17 00:00:00 2001 From: Natalie Date: Sun, 26 Apr 2026 18:56:09 -0700 Subject: [PATCH] =?UTF-8?q?feat(@projects/@magic-civilization):=20?= =?UTF-8?q?=E2=9C=A8=20add=20dwarven=20courier=20tech=20audit=20blocker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .project/objectives/objectives.json | 2 +- .../objectives/p3-01-courier-diplomacy.md | 48 +++++++++++++++++-- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/.project/objectives/objectives.json b/.project/objectives/objectives.json index f7fcabd3..440b0ace 100644 --- a/.project/objectives/objectives.json +++ b/.project/objectives/objectives.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-04-27T01:44:24Z", + "generated_at": "2026-04-27T01:51:43Z", "totals": { "done": 98, "in_progress": 0, diff --git a/.project/objectives/p3-01-courier-diplomacy.md b/.project/objectives/p3-01-courier-diplomacy.md index e51f3867..aea7f312 100644 --- a/.project/objectives/p3-01-courier-diplomacy.md +++ b/.project/objectives/p3-01-courier-diplomacy.md @@ -97,6 +97,41 @@ All remaining bullets (3 improvements, 4 techs, remaining 8 unit/8 building stub ## Open design questions +### BLOCKER (2026-04-26 cycle 1 audit) — Dwarven tech-tree mismatch + +The original courier ladder (Foot Runner → Mounted Courier → Carrier Bird → Dispatch Rider → Semaphore → Telegraph → Radio → Telecom → Aether Conduit) assumed Earth-styled surface-civilization tech progression. Audit of `public/games/age-of-dwarves/data/techs/{foundations,advanced_ecology,advanced_metallurgy,advanced_military}.json` shows the Dwarven tech tree (24 techs, 4 pillars: heritage, metallurgy, ecology, military) is **deliberately Dwarven-flavored** and contains: + +- **NO `riding`, `horseback`, `mounted_warfare`** — Dwarves don't ride horses. +- **NO `falconry`** — no carrier birds in the existing roster. +- **NO `postal_system`, `optics`, `electricity`, `telegraph`, `wireless`, `radio`, `networking`** — no industrial-Earth telecom progression. + +Only era_2 maps cleanly: +- `tracking` (era_2, military pillar, "wildcraft — sign, spoor, scent — that lets rangers police a border") → **legitimate permanent prereq** for Foot Runner. Cycle 1's pick stands; not provisional. + +Era_3 through era_10 of the ladder ALL need either (a) new Dwarven-themed prereq techs authored, or (b) a redesigned ladder using existing Dwarven techs (`runelore`, `steelworking`, `steam_forging`, `mechanized_warfare`, `ascendant_warfare`, etc.). + +Possible Dwarven reframe (illustrative — needs user decision): +| Era | Tier (renamed) | Existing Dwarven tech that could prereq it | +|---|---|---| +| era_2 | Foot Runner | `tracking` ✓ (already in foundations) | +| era_3 | Tunnel Runner / Deep Strider | `ancient_forestry`? new `tunnel_paths`? | +| era_4 | Rune-Bearer (carries carved runic message tablets) | `runelore` (foundations, era_? — already exists) | +| era_5 | Postal Hold (fortified relay station) | new `postal_holds` tech, or extend `dwarf_heritage` | +| era_6 | Beacon Chain (mountain-top fire signals — works above ground) | new `beacon_signaling` tech | +| era_7 | Steam Messenger (mechanized courier-walker) | `steam_forging` (advanced_metallurgy — already exists) | +| era_8 | Telegraph-of-the-Deep (rune-resonance wires) | new `rune_resonance` or repurpose `runelore`+`mechanized_warfare` | +| era_9 | Hold-Network (interconnected holds with rune-relay) | `combined_arms` (advanced_military) or new `unified_holds` | +| era_10 | Adamantine Echo / Forge-Mind | `adamantine_forging` or `ascendant_warfare` | + +Decision needed before c2 fires: +1. **Rename the ladder for Dwarven flavor** (do not call era_8 "Wireless") — what should the 9 tier names actually be? +2. **For each era 3–10, EITHER add a new prereq tech file under `data/techs/` OR map to an existing Dwarven tech.** +3. **Era_10 Aether Conduit** — already flagged below as Game 1 / Game 3 boundary issue. Adamantine Echo / Forge-Mind / Rune-Beyond keep it inside Dwarven flavor without invoking magic schools. + +Until this decision lands, c2 (and subsequent cycles) should NOT author the remaining 8 unit JSONs — every one of them references a `tech_required` field that may need to be re-pointed once the ladder is finalized, costing rework. + +### Other open questions (lower priority than the tech-mismatch blocker above) + - Does the Courier carry a literal "map scroll" entity that can be looted on intercept (giving the killer the partial knowledge for free), or does intercept simply destroy the data? @@ -104,11 +139,14 @@ All remaining bullets (3 improvements, 4 techs, remaining 8 unit/8 building stub link to B, can A buy C's map via B? (Suggests Game 2/3 territory.) - Open borders interaction with ZOC / siege / pillaging: does an open-borders unit pillaging an improvement break the agreement instantly? -- Era_10 Aether Conduit blurs Game 1's no-magic boundary — may want to rename - to "Quantum Relay" or similar for Game 1 consistency, leaving the aether - flavor for Game 3. +- Era_10 Aether Conduit blurs Game 1's no-magic boundary — superseded by the + Dwarven-rename decision above; leave aether flavor for Game 3 entirely. +- `TradeLedger` migration to `Vec` (cycle 1 deferred this + as a breaking change). Touches every `mc-trade` consumer — schedule a + dedicated cycle for it before the route resolver lands. ## Dependencies -- Existing: `mc-trade` (luxury↔gold base), `eras.json`, road improvement, tech tree. -- Blocks on / coordinates with: tech-tree expansion (9 new prerequisite techs), unit/building sprite generation (sprite-generation pipeline), AI personality tuning. +- Existing: `mc-trade` (luxury↔gold base — type stubs added cycle 1), `eras.json`, road improvement, partial Dwarven tech tree (24 techs). +- **BLOCKED ON**: user adjudication of the Dwarven-flavor courier ladder (see Open Design Questions above). +- Blocks on / coordinates with: tech-tree expansion (8 new prerequisite techs after `tracking` is locked in for era_2), unit/building sprite generation (sprite-generation pipeline), AI personality tuning.