feat(@projects/@magic-civilization): add dwarven courier tech audit blocker

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Natalie 2026-04-26 18:56:09 -07:00
parent 3f15f8e581
commit 17e69c6c41
2 changed files with 44 additions and 6 deletions

View file

@ -1,5 +1,5 @@
{
"generated_at": "2026-04-27T01:44:24Z",
"generated_at": "2026-04-27T01:51:43Z",
"totals": {
"done": 98,
"in_progress": 0,

View file

@ -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 310, 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<DiplomaticAgreement>` (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.