Two new durable LLM abilities, appended last to the ABILITIES registry (entries 13 & 14, after contested):
#80 — Alliances / mutual-defense treaties (TurnResult.alliances): form/break durable symmetric pacts between two distinct nations; a form sets the pair's relation to ally and a break to neutral (an active war overrides both). Durable in GameState.alliances; the user payload always carries them. Never moves borders.
#81 — Space program / satellites (TurnResult.space): launch/deorbit satellites (types recon/comms/navigation/weather) over regions the launching nation owns; each active satellite grants its owner +1 stability per committed turn (mirrored to regionStats, re-derived). Durable in GameState.satellites; the user payload always carries them. Never moves borders.
Both are deterministic and unit-tested (738 unit tests pass; typecheck/lint/build clean). CI runs the full suite including e2e.
Two new durable LLM abilities, appended last to the ABILITIES registry (entries 13 & 14, after `contested`):
- **#80 — Alliances / mutual-defense treaties** (`TurnResult.alliances`): `form`/`break` durable symmetric pacts between two distinct nations; a `form` sets the pair's relation to `ally` and a `break` to `neutral` (an active war overrides both). Durable in `GameState.alliances`; the user payload always carries them. Never moves borders.
- **#81 — Space program / satellites** (`TurnResult.space`): `launch`/`deorbit` satellites (types `recon`/`comms`/`navigation`/`weather`) over regions the launching nation owns; each active satellite grants its owner +1 stability per committed turn (mirrored to regionStats, re-derived). Durable in `GameState.satellites`; the user payload always carries them. Never moves borders.
Both are deterministic and unit-tested (738 unit tests pass; typecheck/lint/build clean). CI runs the full suite including e2e.
Fixes #80
Fixes #81
#80: TurnResult.alliances — form/break durable mutual-defense pacts (GameState.alliances; pair relation → ally/neutral, an active war overrides).
#81: TurnResult.space — launch/deorbit satellites (GameState.satellites; +1 stability per active satellite per turn).
Both appended last to the ABILITIES registry (entries 13 & 14, after contested); durable in SQLite via the stateFields loop, mirrored to regionStats, stats re-derived. System + user prompt goldens updated; 738 unit tests passing.
kamilkrzywda
scheduled this pull request to auto merge when all checks succeed 2026-10-17 19:00:08 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Two new durable LLM abilities, appended last to the ABILITIES registry (entries 13 & 14, after
contested):TurnResult.alliances):form/breakdurable symmetric pacts between two distinct nations; aformsets the pair's relation toallyand abreaktoneutral(an active war overrides both). Durable inGameState.alliances; the user payload always carries them. Never moves borders.TurnResult.space):launch/deorbitsatellites (typesrecon/comms/navigation/weather) over regions the launching nation owns; each active satellite grants its owner +1 stability per committed turn (mirrored to regionStats, re-derived). Durable inGameState.satellites; the user payload always carries them. Never moves borders.Both are deterministic and unit-tested (738 unit tests pass; typecheck/lint/build clean). CI runs the full suite including e2e.
Fixes #80
Fixes #81