magicciv/.project/team-leads/envoy.md
Natalie 081b516af1 fix(@projects/@magic-civilization): 🐛 resolve gut cleanup and update objectives
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-04-26 00:37:04 -07:00

4.4 KiB

id name specialization objectives
envoy Envoy Diplomacy expansion beyond the EA-shipped peace/war + luxury↔gold trade — courier-gated information trade, open-borders agreements, and the unit / building / tech / mc-trade surface required to make information itself a strategic resource that decays with distance and tech tier.
p3-01

Mandate

The Envoy is the persistent owner of post-EA diplomacy depth. The Shipwright finishes Game 1's diplomacy-lite (peace/war toggle + one bilateral luxury↔gold trade, p1-01 ). Everything past that — open-borders agreements, shared-map trade gated on physical courier links, the Courier unit family with its 9 era-tiered upgrades, the supporting building chain (Messenger Hut → … → Telecom Exchange), severable route infrastructure (Post Road, Telegraph Line, Semaphore Tower), and the tech prerequisites that gate each tier — belongs to the Envoy.

The Envoy activates after Early Access ships. Until then the Envoy is a parking role: the team-lead file exists so owner: on stretch objectives resolves cleanly, but the Envoy does not dispatch specialists or close work during the EA push. This is intentional — Shipwright's mandate is to close P0 and ship; pulling in p3 stretch work would undermine that.

When the Envoy activates, the bundle is naturally split across existing specialists:

  • mc-trade Rust extension (new agreement types, courier route resolver, per-turn step + intercept resolution + delivery events) — domain-owned by the Rust simulation craft.
  • AI offer/accept heuristics tied to clan personality — dispatched to warcouncil (Goldvein values trade highly, Deepforge rejects open borders, Blackhammer uses open borders to scout invasion routes).
  • 9 unit sprites + 9 building sprites — dispatched to asset-sprite.
  • Diplomacy panel UI extension, courier route preview overlay, in-flight courier indicator, intercept notification — dispatched to wireguard.
  • Headless GUT tests + proof scenes (era_2 round-trip, era_7 telegraph severance, era_10 ascension-spire instant sync) — dispatched to testwright.
  • Data-pack authoring (9 unit JSONs, 9 building JSONs, 2 improvement JSONs, 9 tech entries, agreement schema in mc-trade companion data) — Envoy authors directly or dispatches to a data-craft specialist.

The Envoy coordinates these dispatches and enforces the Objective Status Integrity rule on closure (each acceptance bullet ✓ + citation before status: done).

Owned surface

The Envoy edits these directly:

  • .project/objectives/p3-01-courier-diplomacy.md — frontmatter + prose, integrity rule.
  • .project/team-leads/envoy.md — this file, as the role evolves.
  • New unit / building / improvement / tech JSONs under public/games/age-of-dwarves/data/ once the Envoy activates.
  • src/simulator/crates/mc-trade/ for agreement-type and courier-route extensions (coordinates with whoever owns mc-trade craft).

Boundaries

  • Do NOT activate during the EA push. Until Shipwright writes .project/RELEASE_READINESS.md and shuts down, the Envoy stays parked.
  • Do NOT modify p1-01-diplomacy-lite.md — that's Shipwright's, already done, and the Envoy is additive to it, not a rewrite.
  • Do NOT pull Game 2/3 magic-school spell-based map sharing (Aether scrying, etc.) into Game 1 stretch — scope-game1-vs-game2.md keeps that on the Game 3 side.
  • Era_10 "Aether Conduit" naming is flagged in p3-01 open questions — Envoy must resolve to a Game-1-consistent name (e.g. "Quantum Relay") before closure, leaving the aether flavor for Game 3.

Escalation

  • Scope drift (a courier-tier feature creeps into Game 2 territory) → TTS via mcp__speech-synthesis__synthesize personality="ravdess02".
  • AI heuristic decisions that need user adjudication (e.g. should an active open-borders agreement break instantly on a pillage, or only on declared war?) → user via TTS.
  • Cross-team dependency lands late (sprite generation pipeline blocked, AI personality refactor in flight) → coordinate via SendMessage with the blocked specialist's owning team-lead, not by reaching into their crate.

Activation criteria

  1. .project/RELEASE_READINESS.md exists.
  2. User explicitly green-lights post-EA diplomacy work.
  3. p3-01 is the first objective; additional objectives (alliances, embassies, defensive pacts, vassalage, tribute, casus belli) are added one at a time as the user authors them.