review document tier created 2026-07-02

Doctrine-Aware Self-Improving AI Roadmap

Alignment date: 2026-07-02 · Product path: unthinkable · Source artifact: research/unthinkable/doctrine-aware-ai-roadmap.md

This page reviews the roadmap for making Omega War's tactical AI a doctrine-constrained commander system with explainable adaptation, offline-only neural exploration, and deterministic browser runtime behavior.

Review Status

Status: review. The Markdown artifact has been written and the tactical experiment plan has been amended so EXP-08 targets a doctrine-aware Soviet commander contract instead of a larger one-off FSM.

Continuation command: $create-alignment-page research/unthinkable/doctrine-aware-ai-roadmap.md

Implementation boundary: this is architecture and experiment planning. Runtime neural networks, cloud player modeling, and automatic promotion of offline-discovered behavior remain deferred.

Artifact Overview

source artifact

Purpose

Build tactical AI as authored doctrine plus planner, utility, micro, and compact adaptation layers while keeping runtime behavior deterministic and explainable.

runtime rule

No Runtime Neural Model

Offline ML/simulation may tune weights and discover candidates, but the browser runtime consumes distilled rules and data tables only.

first target

Soviet Upgrade First

EXP-08 should upgrade the Soviet opponent first, then reuse the framework for UK spectator AI and later campaign commanders.

Date2026-07-02
Product pathunthinkable
Topicdoctrine-aware-ai
Status in sourceactive architecture roadmap
Primary prototype targetprototypes/unthinkable/tactical-battle/playable-battle/
Review page pathalignment/doctrine-aware-ai-roadmap.html

Source Coverage

The roadmap uses repo-local design, prototype, and test artifacts. It treats the current FSM-style AI as useful baseline evidence, not the final architecture.

SourceUse In Roadmap
research/unthinkable/tactical-vertical-slice-spec.mdFirst playable battle target, baseline AI obligations, save/pause requirement, and browser prototype boundary.
research/unthinkable/tactical-battle-experiment-plan.mdEXP-08, EXP-10, EXP-13, and EXP-14 implementation route.
prototypes/unthinkable/tactical-battle/playable-battle/js/spectator-ai.jsCurrent explainable declarative-FSM commander baseline.
prototypes/unthinkable/tactical-battle/playable-battle/tests/headless-sim.jsHeadless safety, determinism, AI log projection, save/reload, and AI-vs-AI expectations.
research/unthinkable/divisions-1945.md and research/unthinkable/proposed-divisions-and-decks-roster.mdForce identity and roster context for Soviet 2nd Guards and UK 11th Armoured doctrine profiles.

Architecture

The runtime AI should be layered: doctrine profile, general personality, difficulty profile, commander planner, tactical utility layer, and unit micro layer. Doctrine is the boundary: the AI may improve within doctrine, but it must not converge into generic optimal RTS behavior.

Soviet 2nd Guards

Prefers mass, echelon pressure, armor exploitation, artillery preparation, and shock commitment. Penalizes early unsupported shock, hidden-vision counters, unsupported armor trickles, and repeated one-lane failures.

UK 11th Armoured

Prefers combined arms, recon, deliberate armor commitment, artillery observation, and air support. Penalizes blind armor rushes, static camping under capture pressure, and perfect reactions to unseen concentrations.

Runtime Contracts

The roadmap introduces three serializable contracts: AiCommanderProfile, AiIntentState, and AiDoctrineProfile. These must survive save/reload and support deterministic AI-vs-AI tests.

ContractRequired ContentWhy It Matters
AiCommanderProfileside, forceId, doctrineId, personalityId, difficultyId, planWeights, riskKnobs, adaptationSettings, seed.Defines who the commander is and which bounded adaptations are legal.
AiIntentStateCurrent plan, plan reason, target objectives, build step, group assignments, known player habits, adaptation memory, last adaptation reason, cooldowns, and log.Extends the current AI log model into saveable commander state.
AiDoctrineProfileAllowed plans, preferred categories, phase priorities, historical bias weights, risk limits, forbidden behaviors, penalized behaviors, fallback behaviors, and adaptation boundaries.Prevents learning and utility scoring from violating faction identity.

Learning Memory

Runtime learning memory stores compact labels such as player overuses center rush, ignores flank, delays anti-armor, punishes unsupported armor, or AI artillery fired with poor effect. Each signal carries count, confidence, last observed time, decay/cooldown, and a short evidence note.

