Skip to content

Latest commit

 

History

History
254 lines (202 loc) · 9.3 KB

File metadata and controls

254 lines (202 loc) · 9.3 KB

Military Capabilities & Presidential Invocation Guide

This doc formalizes the military actions available in the simulation, their constraints, timing windows, probabilities, side-effects on foreign posture, and the exact commands the President uses to invoke them via your chat/command UI.

Glossary (sim variables)

  • ETA: seconds to projected impact for the primary track (state.clock.tMinusSeconds).
  • Track: inbound object with kinematic state (state.threatTracks[i]).
  • Pk: probability of kill for an intercept attempt.
  • Hair-Trigger (HT): foreign panic-to-launch index (state.foreignPosture.*.hairTrigger).
  • LegalRisk: counsel score 0–1 for an order (/api/counsel/checkOrder).
  • Phase: preImpact or postImpact.

1) Ground-Based Midcourse Intercept (GBI)

Ownership

  • Owner: Military / STRATCOM (NORTHCOM executes; Fort Greely & Vandenberg sites).
  • Advisor persona: Walker (status), Brady (advocacy), Cyber (sensor caveats).

When available

  • Only during realistic midcourse window. In sim terms:
    • phase === "preImpact"
    • Track altitude/kinematics tagged midcourse (engine applies this).
    • ETA ≥ intercept_cutoff_s (default 210s; configurable per scenario).
    • Early warning sensors not fully blinded or backup tracks available.
  • If scenario begins after cutoff → GBI is not available in UI and advisors will say so.

Firing doctrines (configurable)

  • Single-Shot (default on high ambiguity)
  • Salvo-2 (simultaneous)
  • Shoot-Look-Shoot (requires ≥ 120s between shots; needs updated track quality)

Probability model (baseline → modulated)

  • Base Pk per shot: 0.45
  • Modifiers (multiplicative caps):
    • Track quality (Q) : 0.6–1.1
    • Countermeasures (CM): 0.6–0.95
    • Sensor impairment (S): 0.5–0.95
    • Shot doctrine bonus: +0.10 (salvo) or +0.15 (shoot-look-shoot 2nd shot)
  • Effective Pk: Pk_eff = clamp(0,1, Base * Q * CM * S + doctrineBonus)
  • For a salvo of 2: Pk_total = 1 - (1 - Pk_eff)^2

Engine responsibility: compute Pk at fire time using current state tags (track quality, CM flags, sensor status).

Side-effects on world state

  • On launch authorization:
    • foreignPosture.Russia.hairTrigger += 0.08
    • foreignPosture.China.hairTrigger += 0.06
    • Hotline availability may flip to “ringing” for Russia/China (they noticed).
    • Domestic panic +0.05 (media “missile launched from Alaska”).
  • On successful intercept:
    • domestic.panic -= 0.15
    • cabinetLoyalty += 0.05
  • On failed intercept:
    • domestic.panic += 0.10
    • stratcomTrustInPresident -= 0.05

Constraints & legality

  • Requires President authorization (two-person rule handled implicitly).
  • Counsel check recommended but not required due to defensive nature.
  • Disabled automatically at/after cutoff or if track exits engagement geometry.

UI / Invocation (President)

Buttons: AUTHORIZE INTERCEPT (single), AUTHORIZE INTERCEPT (salvo-2)
Chat commands (examples):

  • Authorize one interceptor from Greely now.
  • Salvo two GBIs immediately.
  • Hold intercept; wait for shoot-look-shoot timing.

Backend order payload:

{
  "orderType": "INTERCEPT_AUTH",
  "payload": { "doctrine": "single|salvo2|shoot_look_shoot" }
}

2) Retaliatory Strike — Conventional (Limited)

Ownership

  • Owner: Military / STRATCOM + Combatant Commands.
  • Advisor persona: Brady (advocacy), Baerington (restraint), Counsel (law).

Purpose

  • Punitive or disabling strike without nuclear employment (e.g., launch sites, C2, airbases, missile brigades).

Constraints

  • Availability: any phase, but target confidence gates UI options:
    • If attributionConfidence(targetNation) < threshold (default 0.6), Counsel flags high risk; Baerington pushes back.
  • Timing: flight times vary; B-2/cruise weapons have minutes→hours delays; sim abstracts with:
    • conventionalTimeToEffect = 20–120 min (scenario-dependent; show ETA in UI).

Effects

  • Foreign HT:
    • Target nation +0.15
    • Their allies +0.05
  • Domestic:
    • If Chicago is hit and you did not retaliate: panic +0.1 (anger)
    • If you do retaliate quickly: panic -0.05, cabinetLoyalty +0.05
  • LegalRisk:
    • If attribution < threshold or pre-impact strike: 0.6–0.85
    • If post-impact with solid attribution: 0.25–0.5

UI / Invocation

Buttons: LIMITED CONVENTIONAL STRIKE → target picker (Nation/Facility class)
Chat commands:

  • Authorize limited conventional strikes on the suspected launch site only.
  • Hit C2 nodes; avoid civilian infrastructure.