Every adaptive change must emit a readable log entry. The player should be able to inspect why the commander shifted plan or timing without seeing hidden omniscience.

Difficulty Rules

DifficultyBehavior Contract
EasySlower reactions, conservative attacks, weaker adaptation memory, more readable telegraphs, forgiving retreat and reserve behavior.
NormalDoctrine-faithful plan switching, fair scouting, moderate retreats, basic counter-adaptation, honest command-post and phase gating.
HardBetter timing, stronger grouping, better target priority, faster recovery, richer player-habit counters, but still no impossible economy or unbounded hidden vision.

No difficulty level grants unbounded hidden vision, impossible economy, instant perfect counters, invisible late powers, or hidden prerequisite skips.

Implementation Path

  1. Phase 0 Contract Amendment: amend EXP-08 around AiCommanderProfile, AiDoctrineProfile, AiIntentState, and adaptation logs.
  2. Phase 1 Soviet Opponent Upgrade: upgrade the current Soviet opponent first, keeping the old FSM behavior as comparison until doctrine planner tests pass.
  3. Phase 2 UK Spectator AI Reuse: reuse the same framework with UK 11th Armoured doctrine and a different personality profile.
  4. Phase 3 Offline Tuning Harness: run AI-vs-script and AI-vs-AI simulations, then distill inspectable results into data tables or utility weights.

Integration With Existing Experiments

ExperimentRequired AI-Roadmap Implication
EXP-08 Baseline AI LoopUpgrade scope to doctrine-aware commander contract for the Soviet opponent.
EXP-10 Save/Pause/ReloadInclude commander profile, intent state, adaptation memory, and cooldowns in battle snapshots.
EXP-11 Performance Ceiling ProbeTrack AI think cost, group-assignment cost, and utility-evaluation count.
EXP-13 First Compiled Skirmish ThreadUse the doctrine-aware Soviet profile if accepted; otherwise keep the old FSM as fallback and log the gap.
EXP-14 Full Prototype AssemblyValidate difficulty, adaptation, doctrine constraints, and anti-oppression guardrails.

Test Plan

Evidence Matrix

ClaimEvidenceInferenceConfidenceDecision Impact
AI must remain explainable and saveable.Vertical-slice spec requires save/pause; headless tests assert deterministic runs, save/reload, and AI log projection.Opaque runtime learning would undermine current prototype constraints.HighUse serializable profiles, intent state, logs, and compact memory.
A flat FSM is useful but insufficient long-term.spectator-ai.js uses declarative FSM states and logs.The current style is debuggable, but doctrine/personality/difficulty/adaptation are not separated as stable contracts.Medium-highPromote the explainable parts into layered contracts.
Doctrine must bound adaptation.Roster and division docs establish distinct Soviet and UK force identity; user intent explicitly rejects generic optimal cheese.Self-improvement without constraints risks erasing faction identity and historical boundedness.HighAuthor AiDoctrineProfile before broad adaptation.
Offline ML is acceptable only as distilled data.Browser-first prototype and determinism expectations make runtime neural behavior unnecessary and risky.Simulation can help tune values without shipping opaque models.Medium-highDefer runtime neural networks and require human-reviewed distilled outputs.

Confidence Register

Evidence-Backed

  • The first implementation should target the Soviet opponent before UK spectator reuse.
  • Save/reload and headless tests must include AI state.
  • Difficulty must tune competence rather than hidden cheating.

Provisional

  • Exact plan weights, risk knobs, and adaptation thresholds remain prototype tuning values.
  • Offline tuning harness scope should wait until EXP-08 has stable contracts.
  • Long-term campaign commander reuse is implied, not implemented.

Alternatives Considered

File Changes

PathStatusPurpose
research/unthinkable/doctrine-aware-ai-roadmap.mdNew source artifactCanonical doctrine-aware AI architecture roadmap.
alignment/doctrine-aware-ai-roadmap.htmlNew review pageThis review surface with gates and full source rendering.
research/unthinkable/tactical-battle-experiment-plan.mdExisting source amendedEXP-08 now points at the doctrine-aware commander contract.
tasks/todo.mdExisting checklist amendedEXP-08 and EXP-10 implementation notes now include AI roadmap contracts.
alignment/index.htmlExisting index amendedAdds this review page to the central alignment index.

Approval Gates

Architecture Direction

Approve whether the roadmap should treat AI as doctrine profile plus planner, utility, micro, and compact memory layers.