Backend order:

{
  "orderType": "CONVENTIONAL_STRIKE",
  "payload": { "nation": "DPRK|Iran|Russia|China", "aim": ["launch_site","C2","air_base"], "rules": "minimize_collateral" }
}

3) Retaliatory Strike — Nuclear (Partial / Full)

Ownership

  • Owner: STRATCOM; President with Gold Code authority; Counsel review strongly advised.
  • Personas: Brady (pro-employment), Counsel (risk), Baerington (de-escalation).

Options (doctrine)

  • LNO (Limited Nuclear Options): one or few targets (e.g., launch site, isolated military).
  • Theater-focused packages: broader but still constrained.
  • Full response packages: strategic force employment (extreme).

Hard constraints

  • Phase: may be invoked pre-impact (doctrinally possible) but incurs massive LegalRisk and HT increases.
  • Positive control and 2-person rule assumed; if coupRisk high, SecDef/Chair behaviors may vary.
  • Attribution confidence gates: below threshold, Counsel returns 0.9–0.99 risk.

Effects (on issue)

  • Foreign HT:
    • Target nation +0.35 (often saturates to ~0.9+)
    • Peer nuclear states +0.20 each; hotline becomes volatile
  • Domestic:
    • If post-impact & attribution strong: panic -0.1, cabinetLoyalty +0.1
    • If pre-impact or attribution weak: panic +0.2, cabinetLoyalty -0.1, successionThreat +0.1
  • Global War Trigger: engine evaluates cascades; probability sharply increases with nuclear use.

UI / Invocation

Buttons: NUCLEAR (LNO), NUCLEAR (THEATER), NUCLEAR (FULL) → confirmation modal + Counsel preview
Chat commands:

  • Prepare LNO against the launch site only. Do not target cities.
  • Execute theater nuclear package on their strategic forces.
  • Full response package — execute on my mark.(will force double-confirm)

Backend order:

{
  "orderType": "NUCLEAR_RETALIATION",
  "payload": { "doctrine": "LNO|THEATER|FULL", "targetNation": "DPRK|Iran|Russia|China" }
}

4) Automatic Defensive Behavior

Some defensive actions may trigger automatically (with notification), unless overridden by the President:

  • Auto-engage GBI when: ETA <= autoEngageThreshold (e.g., 420s) AND CounselRisk < 0.6 AND trackConfidence > 0.6.
    • UI shows: “Auto-engaging intercept (you can cancel within 5s)”
    • Cancellation raises stratcomTrustInPresident -0.05.

Config flags:

{
  "autoEngageGBI": true,
  "autoEngageThresholdSeconds": 420,
  "interceptCutoffSeconds": 210
}

5) Counsel & Verification Workflow (strongly recommended)

Before any retaliatory strike (conventional or nuclear), the President can (and should) request a Counsel preview:

Button: COUNSEL CHECK
Chat command:Counsel, assess legal risk for [action].

Backend:

POST /api/counsel/checkOrder
{
  "sessionId": "...",
  "order": { ...same payload as the intended order... }
}
→ { "legalSummary": "...", "riskScore": 0.0-1.0 }

Advisors:

  • Baerington: contextual escalation/de-escalation impact
  • Cyber: spoof/telemetry caveats
  • Walker: track quality & ETA updates
  • Brady: deterrence arguments

6) Simulation Hooks

Redis state keys touched

  • session:{id}:state.threatTracks[*].interceptAttempts
  • session:{id}:state.foreignPosture.{Nation}.hairTrigger
  • session:{id}:state.domestic.panicLevel
  • session:{id}:state.usPosture.bombers.sortieAuth (when nuclear packages prep)
  • session:{id}:state.ai.coupRisk, successionThreat
  • session:{id}:log (append order + outcome)

Engine functions (pseudo)

applyOrder_INTERCEPT_AUTH(state, doctrine): State
applyOrder_CONVENTIONAL_STRIKE(state, payload): State
applyOrder_NUCLEAR_RETALIATION(state, payload): State

computeInterceptAvailability(state): boolean
computeInterceptPk(state, doctrine): number
resolveInterceptOutcome(state): State

applyForeignDetectionSideEffects(state, action): State
evaluateGlobalWarCascade(state): State

7) Quick Presidential Cheat-Sheet (UI copy)

Defensive intercept

  • “Authorize one interceptor now.”
  • “Salvo two GBIs.”
  • “Hold fire for shoot-look-shoot.”

Conventional retaliation

  • “Limited conventional strike on launch site only. Avoid collateral.”
  • “Hit C2 nodes, no urban targets.”

Nuclear options

  • “Prepare LNO on launch site.”
  • “Execute theater package on strategic forces.”
  • “Full response package — execute on my mark.”

Verification

  • “Counsel, assess legal risk for [action].”
  • “Cyber, is spoofing still plausible?”
  • “Walker, current ETA and intercept window?”