Approve the doctrine-aware layered AI architecture?

Learning Boundary

Approve whether runtime learning should be limited to compact explainable signals and offline ML should ship only as distilled data.

Approve the runtime learning and offline-only neural boundary?

Implementation Route

Approve whether EXP-08 should be amended to implement the first Soviet doctrine-aware commander contract.

Approve EXP-08 as the first doctrine-aware AI implementation target?

Source Markdown

The structured review sections above render the decision-relevant content. The full source artifact is included below verbatim so the page contains the complete deliverable.

Show full source artifact
# Doctrine-Aware Self-Improving AI Roadmap

Date: 2026-07-02
Product path: `unthinkable`
Topic: `doctrine-aware-ai`
Status: active architecture roadmap
Primary prototype target: `prototypes/unthinkable/tactical-battle/playable-battle/`

## Purpose

Omega War should build tactical AI as a doctrine-constrained commander system, not as a runtime neural network and not as a larger flat finite-state machine. The runtime AI must remain deterministic, serializable, explainable, and bounded by authored faction-era doctrine.

Neural-network or reinforcement-learning work is allowed only offline for now. Offline simulations may discover useful weights, plan timings, counter-rules, build orders, difficulty curves, and failure cases. Shipped browser runtime behavior should consume distilled data tables, utility weights, and authored rules.

## Current Gap

The current tactical AI direction is explainable, but too flat. A single commander FSM can capture scripted pressure and readable logs, yet it does not separate doctrine, general personality, difficulty, player adaptation, plan selection, tactical utility, and unit micro.

## Architecture Direction

Runtime AI should be layered: doctrine profile, general personality, difficulty profile, commander planner, tactical utility layer, and unit micro layer. Doctrine is the boundary, not flavor text. AI may improve within doctrine; it must not converge into generic optimal RTS cheese.

## Doctrine Baselines

Soviet 2nd Guards should prefer mass, echelon pressure, armor exploitation, artillery preparation, and shock commitment.

UK 11th Armoured should prefer combined arms, recon, deliberate armor commitment, artillery observation, and air support.

## Serializable Runtime Contracts

`AiCommanderProfile` stores side, force id, doctrine id, personality id, difficulty id, plan weights, risk knobs, adaptation settings, and seed.

`AiIntentState` stores current plan, plan reason, target objectives, build step, group assignments, known player habits, adaptation memory, last adaptation reason, cooldowns, and log.

`AiDoctrineProfile` stores allowed plans, preferred unit categories, phase priorities, historical bias weights, risk limits, forbidden behaviors, penalized behaviors, fallback behaviors, and adaptation boundaries.

## Learning Memory

Runtime learning memory stores only compact, explainable signals: player overuses center rush, player ignores flank, player delays anti-armor, player punishes unsupported armor, AI lost too many units during probes, artillery fired with poor effect, command-post defense arrived too late, or reserve budget was too low after Phase B.

Every adaptive change must emit a log entry.

## Self-Improvement Modes

Mode 1: doctrine-bounded tuning. Mode 2: player-specific adaptation. Mode 3: offline open-ended exploration distilled into data.

## Difficulty And Fun Rules

Difficulty tunes competence, not cheating. Easy slows reactions and weakens adaptation. Normal uses doctrine-faithful plan switching and fair scouting. Hard improves timing, grouping, target priority, recovery, and player-habit counters without hidden omniscience or impossible economy.

## Implementation Path

Phase 0 amends EXP-08 around the AI contracts. Phase 1 upgrades the Soviet opponent. Phase 2 reuses the framework for UK spectator AI. Phase 3 adds an offline tuning harness.

## Test Plan

Create AI-vs-script and AI-vs-AI scenario tests for near-point capture, center contest, honest escalation, damaged-unit retreats, command-surface defense, repeated center-rush adaptation, repeated flank-play adaptation, and doctrine constraint enforcement.

## Acceptance Criteria

AI feels less exploitable after repeated play. AI decisions remain explainable in logs. AI still looks like its faction and commander. AI can lose without collapsing into one-lane stupidity. Difficulty increases competence without hidden omniscience or impossible economy. No runtime neural model is required for the browser prototype. Save/reload preserves commander profile, intent state, adaptation memory, cooldowns, and log context.

Compile Responses

Answer any gate question, then compile YAML to send back to the agent. Complete approval requires every gate answered with no unresolved negative or clarification feedback.