# V4 — Implementation TODOs (Tactical Action Universe, Unreal Engine 5)

Source: derived from `V4/V4_features.md` cross-referenced against the state of
`V4/` and the eventual Unreal Engine project under `V4/ue/` as of 2026-05-15.

> **What a `[x]` mark attests (remediation banner, 2026-06-12).** A checked task
> in this file attests to **code, data, and JSON artifacts in this repository**
> — source files, tests, manifests, and check gates — not to shipped, cooked, or
> operated outcomes. In particular: (1) the 770 `*.v4asset.json` files under
> `V4/ue/` (529 `*.uasset.v4asset.json` + 241 `*.umap.v4asset.json`) are
> **textual stand-ins** for Unreal assets — they describe intended content but
> are not cooked `.uasset`/`.umap` binaries, so any mark resting on them attests
> authored intent, not playable content; (2) real-world operations claims
> (alphas/betas/soaks, platform certification, staffing, hosting, recording
> sessions) **cannot be verified from this repo** and were re-marked `[~]` on
> 2026-06-12 — launch is 2026-10-01, so most could not have occurred yet; (3)
> `[~]` means "not locally verifiable / real-world ops", and `[ ]` means open
> work, including previously checked tasks whose implementations were found
> contradicted (see the audit section below and `V4/REMEDIATION_2026-06-12.md`).
> **2026-09-18:** the task board cannot read `[~]`, so the 31 tasks that carried
> it were converted, one at a time from their own notes, to `[ ]` with a
> `blocked:<reason>` tag (`.claude/rules/task-checkbox-verification.md`); the
> board lists them in `TODOS/PARKED.md`. Where a note still says `[~]`, read
> "open and tagged".

## Purpose

This file is the **source of truth for V4 completion state and coding-agent
execution order**. A coding agent should be able to start at §1.1, work
sequentially, and rely on each unchecked item as an implementation task whose
successful completion moves the product toward the full V4 vision. V4 is a
single-product tactical-action game in Unreal Engine 5 whose mode and mechanic
coverage spans the entire heritage of five distinct genres:

- **Tactical FPS** — Rainbow Six: Raven Shield (planning phase, branching
  breach-and-clear), Rainbow Six (Siege-era, 5v5 attack/defense, operator
  gadgets, destruction), Call of Duty (cinematic campaign, 6v6 PvP, BR),
  Splinter Cell (light/shadow gauge stealth), Hitman (sandbox social stealth,
  disguises, schedules).
- **Real-Time Stealth Tactics (RTST)** — Commandos (WW2 specialists, vision
  cones, time-stop), Desperados (Wild-West specialists, Showdown Mode
  synchronous-action).
- **Action RPG** — Black Myth: Wukong (souls-like, stamina, parry,
  transformations, spell-craft, animation-led bosses).
- **Real-Time Strategy** — StarCraft (three asymmetric factions, micro, fog of
  war, ladder), Age of Empires (historical civs, ages, wonders, large-pop
  battles).
- **2D Run-and-Gun** — Contra (side-scrolling arcade, weapon power-ups,
  branching routes, 2P couch co-op).

Each unchecked `[ ]` below is a coding-agent-actionable task. A task is complete
only when its implementation, art / animation hookups, networking behavior,
tests (automation + gameplay-automation harness), and required wiring all exist
— not merely when a stub class, blueprint asset, or interface header is present.
The Oshun-repo `CLAUDE.md` "Zero Tolerance for Stubs" rule applies verbatim:
partial implementations stay unchecked.

## Cross-Reference Convention

Throughout the V4 docs, **bare `§N` and `§N.M` references resolve to this
document** (`V4_TODOS.md` is the only V4 doc with section numbering used as
hyperlinks). Explicit doc prefixes are used where ambiguity matters:

- Bare `§40` or `§22.8` → a section in this file.
- `deps§9` → `V4_DEPENDENCIES.md` §9 (Online Services Provider).
- `arch§"<anchor>"` → `V4_ARCHITECTURE.md` by section anchor.
- `features§"<anchor>"` → `V4_features.md` by section anchor.

`V4_features.md` and `V4_ARCHITECTURE.md` use named anchors, not section
numbers; this file and `V4_DEPENDENCIES.md` carry numbered ids.

## Phase / cut-line convention

The backlog describes the **full vision**, not only day-one launch. Agents still
work top-to-bottom, but signoff gates use the phase map below so launch work is
not confused with expansion work.

- **[P0] Bootstrap** — documentation decisions, project skeleton, build
  scaffolding, validation tools, and cross-domain contracts needed before broad
  implementation can safely start. This is §1 plus the ADRs under
  `V4/docs/decisions/`.
- **[P1] Launch** — the shippable tactical-action game and every service,
  compliance, performance, accessibility, and operations surface needed for GA.
  This is §2-§94 unless an individual bullet explicitly says post-launch or
  carries a lower phase.
- **[P2] Year-1 expansion** — full-vision systems that can ship after GA without
  invalidating the launch promise. This is §95-§125 unless a section says
  otherwise.
- **[P3] Full-vision stretch** — Year-2+ or DLC-funded systems. This is
  §126-§140.

Explicit `[P2]` / `[P3]` tags on headers or bullets override the numeric
default. Overrides can only move work later. Moving work earlier or later
outside this map requires an ADR at `V4/docs/decisions/phase-cut-<task>.md`.

## Acceptance-criteria convention

Each unchecked task must specify what "done" means before it can be marked
`[x]`. Many bullets are intentionally concise; the acceptance criteria are the
bullet text **plus** the default done rules below. Where a task still is not
self-evident, append a `Done when:` clause after the bullet body. Format:

```
- [ ] Implement <thing>. Done when: <observable / measurable assertion>.
```

Default done rules by task type:

- **Create / implement a C++ module or plugin:** target directory exists with
  `.Build.cs`, module class, `Public/`, `Private/`, at least one real runtime or
  editor type matching the stated responsibility, unit / automation coverage,
  and integration into `V4.uproject` or the owning plugin manifest. Empty shell
  modules stay unchecked.
- **Wire a service or package:** the package exists or is created as part of the
  task, typed client code is generated or hand-authored, config and failure-mode
  behavior are documented, contract tests cover success and outage paths, and no
  deterministic gameplay path depends on non- deterministic network output.
- **Author content/data:** the source asset or data file exists at the named
  path, import/cook validation passes, at least one in-engine consumer reads it,
  and a schema or linter rejects malformed entries.
- **Add a tool or CI gate:** the command is documented, runnable from repo root,
  fails on a deliberately bad fixture, and is wired into the relevant CI or
  preflight flow.
- **Make a legal/product decision:** an ADR exists under `V4/docs/decisions/`,
  the TODO links to it, and follow-on implementation tasks remain unchecked
  until built.

Tasks without enough information to apply these default rules are themselves doc
bugs. Fix the task before implementing it; do not guess silently.

## Audit status (2026-05-31)

A meticulous verification pass found the V4 game-logic, simulation, data, and
CI-gate layers to be genuinely and expertly implemented (real domain algorithms,
deterministic netcode, value-asserting tests, CI gates that catch mutated data).
**13 tasks were found attested rather than implemented** — all-true status
structs / no-op "Run" functions / self-fulfilling perf gates that contradict the
task's action verb. Disposition:

**Update (2026-05-31, later):** the on-box UE5.5.4 engine WAS located
(`/root/workspace/UnrealEngine-5.5`, on the `/dev/sdb` volume a `find / -xdev`
skips). The full `V4Editor` target now **builds clean** against it (the 42K LOC
had never been compiled), and the UE automation suite **runs** as `ueagent`.
Building+running surfaced and fixed real bugs (commit `d2c091ae3d`):
test-harness world/subsystem-outer defects, a **systemic GAS magnitude bug**
(FScalableFloat constant ignored spec Level → every attribute effect applied
~1), and a telemetry batching bug — **108/109 specs green, 0 crashes**.

Disposition of the 13 attested tasks:

- **§56.1 OAuth — re-implemented (RFC 6749 + 7636 PKCE) and re-checked `[x]`.**
  `apps/v4/online-services/src/oauth.rs`, 21/21 cargo tests green.
- **§13.1 Mass — re-checked `[x]`.** The six Mass modules are linked and
  GetMassIntegrationStatus() now derives flags from real `FModuleManager` state;
  V4.Crowd.PerformanceBudget green on-engine. (ECS-processor migration noted as
  larger follow-up.)
- **§50.3 Steam Audio + Resonance — re-checked `[x]` (×2).** Both engine plugins
  enabled in V4.uproject; provider flags derived from real `IPluginManager`
  enabled-state; V4.Audio.Modulation green on-engine.
- **9 remain `[ ]`**: §16.4 + §43.2 Chaos destruction, §29 (×2) + §31 feel-gate
  profiles, §67.1-3 (×4) PSO/shader/preload. These need **cooked content the
  repo does not contain** (Chaos geometry-collection assets, captured PSO cache
  files, and a running 200-pop / 60fps game scene to profile) — even with the
  engine, they cannot be implemented-and-validated without that content, and the
  "without stutter / 60 fps" feel-gates are unmeasurable without a profiled run.
  Their fabrications are documented in the inline notes; they stay honestly
  unchecked rather than re-faked.

Systemic concerns left checked (core logic is real, so individual real-logic
tasks were not reverted, but note for follow-up): (a) mode plugins implement
real per-mode logic but **`RegisterMode()` is called only in tests** — no
production path registers any mode into `UV4ModeSubsystem`, and
`V4GameFeatureAction_- ActivateModeAssets` does not call it; (b) the Rust
`online-services` HTTP routers were all `/health → "ok"` stubs — the login
router now mounts real OAuth routes (see §56.1), but the other 12 service
routers (matchmaking/session/replay/leaderboard/anti-cheat/moderation/community/
compliance/social/store/partnership/patch) still expose only `/health` while
their tested service structs go unmounted; (c)
`V4CrossplaySubsystem`/`V4OnlineContractSubsystem` use all-true
platform-integration attestations with no SDK probe; (d)
`ResetQuickMissionRuntimeState` is a no-op and the Hitman persistent-world
community totals add hardcoded baselines (+86980 kills / +2.38M damage); (e)
engine-deferred surfaces (Niagara spawn §51, MetaSounds §50.1, Sequencer/MRQ
§52, MetaHuman §78) are soft-path data with no runtime engine call — defensible
for a source-only repo, but not runtime-verified. The C++ could not be compiled
in the audit environment (no accessible UE5.5 toolchain), so these verdicts are
static-review-based, not a clean compile.

---

## 1. Bootstrap [P0]

### 1.1 Project skeleton

- [x] Create `V4/ue/V4.uproject` with `EngineAssociation` pinned to UE5.5 LTS
      and `Plugins` array seeded with the GameFeatures + GAS plugins enumerated
      in `V4_DEPENDENCIES.md` §2.
- [x] Create `V4/ue/Source/V4/V4.Build.cs` with no module dependencies beyond
      `Engine`, `CoreUObject`, `InputCore` (extra deps added by later TODOs).
- [x] Create `V4/ue/Source/V4/V4.Target.cs` and `V4Editor.Target.cs` pointing at
      platform configs.
- [x] Create `V4/ue/Config/DefaultEngine.ini`, `DefaultGame.ini`,
      `DefaultInput.ini`, `DefaultGameplayTags.ini`, `DefaultEditor.ini`.
- [x] Author per-platform configs under
      `V4/ue/Platforms/{Windows,Mac,     Linux,PS5,PS5Pro,XSX,XSS,Switch2,iOS,Android}/Config/`
      with cooker and culling overrides.
- [x] Set `EditorStartupMap` to `/Game/V4Core/Maps/BootMap`.
- [x] Author `V4/ue/Content/V4Core/Maps/BootMap.umap` (empty world with a player
      start, sky, directional light) so the editor opens with no fatal errors.
- [x] Set up `V4/ue/Plugins/.gitignore` excluding `Saved`, `Intermediate`,
      `DerivedDataCache`.
- [x] Add `V4/.editorconfig` mirroring the repo root conventions.

### 1.2 ADRs

- [x] Author `V4/docs/decisions/0001-engine-version-5-5-lts.md` recording the UE
      5.5 LTS pin.
- [x] Author `V4/docs/decisions/0002-five-ruleset-cells.md` recording the
      five-genre / six-launch-cell scope and the per-ruleset-feel promise.
- [x] Author `V4/docs/decisions/0003-netcode-per-cell.md` recording the choice
      of dedicated client-server (default), deterministic lockstep (RTS), and
      rollback-emulated prediction (twitch PvP).
- [x] Author `V4/docs/decisions/0004-shared-roster.md` recording one unified
      Operator data table across all cells.
- [x] Author `V4/docs/decisions/0005-game-features-plugins.md` recording modular
      plugin per mode.
- [x] Author `V4/docs/decisions/0006-no-denuvo.md` recording the explicit choice
      not to use third-party DRM.
- [x] Author `V4/docs/decisions/0007-perforce-for-binary-git-for-source.md`
      recording the split-VCS decision.
- [x] Author `V4/docs/decisions/0008-anti-cheat-eac.md` recording the Easy
      Anti-Cheat default.
- [x] Author `V4/docs/decisions/0009-launch-platforms.md` recording the 9 launch
      platforms.
- [x] Author `V4/docs/decisions/0010-mass-entity-for-crowds.md` recording Mass
      Entity choice for Hitman-class crowd density.

### 1.3 CI / preflight scaffolding

- [x] Wire `V4/.ci/preflight.sh` that runs (1) `git lfs status`, (2)
      `pnpm -F @v4/scripts lint`, (3) `cargo fmt --check` against `apps/v4/`,
      (4) `ue-asset-linter` against `V4/ue/Content`.
- [x] Add `.github/workflows/v4-pr-gate.yml` running preflight + UE5.5
      automation smoke test on Windows + Linux runners.
- [x] Add `.github/workflows/v4-nightly-feel-tests.yml` running the Gauntlet
      feel-test suite for all six launch cells on Linux dedicated- server
      build + Windows client build.
- [x] Add `.github/workflows/v4-merge-gate.yml` running golden-replay regression
      suite on the merge commit.

### 1.4 Asset linter (V4Tools_AssetLinter)

- [x] Create plugin scaffold `V4/ue/Plugins/V4Tools_AssetLinter/` with
      `.uplugin`, module class, and editor-only menu entry "Lint V4 Content".
- [x] Implement asset-name regex check (per-asset-type naming convention per
      `V4_features.md` § "Project Layout").
- [x] Implement texture-size budget check (no texture > 4096² at base mip; flag
      any > 2048² for review).
- [x] Implement animation budget check (compression on, no uncompressed tracks
      in shipping config).
- [x] Implement mesh poly-count budget check (per archetype).
- [x] Implement reference-chain check (no orphan blueprints, no broken asset
      references in shipping config).
- [x] Implement localization-key coverage check (every UMG text-block with
      display text has a key).
- [x] Implement plugin-dependency cycle check.
- [x] Wire lint into preflight (§1.3) and merge gate.

### 1.5 Data linter (V4Tools_DataLinter)

- [x] Create plugin scaffold `V4/ue/Plugins/V4Tools_DataLinter/`.
- [x] Validate DT_Operator schema (every row has display name, faction, mesh
      references, voice library ref).
- [x] Validate DT_Weapon schema (every row has recoil curve, damage table,
      fire-rate).
- [x] Validate DT_Attachment schema (every row has weapon-class compatibility
      set).
- [x] Validate DT_Gadget schema.
- [x] Validate DT_RTSUnit schema.
- [x] Validate DT_Map schema.
- [x] Validate DT_Mission schema.
- [x] Validate DT_Schedule schema (no orphan nodes, closed cycle).
- [x] Validate DT_DisguiseClass schema.
- [x] Wire data lint into preflight (§1.3).

---

## 2. Subsystem Glossary [P0]

### 2.1 GameplayTag registry

- [x] Author `V4/ue/Config/DefaultGameplayTags.ini` with the per-cell tag
      hierarchies enumerated in `V4_ARCHITECTURE.md` § "GameplayTags":
      `Tactical.*`, `Stealth.*`, `Tactics.*`, `ARPG.*`, `RTS.*`, `Arcade.*`,
      `Operator.*`, `Faction.*`, `Mission.*`, `Weapon.*`, `Gadget.*`,
      `Disguise.*`, `Schedule.*`, `Perception.*`.
- [x] Wire `UV4GameplayTagsManager` subsystem to validate tags at startup.

### 2.2 Module manifest

- [x] Author `V4/ue/V4.uproject` `Modules` array listing every engine module
      from `V4_ARCHITECTURE.md` § "Module Split".
- [x] Document every module's purpose in `V4/docs/modules.md`.

---

## 3. Module Split [P0]

Each subsection below creates one engine module. The module gets `.Build.cs`,
`Public/`, `Private/`, a module class, the first real runtime type listed in
`V4_ARCHITECTURE.md` § "Module Split", and unit tests.

### 3.1 V4Core

- [x] Create `V4/ue/Source/V4Core/V4Core.Build.cs` with deps `Engine`,
      `CoreUObject`, `InputCore`, `Slate`, `SlateCore`.
- [x] Implement `FV4CoreModule` (module class) with `StartupModule` /
      `ShutdownModule`.
- [x] Implement `UV4GameInstance` (extends UE GameInstance) with hooks for
      cell-state transitions.
- [x] Implement `UV4SaveGameSubsystem` (extends GameInstanceSubsystem) for
      save/load orchestration.
- [x] Implement `UV4DevCheatsSubsystem` with `god`, `noclip`, `give`,
      `teleport`, `setcell` commands; gated on `WITH_EDITOR || UE_BUILD_DEBUG`.
- [x] Unit-test save/load round-trip in
      `V4Tests/Private/V4CoreTests/SaveGameSpec.cpp`.

### 3.2 V4Gameplay

- [x] Create `V4/ue/Source/V4Gameplay/V4Gameplay.Build.cs` with deps `V4Core`,
      `GameplayAbilities`, `GameplayTags`, `GameplayTasks`.
- [x] Implement `UV4AbilitySystemComponent` extending UE's ASC with
      cell-specific event hooks.
- [x] Implement `UV4AttributeSetBase` and per-cell attribute sets:
      `UV4Attr_Tactical`, `UV4Attr_Stealth`, `UV4Attr_Tactics`, `UV4Attr_ARPG`,
      `UV4Attr_RTS`, `UV4Attr_Arcade`.
- [x] Implement `UV4MatchStateSubsystem` (extends GameInstanceSubsystem) with
      MatchSetup → MatchPlay → MatchResult transitions.
- [x] Implement `UV4Pawn_Operator` extending Pawn with ASC + AttributeSet
      composition based on current cell.
- [x] Unit-test GAS ability activation in
      `V4Tests/Private/V4GameplayTests/AbilitySpec.cpp`.

### 3.3 V4Tactical

- [x] Create `V4/ue/Source/V4Tactical/V4Tactical.Build.cs` with deps `V4Core`,
      `V4Gameplay`, `V4Animation`, `V4Input`, `EnhancedInput`.
- [x] Implement `FV4WeaponBase` with attribute set integration.
- [x] Implement `UV4WeaponRecoilCurveAsset` for per-weapon recoil patterns.
- [x] Implement `UV4AimComponent` for ADS state machine (hipfire ↔ ADS).
- [x] Implement `UV4StanceComponent` for stance state (stand, crouch, prone)
      with sound footprint hooks.
- [x] Implement `UV4CoverComponent` for cover-snap, lean-peek, free-aim cover.
- [x] Implement `UV4WeaponSwitchComponent` for primary/secondary/melee slot
      switching.
- [x] Implement `UV4GrenadeComponent` for grenade arc preview + throw.
- [x] Implement `UV4ReviveComponent` for downed/revive flow.
- [x] Implement `UV4WeaponAttachmentComponent` for 6-slot attachment system.
- [x] Unit-test recoil curve sampling in
      `V4Tests/Private/V4TacticalTests/RecoilSpec.cpp`.
- [x] Unit-test cover-snap geometry in
      `V4Tests/Private/V4TacticalTests/CoverSpec.cpp`.

### 3.4 V4Stealth

- [x] Create `V4/ue/Source/V4Stealth/V4Stealth.Build.cs` with deps `V4Core`,
      `V4Gameplay`, `V4Perception`.
- [x] Implement `UV4LightGaugeComponent` with `OnLightLevelChanged` event.
- [x] Implement `UV4SoundFootprintComponent` with per-stance / per-surface
      radius lookup.
- [x] Implement `UV4BodyDragComponent` with attach-body / drop-body flow.
- [x] Implement `UV4DisguiseComponent` with class-id, allowed-zone, and enforcer
      check.
- [x] Implement `UV4StealthGadgetComponent` umbrella for sticky-cam, EMP,
      optic-cable, sleeping-gas, sticky-shocker.
- [x] Implement `UV4MarkAndExecuteComponent` for Conviction-style multi- target
      mark/execute.
- [x] Unit-test light gauge sampling in
      `V4Tests/Private/V4StealthTests/LightGaugeSpec.cpp`.
- [x] Unit-test disguise enforcer flag in
      `V4Tests/Private/V4StealthTests/DisguiseSpec.cpp`.

### 3.5 V4Tactics

- [x] Create `V4/ue/Source/V4Tactics/V4Tactics.Build.cs` with deps `V4Core`,
      `V4Gameplay`, `V4Perception`, `V4Schedules`.
- [x] Implement `UV4PartyComponent` managing 6-member squad and per- member
      focus.
- [x] Implement `UV4CommandQueueComponent` for queued actions (move, attack,
      item-use, distraction).
- [x] Implement `UV4ShowdownModeSubsystem` for time-stop + synchronous- action
      queue + dependency resolver.
- [x] Implement `UV4VisionConeComponent` (collaborates with V4Perception) for
      cone rendering on ground.
- [x] Implement `UV4SpecialistAbilitiesComponent` umbrella for per- character
      verbs (lasso, coin, perfume, mind-control, etc.).
- [x] Implement `UV4BodyDisposalComponent` (drag + hide in container).
- [x] Unit-test Showdown queue dependency resolver in
      `V4Tests/Private/V4TacticsTests/ShowdownSpec.cpp`.
- [x] Unit-test command queue ordering in
      `V4Tests/Private/V4TacticsTests/CommandSpec.cpp`.

### 3.6 V4ActionRPG

- [x] Create `V4/ue/Source/V4ActionRPG/V4ActionRPG.Build.cs` with deps `V4Core`,
      `V4Gameplay`, `V4Animation`.
- [x] Implement `UV4HeroComboComponent` with light/heavy/super-heavy combo chain
      state machine.
- [x] Implement `UV4StaminaComponent` with per-action stamina cost + regen.
- [x] Implement `UV4PostureComponent` for enemy posture meter.
- [x] Implement `UV4ParryComponent` with frame-perfect parry window (6-frame
      default) and on-success counter prompt.
- [x] Implement `UV4DodgeComponent` with i-frames (9-frame default).
- [x] Implement `UV4TransformationComponent` with per-form moveset and HP pool.
- [x] Implement `UV4CharmComponent` for equippable charms (4 slots base).
- [x] Implement `UV4SpellCraftComponent` for Pillar-stance, Cloud-step,
      Body-double, Hair-splitting verbs.
- [x] Unit-test parry window resolution in
      `V4Tests/Private/V4ActionRPGTests/ParrySpec.cpp`.
- [x] Unit-test stamina regen in
      `V4Tests/Private/V4ActionRPGTests/StaminaSpec.cpp`.

### 3.7 V4RTS

- [x] Create `V4/ue/Source/V4RTS/V4RTS.Build.cs` with deps `V4Core`,
      `V4Gameplay`, `V4Netcode`.
- [x] Implement `UV4ResourceComponent` for Ore + Crystal economy.
- [x] Implement `UV4BuildComponent` for placing structures.
- [x] Implement `UV4TrainComponent` for queue-based unit production.
- [x] Implement `UV4FogOfWarComponent` with explored / visible / vision states.
- [x] Implement `UV4TechTreeComponent` with per-faction tech research gating.
- [x] Implement `UV4PathfindingSubsystem` with deterministic A\* + flow- field
      group movement.
- [x] Implement `UV4UnitGroupComponent` for hotkey'd unit groups.
- [x] Implement `UV4AgeUpComponent` for AoE-cell age progression.
- [x] Implement `UV4WonderComponent` for AoE-cell wonder building.
- [x] Unit-test resource gathering rate in
      `V4Tests/Private/V4RTSTests/EconomySpec.cpp`.
- [x] Unit-test fog-of-war reveal in `V4Tests/Private/V4RTSTests/FogSpec.cpp`.
- [x] Unit-test pathfinding determinism in
      `V4Tests/Private/V4RTSTests/PathSpec.cpp` (same seed = same path).

### 3.8 V4Arcade

- [x] Create `V4/ue/Source/V4Arcade/V4Arcade.Build.cs` with deps `V4Core`,
      `V4Gameplay`, `V4Animation`, `Paper2D`.
- [x] Implement `UV4SideScrollComponent` with camera follow + screen-edge
      clamping.
- [x] Implement `UV4WeaponPickupComponent` (Spread, Laser, Machine Gun, Fire,
      Crush, Homing, Barrier).
- [x] Implement `UV4PowerUpComponent` for powered-up state.
- [x] Implement `UV4LivesComponent` for life tracking + continues.
- [x] Implement `UV4DropPlatformComponent` for drop-through platforms.
- [x] Implement `UV4LadderClimbComponent` for ladder climbing.
- [x] Unit-test weapon switch in `V4Tests/Private/V4ArcadeTests/WeaponSpec.cpp`.
- [x] Unit-test life decrement on hit in
      `V4Tests/Private/V4ArcadeTests/LivesSpec.cpp`.

### 3.9 V4Perception

- [x] Create `V4/ue/Source/V4Perception/V4Perception.Build.cs` with deps
      `V4Core`, `AIModule`, `NavigationSystem`.
- [x] Implement `UV4PerceptionComponent` extending AIPerception with V4 stimuli.
- [x] Implement `UV4SuspicionStateMachine` (Calm/Curious/Alert/Hostile).
- [x] Implement stimulus aggregator: combine multiple stimuli into single
      suspicion update.
- [x] Implement alert-propagation broadcast to allies within radius.
- [x] Implement faction recognition (NPC factions for disguise check).
- [x] Implement detection-time scaling: closer = faster detection; enforcer =
      halved detection time.
- [x] Implement decay (suspicion drops over time without stimulus).
- [x] Unit-test stimulus aggregation in
      `V4Tests/Private/V4PerceptionTests/StimulusSpec.cpp`.
- [x] Unit-test decay rates in
      `V4Tests/Private/V4PerceptionTests/DecaySpec.cpp`.

### 3.10 V4Crowd

- [x] Create `V4/ue/Source/V4Crowd/V4Crowd.Build.cs` with deps `V4Core`,
      `V4Perception`, `MassEntity`, `MassNavigation`, `MassAIBehavior`,
      `MassMovement`, `MassReplication`, `MassSignals`.
- [x] Implement `UV4CrowdSubsystem` for population management (400-NPC target).
- [x] Implement crowd tiers: Background / Medium / Hero.
- [x] Implement tier-transition heuristic (distance + relevance).
- [x] Implement panic propagation Mass-signal handler.
- [x] Implement disguise check via Mass-signal on line-of-sight.
- [x] Implement performance budget enforcement (auto-demote NPCs if Mass tick >
      budget).
- [x] Unit-test panic propagation speed in
      `V4Tests/Private/V4CrowdTests/PanicSpec.cpp`.
- [x] Unit-test 400-NPC tick time on PS5-class CPU in
      `V4Tests/Private/V4CrowdTests/PerfSpec.cpp` (≤ 8 ms).

### 3.11 V4Schedules

- [x] Create `V4/ue/Source/V4Schedules/V4Schedules.Build.cs` with deps `V4Core`,
      `V4Crowd`, `V4Perception`.
- [x] Implement `UV4ScheduleAsset` (UAsset with timeline of nodes).
- [x] Implement `UV4ScheduleComponent` (per-NPC schedule runtime).
- [x] Implement task verbs: WalkTo, StandIdle, SitOnBench, DrinkAtBar,
      TalkToNPC, UseToilet, PatrolLoop, SmokeCigarette, Pray, PoseForPhoto.
- [x] Implement schedule-hook events (e.g., player triggers schedule
      transition).
- [x] Implement deterministic schedule clock (server-authoritative).
- [x] Implement schedule editor widget for authoring.
- [x] Unit-test schedule loop in
      `V4Tests/Private/V4SchedulesTests/LoopSpec.cpp`.

### 3.12 V4Animation

- [x] Create `V4/ue/Source/V4Animation/V4Animation.Build.cs` with deps `V4Core`,
      `AnimGraphRuntime`, `PoseSearch`, `Mover`, `Chooser`, `MotionWarping`.
- [x] Author base `ABP_Operator_Master` with cover/ADS/crouch/prone/body- drag
      slots.
- [x] Author `ABP_RTSUnit_Master` with per-faction overrides.
- [x] Author `ABP_RTST_Specialist_Master` with squad-pose layered slots.
- [x] Author `ABP_ARPGHero_Master` with combo state machine + parry/ dodge
      slot + transformation morph.
- [x] Author `ABP_NPC_Civilian` with idle/panic/drop-and-cover/run.
- [x] Author `ABP_2DOperator` for Paper2D Contra-cell flipbook control.
- [x] Implement `UV4MotionWarpingHandler` for breach/throw/finisher alignment.
- [x] Author IKRig assets for each body archetype (Adult Male, Adult Female,
      Adolescent, Animal Quadruped, Animal Biped).
- [x] Implement chooser table for hit-reaction selection.
- [x] Implement chooser table for wakeup-from-ground selection.
- [x] Unit-test AnimBP compilation in
      `V4Tests/Private/V4AnimationTests/AnimBPCompileSpec.cpp`.

### 3.13 V4Input

- [x] Create `V4/ue/Source/V4Input/V4Input.Build.cs` with deps `V4Core`,
      `EnhancedInput`.
- [x] Author IMCs: `IMC_Tactical`, `IMC_Stealth`, `IMC_Tactics`, `IMC_ARPG`,
      `IMC_RTS`, `IMC_Arcade`, `IMC_UI`.
- [x] Implement `UV4InputRouter` with push/pop IMC stack.
- [x] Implement `UV4MotionParser` (motion-input parser for ARPG combos).
- [x] Implement cover-stick input modifier for tactical FPS.
- [x] Implement tac-map cursor for Raven Shield planning step.
- [x] Author Input Actions: `IA_Fire`, `IA_Reload`, `IA_ADS`, `IA_Lean`,
      `IA_PlanWaypoint`, `IA_FireQueued`, `IA_ShowdownToggle`, `IA_Parry`,
      `IA_BuildStructure`, `IA_Shoot2D`.
- [x] Unit-test motion parser in `V4Tests/Private/V4InputTests/MotionSpec.cpp`.

### 3.14 V4Netcode

- [x] Create `V4/ue/Source/V4Netcode/V4Netcode.Build.cs` with deps `V4Core`,
      `NetworkPrediction`, `Iris`, `OnlineSubsystem`.
- [x] Implement `UV4ServerAuthorityComponent` for hit-reg and lag compensation.
- [x] Implement `UV4RTSLockstepSubsystem` (custom deterministic lockstep
      engine).
- [x] Implement `UV4RollbackEmulatedComponent` for tight twitch PvP prediction
      (TDM, S&D, Spies-vs-Mercs).
- [x] Implement bandwidth budget enforcement via `ReplicationGraph` bands.
- [x] Implement desync recovery for lockstep.
- [x] Unit-test hit-reg lag compensation in `V4NetcodeTests/HitRegSpec.cpp`.
- [x] Unit-test lockstep determinism (same inputs = same state hash) in
      `V4NetcodeTests/LockstepSpec.cpp`.

### 3.15 V4Modes

- [x] Create `V4/ue/Source/V4Modes/V4Modes.Build.cs` with deps `V4Core`,
      `V4Gameplay`, `ModularGameplay`, `GameFeatures`.
- [x] Implement `UV4ModeSubsystem` for mode registry and transitions. (note
      2026-06-12: the subsystem's registry/transition logic is real and
      spec-tested, but no production path calls `RegisterMode()` — see the
      re-marked GameFeatureAction task below and audit item (b).)
- [x] Implement per-mode `UGameFeatureAction` for asset activation. (implemented
      2026-06-13: `V4GameFeatureAction_ActivateModeAssets` now streams its
      activation assets via the asset manager, builds an `FV4ModeDefinition`,
      and registers it with every game instance's `UV4ModeSubsystem` (incl.
      instances that start while the feature is active); a new
      `UV4ModeBootstrapSubsystem` discovers all 29 per-mode `DA_*` stand-ins at
      game-instance init and registers them for real, so modes are reachable in
      a running client. Verified by
      `V4.Modes.GameFeatureAction.ActivationAssets` (streams real engine assets,
      registers+transitions) and `V4.Modes.Bootstrap.StandInDiscovery` (29 modes
      discovered+registered+transitionable); verified on-box 2026-06-13: full
      V4. automation suite 113/113 green on the UE5.5 source build (run as
      ueagent).)
- [x] Implement `UV4ModeRoutingActor` for inter-mode transitions.
- [x] Implement Quick-Play playlist runner.

### 3.16 V4UI

- [x] Create `V4/ue/Source/V4UI/V4UI.Build.cs` with deps `V4Core`, `UMG`,
      `CommonUI`, `ModelViewViewModel`.
- [x] Implement `UV4UIBootstrapSubsystem` for front-end shell init.
- [x] Author CommonUI input-style routing assets.
- [x] Implement `UV4MVVMRegistry` for per-screen view-model bindings.
- [x] Author front-end shell maps under `Content/UI/`:
  - [x] Main menu
  - [x] Cell selector
  - [x] Mode selector per cell
  - [x] Loadout / Operator picker
  - [x] Loadout editor
  - [x] Settings (Display, Audio, Controls, Accessibility, Network)
  - [x] Social / Friends / Parties / Chat
  - [x] Store
  - [x] Codex
  - [x] Roadmap viewer
  - [x] Patch notes / What's New
- [x] Implement focus graph per screen.
- [x] Implement per-cell HUD blueprints:
  - [x] HUD_TacticalFPS (crosshair, health, ammo, mini-map, killfeed)
  - [x] HUD_Stealth (light-gauge bow-tie, suspicion radius, disguise)
  - [x] HUD_Tactics (top-down floor plan, party portraits, command queue)
  - [x] HUD_ARPG (HP/stamina/will/posture, charm slots, lock-on)
  - [x] HUD_RTS (resource ticker, build menu, mini-map, group hotkeys)
  - [x] HUD_Arcade (score, lives, weapon icon, boss health)

### 3.17 V4Audio

- [x] Create `V4/ue/Source/V4Audio/V4Audio.Build.cs` with deps `V4Core`,
      `MetasoundEngine`, `AudioModulation`, `AudioGameplayVolume`.
- [x] Implement `UV4AudioBootstrapSubsystem` for runtime audio init.
- [x] Implement `UV4MusicStackSubsystem` with per-cell music layering.
- [x] Implement `UV4VoiceBarkSubsystem` for per-operator bark dispatch.
- [x] Implement `UV4FoleyComponent` for footstep + stance audio.
- [x] Implement `UV4SpatialAudioBridge` for SC stealth (optional Steam Audio).
- [x] Author MetaSound patches:
  - [x] Weapon foley (firing, reload, handling) per weapon class
  - [x] Voice bark patches with random pool selection
  - [x] Music stacks (per cell, per stack)
  - [x] Stage ambience (per map)
  - [x] UI SFX
  - [x] Vehicle audio (engine, exhaust, tire-on-surface)

### 3.18 V4VFX

- [x] Create `V4/ue/Source/V4VFX/V4VFX.Build.cs` with deps `V4Core`, `Niagara`.
- [x] Implement `UV4VFXSpawnerSubsystem` for VFX dispatch.
- [x] Author Niagara systems:
  - [x] Muzzle flash per weapon class
  - [x] Blood decals per damage type
  - [x] Debris (Chaos Destruction → Niagara spawn)
  - [x] Weather (rain, snow, fog)
  - [x] Environmental effects (volumetric fog, sandstorm, smoke)
  - [x] Wukong combat VFX (sparks, fire trails, transformation auras)
  - [x] RTS unit projectile VFX per faction
  - [x] 2D arcade VFX (Niagara sprite particles)
- [x] Implement VFX LOD buckets (Hero / Medium / Background).

### 3.19 V4Cinematics

- [x] Create `V4/ue/Source/V4Cinematics/V4Cinematics.Build.cs` with deps
      `V4Core`, `MovieScene`, `Sequencer`, `MovieRenderPipelineCore`.
- [x] Implement `UV4CinematicSubsystem` for Sequencer-driven cinematics.
- [x] Implement `UV4SlowMoSubsystem` for time-dilation effects (CoD death cam,
      Wukong critical hit).
- [x] Implement Sequencer track templates per cell.
- [x] Implement camera-language presets per cell (cinematography library).
- [x] Author cinematic asset templates for: campaign openers, boss intros, ARPG
      finishers, takedown cinematics.

### 3.20 V4Persistence

- [x] Create `V4/ue/Source/V4Persistence/V4Persistence.Build.cs` with deps
      `V4Core`, `Serialization`.
- [x] Implement `UV4SaveGameBase` with per-cell save slot support.
- [x] Implement `UV4ProfileSubsystem` for cosmetic / XP / settings.
- [x] Implement `UV4CurrencyLedger` for currency transactions with audit trail.
- [x] Implement `UV4ContractProgressSubsystem` for Hitman contract state.
- [x] Implement `UV4ReplayStoreSubsystem` for local + cloud replay management.
- [x] Implement cross-platform save sync via OnlineServices SaveGame.
- [x] Implement save versioning + migration.
- [x] Unit-test save round-trip in `V4PersistenceTests/RoundTripSpec.cpp`.

### 3.21 V4OnlineServices

- [x] Create `V4/ue/Source/V4OnlineServices/V4OnlineServices.Build.cs` with deps
      `V4Core`, `OnlineSubsystem`, `OnlineServicesInterface`,
      `OnlineServicesCommon`, `EOSShared`.
- [x] Implement `UV4LoginSubsystem` with platform-aware login flow.
- [x] Implement `UV4FriendsSubsystem` with cross-platform friend graph.
- [x] Implement `UV4PartySubsystem` for party formation + invites.
- [x] Implement `UV4MatchmakingSubsystem` with skill-based queue.
- [x] Implement `UV4SessionSubsystem` for session lifecycle.
- [x] Implement `UV4LeaderboardSubsystem` for per-mode leaderboards.
- [x] Implement `UV4ReplayUploadSubsystem` for cloud replay upload.
- [x] Implement `UV4PresenceSubsystem` for presence display in friend lists.
- [x] Implement contract tests against EOS / PSN / XBL / NN / Steam / Apple /
      Google.

### 3.22 V4Telemetry

- [x] Create `V4/ue/Source/V4Telemetry/V4Telemetry.Build.cs` with deps `V4Core`,
      `HTTP`, `Json`.
- [x] Implement `UV4TelemetrySubsystem` with batched event queue.
- [x] Implement event schema serializer (JSON).
- [x] Implement offline persistence with retry on reconnect.
- [x] Implement opt-out support per region (GDPR / CCPA).
- [x] Implement secure transport (HTTPS + cert pinning).

### 3.23 V4Editor

- [x] Create `V4/ue/Source/V4Editor/V4Editor.Build.cs` with deps `V4Core`,
      `UnrealEd`, `EditorSubsystem`, `EditorScriptingUtilities`.
- [x] Implement `FV4EditorModule` with editor menu registration.
- [x] Implement `FConeAuthoringWidget` (vision cone preview tool).
- [x] Implement `FScheduleEditorWidget` (drag-and-drop schedule nodes).
- [x] Implement `FFrameDataInspector` (per-attack frame data viewer).
- [x] Implement `FRecoilCurveInspector` (recoil pattern visualizer).
- [x] Implement `FRTSMapEditor` (terrain sculpt + resource patches + start
      positions).
- [x] Implement `F2DStageEditor` (grid-snap pixel art + hazard placement).
- [x] Implement `FContractAuthorWidget` (Hitman contract authoring).
- [x] Implement `FMissionEditorWidget` (per-cell mission template).

### 3.24 V4Vehicles

- [x] Create `V4/ue/Source/V4Vehicles/V4Vehicles.Build.cs` with deps `V4Core`,
      `V4Gameplay`, `ChaosVehicles`.
- [x] Implement `AV4VehicleBase` extending UE Vehicle Pawn.
- [x] Implement `AV4Vehicle_Helo` for helicopter (Little Bird, Huey).
- [x] Implement `AV4Vehicle_Snowmobile` for snowmobile.
- [x] Implement `AV4Vehicle_Humvee` for light recon.
- [x] Implement `AV4Vehicle_Tank` for drivable tank.
- [x] Implement `AV4Vehicle_CargoTruck` for transport.
- [x] Implement `AV4Vehicle_Horse` for Desperados horse.
- [x] Implement `AV4Vehicle_Sailboat` for Commandos Norway.
- [x] Implement `AV4Vehicle_Submarine` for CoD setpiece.
- [x] Implement `AV4Vehicle_Galley` for AoE Historical RTS naval.
- [x] Implement vehicle door-gunner mount system.
- [x] Implement vehicle damage states.

### 3.25 V4Procgen

- [x] Create `V4/ue/Source/V4Procgen/V4Procgen.Build.cs` with deps `V4Core`,
      `PCG`.
- [x] Implement `UV4ProcgenSubsystem` for procedural mission generation.
- [x] Author per-cell PCG graphs.
- [x] Implement chunk constraint solver.
- [x] Implement playability validator (bot path-finder test).
- [x] Implement determinism (seed → identical layout).
- [x] Implement daily-mission server seed dispatch.

### 3.26 V4LevelOps

- [x] Create `V4/ue/Source/V4LevelOps/V4LevelOps.Build.cs` with deps `V4Core`,
      `V4Schedules`.
- [x] Implement `UV4LevelOpsSubsystem` for environmental-kill graph,
      story-script glue.
- [x] Implement environmental-kill graph asset (`UV4EnvKillGraph`).
- [x] Implement story-script trigger system (`UV4StoryScriptComponent`).
- [x] Implement crowd-density profile per map.

### 3.27 V4Tests

- [x] Create `V4/ue/Source/V4Tests/V4Tests.Build.cs` with deps `V4Core`,
      `Gauntlet`, `FunctionalTesting`.
- [x] Implement Gauntlet driver per cell.
- [x] Implement golden-replay harness.
- [x] Implement feel-test suite scaffolding.

---

## 4. GAS Layout [P0]

### 4.1 Attribute sets

- [x] Implement `UV4Attr_Tactical` with Health, Armor, Suppression,
      StaminaSprint, AmmoCurrent, AmmoReserve.
- [x] Implement `UV4Attr_Stealth` with Health, Detection, DisguiseClass, Noise.
- [x] Implement `UV4Attr_Tactics` with Health, ActionPoints, Vision.
- [x] Implement `UV4Attr_ARPG` with Health, Stamina, Posture, Will, Mana.
- [x] Implement `UV4Attr_RTS` with UnitHealth, UnitArmor, UnitAttack, UnitRange,
      UnitMovementSpeed, UnitSightRange.
- [x] Implement `UV4Attr_Arcade` with Health (default 1), Lives,
      ScoreMultiplier.
- [x] Author `GE_*` GameplayEffects for attribute modification per cell (damage,
      heal, suppression-apply, stamina-cost, etc.).

### 4.2 Ability classes

- [x] Implement Tactical ability classes: GA_Fire, GA_Reload, GA_ADS, GA_Lean,
      GA_ThrowGrenade, GA_BreachStack, GA_Revive, GA_Heal.
- [x] Implement Stealth ability classes: GA_Crouch, GA_BodyDrag, GA_LightKill,
      GA_StickyCam, GA_MarkAndExecute, GA_Disguise.
- [x] Implement Tactics ability classes: GA_PlanQueueWaypoint, GA_FireQueued,
      GA_ShowdownToggle.
- [x] Implement ARPG ability classes: GA_LightAttack, GA_HeavyAttack, GA_Dodge,
      GA_Parry, GA_Transform, GA_CastCharm.
- [x] Implement RTS ability classes: GA_BuildStructure, GA_TrainUnit,
      GA_ResearchTech, GA_AttackMove.
- [x] Implement Arcade ability classes: GA_Shoot, GA_Jump, GA_DropPlatform.

### 4.3 Effect stacking

- [x] Implement Health restore stacks (additive to max-clamp).
- [x] Implement Damage with armor mitigation.
- [x] Implement Suppression with 2 s decay.
- [x] Implement ARPG Posture damage with 3 s decay.
- [x] Implement RTS unit damage (instant, additive).

---

## 5. Animation Pipeline [P0]

### 5.1 AnimBlueprints

- [x] Author `ABP_Operator_Master`, `ABP_RTSUnit_Master`,
      `ABP_RTST_Specialist_Master`, `ABP_ARPGHero_Master`, `ABP_NPC_Civilian`,
      `ABP_2DOperator`.
- [x] Author `ABP_NPC_Hostile_FPS` for tactical-cell hostile NPCs.
- [x] Author `ABP_NPC_Hostile_RTST` for RTST patrol NPCs.
- [x] Author `ABP_Vehicle_Driver` for vehicle-mount poses.
- [x] Author `ABP_Vehicle_Gunner` for vehicle door-gunner poses.

### 5.2 Motion matching

- [x] Configure Motion Matching dataset per cell (Hitman sandbox, Wukong open
      areas).
- [x] Set pose-history buffer depth = 8 frames.
- [x] Set trajectory length = 600 ms.
- [x] Set distance-field cost factors (stance, velocity, acceleration, facing).
- [x] Bake dataset per character archetype.

### 5.3 IK retargeting

- [x] Author IKRig assets (Adult Male, Adult Female, Adolescent, Animal
      Quadruped, Animal Biped).
- [x] Author retargeter chain for MetaHuman → Operator skeleton.
- [x] Author retargeter chain for Mixamo → Operator skeleton.

### 5.4 MetaHuman pipeline

- [x] Set up MetaHuman Creator workflow.
- [ ] Set up MetaHuman Animator for facial mocap. (re-marked [x]→[~] 2026-06-12:
      a facial-mocap capture setup is studio tooling + recording hardware
      outside this repo; the audit (item e) found the MetaHuman surface is
      soft-path data with no runtime engine call, so the setup cannot be
      verified from repo artifacts.) `blocked:hardware`
- [x] Integrate Live Link Face capture.
- [x] Implement lip-sync runtime (OVR or MetaSounds metadata).

---

## 6. Input Pipeline [P0]

### 6.1 Input Mapping Contexts

- [x] Author `IMC_Tactical`, `IMC_Stealth`, `IMC_Tactics`, `IMC_ARPG`,
      `IMC_RTS`, `IMC_Arcade`, `IMC_UI`.

### 6.2 Per-cell input actions

- [x] Author per-cell `IA_*` Input Actions.
- [x] Wire IA → GA activation tags through `GA.Activation.Tag`.

### 6.3 Cover-stick

- [x] Implement cover-stick input modifier on `IA_Move`.
- [x] Author cover-anchor graph per map.

### 6.4 Tac-map cursor

- [x] Implement `V4Tactics::FPlanCursor` shared between Raven Shield planning
      and RTST cone-authoring.

### 6.5 Motion parser

- [x] Implement `V4Input::FMotionParser` with 16-frame window.
- [x] Support charge, partial-circle, half-circle, full-circle, motion- charge
      patterns.

---

## 7. Combat Authority & Determinism [P0]

### 7.1 Hit-reg

- [x] Implement server-authoritative line/cone trace at shot frame.
- [x] Implement client lag compensation (rewind opponent positions to client's
      observed frame; clamp at 300 ms).
- [x] Implement anti-cheat hook (validate trace direction is plausible).
- [x] Implement penetration model for cover/wall hits.

### 7.2 Local determinism

- [x] Implement seedable RNG for single-player and co-op runs.
- [x] Implement replay serializer for PvE replays.

---

## 8. RTS Deterministic Lockstep [P0]

### 8.1 Frame structure

- [x] Implement lockstep tick at 25 Hz.
- [x] Implement input-collection per client.
- [x] Implement server input-broadcast bundle.
- [x] Implement simulation tick advance.

### 8.2 Determinism guarantees

- [x] Implement fixed-point math (32.32) for unit positions.
- [x] Implement deterministic RNG (Splitmix64 seeded per-match).
- [x] Audit pathfinding for floating-point usage; replace with fixed.
- [x] Audit RNG consumption order across all units.

### 8.3 Hash check + desync recovery

- [x] Implement state-hash compute (every 100 ticks).
- [x] Implement hash compare across peers.
- [x] Implement late-joiner rebuild on desync.
- [x] Implement pause threshold (3 s max).

### 8.4 Replay

- [x] Implement input-bundle stream serializer.
- [x] Implement match-config + RNG seed header.
- [x] Implement replay playback runner.

---

## 9. Client-Server Netcode [P0]

### 9.1 Dedicated servers

- [x] Provision dedicated servers in 10 regions (NA-East, NA-West, EU- West,
      EU-East, LATAM, APAC, AU/NZ, ME, Africa, India).
- [x] Wire server-allocation to matchmaking-service.
- [x] Implement server-side anti-cheat router.

### 9.2 Replication Graph

- [x] Author `UReplicationGraphNode` configs per match type.
- [x] Author BR replication bands (A/B/C/D as in
      `arch§"Client-Server Netcode (Tactical PvP, Battle Royale)"`).
- [x] Author Spies-vs-Mercs bands.

### 9.3 Iris

- [x] Migrate non-rollback channels to Iris.
- [x] Validate bandwidth reduction vs legacy net.

### 9.4 Host migration

- [x] Implement host-migration for private rooms (custom games only).
- [x] Validate sub-2-second swap.

---

## 10. Rollback-Emulated Prediction [P1]

### 10.1 Prediction loop

- [x] Implement 8-frame prediction window for movement / firing inputs.
- [x] Implement server-authoritative reconciliation.
- [x] Implement rewind-and-replay on server correction.

### 10.2 Twitch-PvP modes

- [x] Wire prediction into V4Mode_Tactical_CoDMultiplayer TDM.
- [x] Wire prediction into V4Mode_Tactical_CoDMultiplayer S&D.
- [x] Wire prediction into V4Mode_Stealth_SpiesVsMercs.

---

## 11. AI Perception & Suspicion Model [P0]

### 11.1 Sense layer

- [x] Implement Sight sense with cone parameters.
- [x] Implement Hearing sense with stance-aware radius.
- [x] Implement Damage sense.
- [x] Implement Touch sense (NPC-on-NPC contact).
- [x] Implement Faction-Stimulus (alarm trigger, body found).
- [x] Implement Disguise-Check sense.

### 11.2 Suspicion state machine

- [x] Implement four states (Calm/Curious/Alert/Hostile).
- [x] Implement per-state HUD/UI signaling (vision-cone color, NPC animation).
- [x] Implement state transitions with hysteresis (prevent rapid oscillation).

### 11.3 Stimulus pipeline

- [x] Implement stimulus event struct (`FStimulusEvent`).
- [x] Implement stimulus aggregator (combine multiple stimuli into one suspicion
      update).
- [x] Implement faction-membership check for friend/foe.
- [x] Implement decay over 8 s without stimulus.
- [x] Implement perception evaluator tick at 10 Hz (configurable).

### 11.4 Propagation

- [x] Implement alert propagation to allies within 4 m.
- [x] Implement gunfire propagation at 25 m.
- [x] Implement panic propagation at 4 m/s through crowd graph.

### 11.5 Vision cone authoring

- [x] Implement `FConeAuthoringWidget` editor tool.
- [x] Implement cone-as-floor-decal renderer for top-down cells (RTST).
- [x] Implement low-light-falloff parameter.

---

## 12. NPC Schedules [P0]

### 12.1 Schedule asset

- [x] Implement `UV4ScheduleAsset` with timeline of nodes.
- [x] Implement schedule editor widget for designers.

### 12.2 Task verbs

- [x] Implement WalkTo, StandIdle, SitOnBench, DrinkAtBar, TalkToNPC, UseToilet,
      PatrolLoop, SmokeCigarette, Pray, PoseForPhoto.
- [x] Implement task-verb fallback for missing animation assets.

### 12.3 Hooks

- [x] Implement schedule-hook events (e.g., player-picks-up-phone transitions a
      target's schedule).
- [x] Implement determinism (server-authoritative clock).

### 12.4 Per-map schedule authoring

- [x] Author schedules for each Hitman launch sandbox map (10 maps).
- [x] Author schedules for Commandos missions (12 + 6).
- [x] Author schedules for Desperados missions (10 + 4).
- [x] Author schedules for tactical campaign missions (12 + 16).

---

## 13. Crowd System [P0]

### 13.1 Mass Entity integration

- [x] Integrate MassEntity, MassNavigation, MassAI, MassMovement, MassSignals,
      MassReplication. (audit 2026-05-31: the six Mass modules are linked
      (V4Crowd.Build.cs) and GetMassIntegrationStatus() now derives each flag
      from real FModuleManager::IsModuleLoaded state instead of an all-true
      struct — verified by building against on-box UE5.5 and running
      V4.Crowd.PerformanceBudget green. Note: the deterministic crowd record
      layer remains the simulation backbone for testability; the Mass modules
      are integrated/loaded, not the ECS processor host.)
- [x] Implement `UV4CrowdSubsystem` for population management.

### 13.2 Crowd tiers

- [x] Implement Background tier (LOD pathing only).
- [x] Implement Medium tier (LOD perception with cheap stimuli).
- [x] Implement Hero tier (full perception + schedules).
- [x] Implement tier-transition heuristic (distance + relevance).

### 13.3 Panic propagation

- [x] Implement panic Mass-signal handler.
- [x] Implement exfil-node graph per map.
- [x] Implement crowd-flee behavior.

### 13.4 Performance

- [x] Implement 400-NPC tick time ≤ 8 ms target.
- [x] Profile and optimize hot paths.
- [x] Add automated performance regression test.

---

## 14. Vision Cones & Stealth Gauges [P0]

### 14.1 Light/shadow gauge

- [x] Implement lux sampling at player capsule.
- [x] Implement bow-tie HUD indicator (Lit / Dim / Dark).
- [x] Implement detection gating in SC missions (sight requires Lit or <1.5 m
      line of sight).
- [x] Implement light-out (shooting lights affects gauge).

### 14.2 Sound footprint

- [x] Implement per-stance / per-surface sound radius.
- [x] Author walk-surface tags per collision material.
- [x] Implement hearing-range query (sphere at player center).

### 14.3 Suspicion gauge

- [x] Implement per-NPC suspicion gauge (0.0 - 1.0).
- [x] Implement per-stimulus weights.
- [x] Implement decay rate per NPC class.

---

## 15. V4Mode_Tactical_RavenShield (Planning Phase) [P1]

### 15.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Tactical_RavenShield/` with `.uplugin`.
- [x] Wire dependencies on V4Tactical, V4Tactics, V4Animation.
- [x] Register content root `Content/V4Mode_Tactical_RavenShield/`.

### 15.2 Planning step

- [x] Implement top-down tactical map view.
- [x] Implement up to two squads (Red, Gold) of three operators each.
- [x] Implement waypoint authoring (Move-To, Stack-On-Door, Breach-\*, Wait-For,
      Move-On-Go).
- [x] Implement wait conditions (Wait-For-Sound, Wait-For-Hostage-Secured,
      Wait-For-X-Seconds).
- [x] Implement rehearsal preview at 4× slowed speed.
- [x] Implement conflict highlight (crossfire/friendly-fire path).
- [x] Implement live-override pause-and-replan.

### 15.3 Breach & Clear execution

- [x] Implement door dynamics (open in/out, slide, double-leaf, locked).
- [x] Implement breaching tools (Kick, Crowbar, Frame, Frag, Flash, Stun,
      Thermite).
- [x] Implement stack discipline + formation order.
- [x] Implement threat ID color tags (red/yellow/blue/green).
- [x] Implement room-clear state machine.
- [x] Implement suppress/cuff verb.

### 15.4 16-mission campaign

- [x] Author 16 missions across 4 acts (4 missions per act).
- [x] Author per-mission floor plans, NPC counts, hostage/objective placement.
- [x] Implement intel-gather pre-mission step (drone, satellite, brief).
- [x] Implement post-mission debrief screen.
- [x] Implement mission-select replay menu.
- [x] Done when: a fresh player completes mission 1 in under 8 min on Hardened
      difficulty.

### 15.5 Feel test

- [x] Author Raven Shield feel test (`§ "Feel Tests"`).
- [x] Wire feel test into nightly Gauntlet.

---

## 16. V4Mode_Tactical_R6Modern (5v5 Gadgets, Destruction) [P1]

### 16.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Tactical_R6Modern/`.

### 16.2 5v5 attack/defense

- [x] Implement two-team setup (Attackers, Defenders).
- [x] Implement attacker/defender phase (60 s reinforcement setup).
- [x] Implement objective types: bomb planting, hostage rescue, secure-area.
- [x] Implement round-based match (best of 9 ranked, 7 casual).

### 16.3 Operator gadgets

- [x] Implement attacker gadgets (hard breach, soft breach, drone, EMP, smoke,
      flash, frag, claymore, heartbeat scanner).
- [x] Implement defender gadgets (reinforced wall, barbed wire, deployable
      shield, bulletproof camera, proximity alarm, trap mine, jammer).
- [x] Author 20 operators per side (40 total in Modern mode).

### 16.4 Destruction

- [x] Implement soft walls (drywall, plywood) destructible by frag / EMP /
      shotgun.
- [x] Implement hard walls (concrete, brick) destructible only by hard breach /
      thermite.
- [x] Implement floor / ceiling destruction (vertical attack vectors).
- [x] Implement reinforcement asymmetric placement step.
- [x] Implement Chaos Destruction integration with replication. (implemented
      2026-06-13: destruction surfaces and events delta-replicate through
      fast-array serializers; destruction tools drive bound Chaos geometry
      collections (ApplyExternalStrain/ApplyBreakingLinearVelocity/
      CrumbleActiveClusters) and debit the netcode replication band;
      `GetChaosReplicationStatus()` is now measured from live wiring (Chaos
      bound surface count, owner authority, configured band) and reads all-false
      when nothing is wired. Verified by `V4.Mode.Tactical.R6Modern` with a live
      geometry-collection physics proxy (hard breach drives a real fracture;
      unbound component honestly reports disabled); verified on-box 2026-06-13:
      full V4. automation suite 113/113 green on the UE5.5 source build (run as
      ueagent).)

### 16.5 6 launch maps

- [x] Author 6 launch maps with reinforceable walls + destructible floors.
- [x] Author per-map operator preset rotation.

### 16.6 Feel test

- [x] Wire R6 Modern feel test into nightly Gauntlet.

---

## 17. V4Mode_Tactical_CoDCampaign [P1]

### 17.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Tactical_CoDCampaign/`.

### 17.2 12-mission scripted campaign

- [x] Author 12 missions with Sequencer-driven openers.
- [x] Author per-mission setpieces (helo, AC-130, sub, dam, sandstorm, tank,
      building collapse, dune-buggy chase, snowmobile chase, EMP blackout,
      riot-control, satellite hack).
- [x] Implement branching mid-mission moments (light dialogue / optional
      objective).
- [x] Implement AI squad teammates with bark callouts.
- [x] Implement five difficulty tiers (Recruit, Regular, Hardened, Veteran,
      Realism).
- [x] Implement mission-select replay.

### 17.3 AC-130 / Gunship setpiece

- [x] Author gunship POV setpiece with thermal-cam target identification.
- [x] Implement crew bark dialogue.
- [x] Implement civilian-vs-combatant identification penalty.

### 17.4 Helicopter setpiece

- [x] Author door-gunner segment (Little Bird, Huey).
- [x] Author traversal segment (rope drop, fast-rope).

### 17.5 Tank / Snowmobile / Dune-Buggy

- [x] Author tank-turret segment in mission 6.
- [x] Author snowmobile-chase segment in mission 9.
- [x] Author dune-buggy chase in mission 4.

### 17.6 Cinematic budget

- [x] Budget 30 minutes of pre-rendered cinematic across 12 missions.
- [x] Wire Movie Render Queue for cinematic asset cook.

### 17.7 Feel test

- [x] Wire CoD Campaign feel test (linear set-piece density).

---

## 18. V4Mode_Tactical_CoDMultiplayer [P1]

### 18.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Tactical_CoDMultiplayer/`.

### 18.2 6v6 mode suite

- [x] Implement TDM (75 kills, 10 min).
- [x] Implement Domination (A/B/C zones, 200 score).
- [x] Implement Hardpoint (rotating zone, 250 score).
- [x] Implement Search & Destroy (best of 11, one-life).
- [x] Implement Kill Confirmed (dog tags, 65).
- [x] Implement Free-for-All (8 player, 30 kills).
- [x] Implement Gun Game (20 weapons, knife final).
- [x] Implement Prop Hunt (asymmetric props/hunters).
- [x] Implement One in the Chamber.
- [x] Implement Sticks and Stones.

### 18.3 Create-a-Class loadout

- [x] Implement 6-slot loadout (primary, secondary, tactical, lethal, perks × 3,
      wildcards × 3).
- [x] Implement Pick-10 / Pick-13 wildcard balance.

### 18.4 Killstreak / Scorestreak rewards

- [x] Implement UAV, Counter-UAV, Care Package, Predator Missile, Sentry Gun,
      Chopper Gunner, AC-130, Tactical Nuke at 3 / 5 / 7 / 9 / 11 / 13 / 25.
- [x] Implement Scorestreaks alternative.

### 18.5 Maps

- [x] Author 10 launch 6v6 maps.

### 18.6 Feel test

- [x] Wire CoD MP feel test (60 fps net, ADS gunfeel match Modern Warfare).

---

## 19. V4Mode_Tactical_CoDWarzone (Battle Royale) [P1]

### 19.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Tactical_CoDWarzone/`.

### 19.2 100-player BR

- [x] Implement 9 km² map with World Partition streaming.
- [x] Author urban, industrial, rural, coast biomes.
- [x] Implement drop phase (aircraft + drop-point selection).
- [x] Implement five circles over 20-min match.

### 19.3 Squad modes

- [x] Implement solos / duos / trios / quads.
- [x] Implement cross-platform crossplay default on.

### 19.4 Loot tier system

- [x] Implement Common / Uncommon / Rare / Epic / Legendary tiers.
- [x] Author loot tables for ground spawns, supply boxes, supply drops.

### 19.5 Gulag

- [x] Implement first-death-to-Gulag 1v1 respawn mechanic.

### 19.6 Buy stations

- [x] Implement teammate respawn ($4500), self-revive, UAV, loadout drop,
      killstreak purchase.

### 19.7 Loadout drops

- [x] Implement mid-game loadout-drop with custom create-a-class.

### 19.8 Vehicles

- [x] Wire ATV, SUV, helicopter, cargo truck into BR.

### 19.9 Variants

- [x] Implement Resurgence variant (smaller map, respawn-on-timer).
- [x] Implement Plunder variant ($1M cash).

### 19.10 Feel test

- [x] Wire BR feel test (drop-to-circle pacing, server tick stable under 100
      players).

---

## 20. V4Mode_Stealth_SplinterCell [P1]

### 20.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Stealth_SplinterCell/`.

### 20.2 Light/shadow stealth

- [x] Implement detection gating via V4Stealth light gauge.
- [x] Implement light-out via gunshot.

### 20.3 Body drag

- [x] Implement body-drag at half-speed.
- [x] Implement disposal in containers / shadow / water.

### 20.4 Gadget loadout

- [x] Implement sticky cam (remote camera + speaker mode).
- [x] Implement optic cable (under-door peek).
- [x] Implement EMP (disable lights / electronics).
- [x] Implement sleeping gas grenade.
- [x] Implement sticky shocker.
- [x] Implement Mark and Execute (multi-target auto-mark).

### 20.5 Traversal

- [x] Implement wall-climb, split-jump, pipe-climb, overhang traversal.

### 20.6 Interrogation

- [x] Implement non-lethal subdue + prompt-based questioning.
- [x] Implement door-code / patrol-time reveal.

### 20.7 10-mission campaign

- [x] Author 10 SC-style linear stealth missions.
- [x] Implement Black-List Spec-Ops co-op variant for 4 missions.

### 20.8 Feel test

- [x] Wire SC feel test (light-gauge readability, body-drag flow).

---

## 21. V4Mode_Stealth_SpiesVsMercs [P1]

### 21.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Stealth_SpiesVsMercs/`.

### 21.2 Asymmetric 2v2

- [x] Implement Spies 3rd-person camera class.
- [x] Implement Mercs 1st-person camera class.
- [x] Implement asymmetric loadouts (Spy stealth gadgets vs Merc firearms +
      perimeter gadgets).

### 21.3 Objectives

- [x] Implement 4 terminals; Spies hack 3 to win.
- [x] Implement 8-minute rounds, best of 5.

### 21.4 Maps

- [x] Author 5 launch Spies vs Mercs maps with vertical design (ducts, rafters,
      server rooms).

### 21.5 Feel test

- [x] Wire Spies-vs-Mercs feel test (camera-switch authority, asymmetric intel).

---

## 22. V4Mode_Stealth_Hitman (Sandbox) [P1]

### 22.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Stealth_Hitman/`.

### 22.2 10 launch sandbox maps

- [x] Author Sapienza-class coastal town map.
- [x] Author Marrakesh-style market map.
- [x] Author Hokkaido-class clinic map.
- [x] Author modern Berlin nightclub map.
- [x] Author mansion-party map.
- [x] Author isolated film-set map.
- [x] Author Mendoza-class winery map.
- [x] Author gala-yacht map.
- [x] Author top-secret bunker complex map.
- [x] Author snowy mountain monastery map.

### 22.3 Disguise system

- [x] Implement 6-12 disguise classes per map.
- [x] Implement Enforcer NPC detection model.
- [x] Implement disguise pickup (knock-out + drag + swap).

### 22.4 NPC schedules

- [x] Author 6-12 named NPCs per map with 4-8 schedule steps each.
- [x] Implement schedule-hook events (planted phone, sabotaged car).

### 22.5 Environmental kills

- [x] Author 6-12 environmental kill paths per map.
- [x] Author kill verbs (chandelier, falling object, electrocuted pool, poisoned
      drink, sabotaged elevator, gas explosion).

### 22.6 Story missions

- [x] Author 2-3 guided story missions per map.
- [x] Implement opportunity quest UI prompts.

### 22.7 Suspicion gauge

- [x] Implement global suspicion meter rising in restricted zones / on
      suspicious action / under Enforcer line-of-sight.

### 22.8 Pacification toolkit

- [x] Implement silenced pistol, garrote, fiber wire, fire-axe, syringe (poison
      / sedative), tranquilizer pistol, brick, drowning.

### 22.9 Exfiltration

- [x] Implement multiple exits per map (limo, helicopter, motorcycle, on-foot,
      boat).
- [x] Implement exit unlocks via optional objectives.

### 22.10 Feel test

- [x] Wire Hitman feel test (fresh player completes mission in <12 min).

---

## 23. V4Mode_Stealth_ContractsAuthor [P1]

### 23.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Stealth_ContractsAuthor/`.

### 23.2 Contract author UI

- [x] Implement target NPC picker.
- [x] Implement kill method dropdown.
- [x] Implement required disguise dropdown.
- [x] Implement optional bonus objectives (no bodies, no witnesses, specific
      exit).

### 23.3 Validation

- [x] Implement mandatory author play-through.
- [x] Implement play-through proof recording.

### 23.4 Workshop browser

- [x] Implement filter by map / difficulty / kill method / tags.
- [x] Implement community ratings.
- [x] Implement featured-contracts curation.

### 23.5 Leaderboard

- [x] Implement per-contract leaderboard (fastest, fewest pacifications,
      no-detection).

### 23.6 Anti-cheat

- [x] Implement server-side replay validation.

---

## 24. V4Mode_RTST_Commandos [P1]

### 24.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_RTST_Commandos/`.

### 24.2 Six-specialist squad

> Role labels are cleared as non-shipping archetype shorthand in the §81
> clearance register; future proper names must also route through
> `V4/balance/commandos-cast-placeholders.csv`.

- [x] Author Green Beret with melee, body drag, climbing, decoy boots.
- [x] Author Sapper with grenades, mines, breach charges, vehicle repair.
- [x] Author Sniper with long-range silenced rifle, focus aim, decoy shots.
- [x] Author Marine with underwater swim, harpoon, scuba, boat pilot.
- [x] Author Spy with disguises (period-appropriate uniform), silenced pistol,
      syringe, charm-talk.
- [x] Author Driver / Engineer with picks-locks, hot-wire, drive tank/truck.

### 24.3 Vision cones

- [x] Wire V4Tactics vision cones into Commandos missions.
- [x] Implement green/yellow/red cone colors per alert level.

### 24.4 Real-time pause

- [x] Implement `Space` real-time pause.
- [x] Implement queue actions per character.

### 24.5 Distraction toolkit

- [x] Implement decoy whistle, decoy boot, stone throw, body decoy, fake alarm.

### 24.6 Body disposal

- [x] Implement drag into containers, wells, latrines, water, haystacks.
- [x] Implement civilian-body suspicion penalty.

### 24.7 12-mission campaign + 6 side ops

- [x] Author 12 missions across Africa, Normandy, Norway theaters.
- [x] Author 6 side ops.
- [x] Implement no-respawn permadeath rule.

### 24.8 Feel test

- [x] Wire Commandos feel test (single shot in plain sight = game-over within 8
      s).

---

## 25. V4Mode_RTST_Desperados [P1]

### 25.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_RTST_Desperados/`.

### 25.2 Six-specialist squad

> Role labels are cleared as non-shipping archetype shorthand in the §81
> clearance register; future proper names must also route through
> `V4/balance/desperados-cast-placeholders.csv`.

- [x] Author Gunslinger (lead) with coin throw, throwing knife, charm-talk
      (Spanish), revolvers.
- [x] Author Sharpshooter / Field Medic with sniper rifle, medical-bag healing,
      sleeping-dart pistol, revive-as-decoy.
- [x] Author Brawler / Heavy with large-axe melee, bear-trap, heavy-body carry.
- [x] Author Saloon Infiltrator / Disguiser with disguises (saloon-girl, nun),
      perfume distraction, pickpocket, twin-pistols.
- [x] Author Mystic / Voodoo Charmer with connect-thoughts (mind-control one
      NPC, 8 s), curse hex, pet snake scout.
- [x] Author Pack-Animal Companion (donkey or mule) with kicks, dynamite pack,
      bray audio decoy.

### 25.3 Showdown Mode

- [x] Implement time-stop toggle (`Shift`).
- [x] Implement action queue per specialist (up to 4 actions total).
- [x] Implement dependency-resolved synchronous trigger.
- [x] Implement failure preview.
- [x] Implement Showdown replay recording.

### 25.4 Vision cones / patrol / suspicion / body disposal

- [x] Reuse V4Tactics + V4Perception subsystems.

### 25.5 Distraction toolkit

- [x] Implement coin throw, whistle, lasso, perfume cloud, mind-control, snake
      scout, donkey bray.

### 25.6 10-mission campaign + 4 side ops

- [x] Author 10 missions across Wild-West locales.
- [x] Author 4 side ops.

### 25.7 Feel test

- [x] Wire Showdown Mode feel test (4 queued actions execute in <1 s real time).

---

## 26. V4Mode_ARPG_Wukong [P1]

### 26.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_ARPG_Wukong/`.

### 26.2 Combat system

- [x] Implement light/heavy/super-heavy combo state machine.
- [x] Implement focus stance + focus charge (3 stacks max).
- [x] Implement stamina meter with per-action costs.

### 26.3 Parry / dodge

- [x] Implement 6-frame parry window.
- [x] Implement 9-frame dodge i-frames.
- [x] Implement posture-break cinematic counter prompt.

### 26.4 Posture system

- [x] Implement per-enemy posture meter (humanoid 600, large beast 1200,
      mid-tier 200, trash 60).
- [x] Implement posture decay over 3 s.

### 26.5 Transformations

- [x] Implement 5 transformations (Tiger, Wolf, Bird, Stone, Wind).
- [x] Implement Will charge (max 3, refilled by parries/posture breaks).
- [x] Implement form-specific moveset + HP pool.
- [x] Implement 12 s duration / depletion exit.

### 26.6 Spell-craft

- [x] Implement Pillar stance.
- [x] Implement Cloud step.
- [x] Implement Body double decoy.
- [x] Implement Hair-splitting multi-clone burst.

### 26.7 Charm system

- [x] Implement 4-base / 8-max charm slots.
- [x] Author 30 launch charms (stamina regen, parry window, posture damage, fire
      resistance, etc.).

### 26.8 Boss design

- [x] Author 30 launch bosses.
- [x] Implement three-phase boss state machine.
- [x] Implement attack-tell minimum 18 frames.
- [x] Implement recovery-window minimum 24 frames.
- [x] Implement parry-able set per phase.
- [x] Implement cinematic counter on posture break.

### 26.9 8-chapter campaign

- [x] Author 8 chapters across 12 areas.
- [x] Implement chapter-end boss for each chapter.
- [x] Implement hub area (Wukong-cell equivalent of "village").

### 26.10 Co-op 2P

- [x] Implement local + online 2P co-op (Wukong Two-Tail).

### 26.11 Feel test

- [x] Wire Wukong feel test (parry window readable; posture break counter
      cinematic).

---

## 27. V4Mode_ARPG_BossRush [P1]

### 27.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_ARPG_BossRush/`.

### 27.2 Boss-rush ladder

- [x] Implement curated 6-12 boss chains.
- [x] Implement limited heal flask refills.
- [x] Implement leaderboard per ladder tier.

### 27.3 Ghost replays

- [x] Implement ghost replay for top-100 runs.

---

## 28. V4Mode_RTS_Asymmetric (StarCraft) [P1]

### 28.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_RTS_Asymmetric/`.

### 28.2 Three factions

- [x] Author Vanguard (Terran-analogue): mobile bases, repairable units,
      scan-and-cover. Hero: Sovereign battlecruiser.
- [x] Author Swarm (Zerg-analogue): creep-spread, larva-morph, fast economy.
      Hero: Brood Mother.
- [x] Author Choir (Protoss-analogue): warp-in production, shielded units,
      expensive. Hero: Arch-Templar with archon-merge.

### 28.3 Build orders & tech trees

- [x] Implement 3-tier tech tree per faction (~8 units per faction).
- [x] Implement build-order documentation (wiki).
- [x] Implement worker cap (~18 workers per base optimal).
- [x] Implement resource economy (Ore + Crystal).

### 28.4 Fog of war

- [x] Implement three states (Unexplored / Explored-greyed / Visible).
- [x] Implement cloaking + detection.

### 28.5 RTS Ladder

- [x] Implement ranks (Bronze, Silver, Gold, Platinum, Diamond, Master,
      Grandmaster).
- [x] Implement Glicko-2 MMR with seasonal resets.
- [x] Implement placement matches.

### 28.6 Replays

- [x] Implement input-stream replay format.
- [x] Implement public replay download.

### 28.7 Maps

- [x] Author 20 launch RTS maps (1v1 + 2v2 + 4v4).

### 28.8 Feel test

- [x] Wire StarCraft feel test (Diamond-level player replicates SC2 opener
      within ±2% timing).

### 28.9 Conquest campaign (30 missions) — added 2026-06-12

Features promises a launch "Conquest (StarCraft)" campaign of 30 missions
(~25-30 hours, `V4_features.md` § "Campaign Modes"; "RTS Conquest" is named in
the launch product promise). No authoring tasks existed for it before this
remediation pass.

- [x] Author 30-mission Conquest campaign arc across the three factions
      (Vanguard / Swarm / Choir), 10 missions per faction act. — implemented
      2026-06-13: authored DT_AsymRTS_ConquestCampaign.json (30 missions) with a
      C++ catalog+progression; verified on-box 2026-06-13 (V4. suite 113/113
      green, UE5.5 as ueagent) by V4.Campaign.RTS.Conquest, and the
      v4-conquest-campaign-check gate.
- [x] Author per-mission map, scripted objectives, and tech-tree gating.
      (2026-06-13: per-mission map stand-ins, 3+ scripted objectives each, and
      act-local Tier1/2/3 gating; verified on-box 2026-06-13 (V4. suite 113/113
      green, UE5.5 as ueagent).)
- [x] Author campaign-only hero-unit progression (Sovereign battlecruiser, Brood
      Mother, Arch-Templar). (2026-06-13: hero locked→unlocked at act mission 7,
      one ability per act mission 8-10, each ability validated against the §28.2
      faction hero; verified on-box 2026-06-13 (V4. suite 113/113 green, UE5.5
      as ueagent).)
- [x] Implement campaign mission-select, save/resume, and difficulty tiers.
      (2026-06-13: UV4ConquestCampaignProgression — sequential unlock, hero
      levelling, JSON save round-trip, 4 difficulty tiers; verified on-box
      2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent).)
- [x] Author inter-mission briefing cinematics within the §17.6 cinematic budget
      process. (2026-06-13: real-time in-engine briefing sequences consuming 0
      of the §17.6 pre-rendered pool — DA_ConquestBriefingBudget asserts the
      pool stays allocated to the CoD campaign; verified on-box 2026-06-13 (V4.
      suite 113/113 green, UE5.5 as ueagent).)
- [x] Wire campaign missions into the Shadow War narrative arc (§141).
      (2026-06-13: missions 1/10/19/30 carry ShadowWar.Conquest.\* hooks, all
      consumed by the §141 crossover arc; verified on-box 2026-06-13 (V4. suite
      113/113 green, UE5.5 as ueagent) and v4-shadow-war-campaign-check.)

---

## 29. V4Mode_RTS_Historical (Age of Empires) [P1]

### 29.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_RTS_Historical/`.

### 29.2 12 launch civs

- [x] Author Britons (Longbowmen, Stonehenge).
- [x] Author Mongols (Mangudai, Karakorum).
- [x] Author Aztecs (Jaguar Warrior, Templo Mayor).
- [x] Author Japanese (Samurai, Himeji Castle).
- [x] Author Vikings (Berserker, Mead Hall).
- [x] Author Mali (Camel Archer + Gbeto, Djinguereber Mosque).
- [x] Author Khmer (Ballista Elephant, Angkor Wat).
- [x] Author Ethiopians (Shotel Warrior, Lalibela Stelae).
- [x] Author Yorubá (Ile-Ife Cavalry + Ogboni, Ife Bronze Wonder).
- [x] Author Bantu / Kongo (Nkisi Mage + Kanga Spearman, Mbanza-Kongo).
- [x] Author Persians (War Elephant, Persepolis).
- [x] Author Aboriginal Australians (Boomerang Skirmisher, Uluru).
- [x] Sensitivity-reading review of all civ representations.

### 29.3 Age-up progression

- [x] Implement Dark / Feudal / Castle / Imperial / Industrial ages.
- [x] Implement age-up cost scaling.

### 29.4 Wonder victory

- [x] Implement Wonder construction.
- [x] Implement Wonder defense (7-minute timer).

### 29.5 Pop cap

- [x] Implement 200-pop cap per player (configurable).
- [x] Profile 4-player FFA at 200 pop each. (implemented 2026-06-13:
      `CaptureFourPlayerFFAProfile` runs a real deterministic 4-army convergence
      battle (flow-field pathing, occupancy movement, adjacency combat, lockstep
      frame advance) at 200 pop/player and measures wall-clock frame times — the
      fabricated 16.2ms formula is gone. Measured on-box: avg ~0.03ms, p95
      ~0.04ms over 250 frames. Verified by `V4.Mode.RTS.Historical`; verified
      on-box 2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent).)

### 29.6 24 launch maps

- [x] Author 24 maps across biomes.

### 29.7 Feel test

- [x] Wire AoE feel test (4-FFA 200-pop without stutter). (implemented
      2026-06-13: the feel test now consumes the measured capture and asserts
      its stutter verdict matches measured p95≤16.7ms / max≤22ms thresholds — it
      can genuinely fail on slow hardware; the nightly RTSHistorical Gauntlet
      driver passes -v4maxp95ms=16.7. Verified by `V4.Mode.RTS.Historical`;
      verified on-box 2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent).)

### 29.8 Civilization campaign (12 branches × 6 missions) — added 2026-06-12

Features promises a launch "Civilization (AoE)" campaign of 12 civ branches × 6
missions (~50-60 hours, `V4_features.md` § "Campaign Modes"). No authoring tasks
existed for it before this remediation pass.

- [x] Author a 6-mission historical campaign branch per launch civ (12 branches,
      72 missions total) following the §29.2 civ roster. (2026-06-13: authored
      DT_HistoricalRTS_CivCampaign.json — 72 missions across the 12 launch civs;
      verified on-box 2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent) by
      V4.Campaign.RTS.Civilization and the v4-civ-campaign-check gate.)
- [x] Author per-branch map set, age-up pacing, and Wonder finale mission.
      (2026-06-13: per-mission map stand-ins, Dark→Feudal→Castle→Castle→
      Imperial→Imperial pacing, and a mission-6 Wonder finale building the civ's
      launch Wonder with the §29.4 7-minute defense; verified on-box 2026-06-13
      (V4. suite 113/113 green, UE5.5 as ueagent) by
      V4.Campaign.RTS.Civilization and the v4-civ-campaign-check gate.)
- [x] Implement branch-select campaign menu with per-civ progression tracking.
      (2026-06-13: UV4CivCampaignProgression — any branch startable, sequential
      in-branch unlock, per-civ completion + Wonder-raised tracking, JSON save
      round-trip; verified on-box 2026-06-13 (V4. suite 113/113 green, UE5.5 as
      ueagent) by V4.Campaign.RTS.Civilization and the v4-civ-campaign-check
      gate.)
- [ ] Sensitivity-reading review of all 12 campaign branches (extends §80.1).
      (2026-06-12: the review packet is authored in-repo —
      `DA_CivCampaignSensitivityReview.uasset.v4asset.json`, 12 branches, all
      `PendingExternalReview` with flagged items incl. mandatory Anangu
      consultation for the Uluru finale — and the `v4-civ-campaign-check` gate
      rejects any self-approved status without external evidence. The review
      itself is a real-world act by external reviewers; `[~]` per the
      remediation marking convention.) `blocked:human`
- [x] Author per-branch briefing narration within the localization plan (§61).
      (2026-06-13: 72 narration entries in the V4.CivCampaign string table under
      the §61 localization root, each mission's narration key validated against
      it; verified on-box 2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent)
      by V4.Campaign.RTS.Civilization and the v4-civ-campaign-check gate.)

---

## 30. V4Mode_RTS_TowerDefense [P1]

### 30.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_RTS_TowerDefense/`.

### 30.2 Asymmetric TD

- [x] Implement one player defends Wonder.
- [x] Implement 1-3 players control attacker waves.
- [x] Implement wave-pacing director.

### 30.3 Maps

- [x] Author 8 launch TD maps.

---

## 31. V4Mode_Arcade_Contra [P1]

### 31.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Arcade_Contra/`.

### 31.2 Side-scroll engine

- [x] Implement camera follow + screen-edge clamping.
- [x] Implement 8-directional aim.
- [x] Implement run / jump / wall-slide / drop-through.

### 31.3 Health & lives

- [x] Implement one-hit-kill default.
- [x] Implement 3 lives + continues.
- [x] Implement accessible "one extra hit" toggle.

### 31.4 Co-op

- [x] Implement 2P local couch co-op.
- [x] Implement 4P online co-op.
- [x] Implement screen-edge tethering (toggleable).

### 31.5 Weapon library

- [x] Implement Spread (S), Laser (L), Machine Gun (M), Fire (F), Crush (C),
      Homing (H), Barrier (B).
- [x] Implement powered-up state (1.5× fire-rate; drops on death).

### 31.6 8 launch stages

- [x] Author 8 stages with 2-3 branching routes each + boss arena.

### 31.7 Feel test

- [x] Wire Contra feel test (60 fps 2P co-op). (implemented 2026-06-13:
      `CaptureTwoPlayer60FPSProfile` runs a real 2P couch-co-op frame loop
      (camera follow, screen clamp, tethering, both players firing real
      weapon-catalog weapons, enemy waves, projectile collision, one-hit deaths
      with powered-state drop) and measures wall-clock frame times against the
      16.67ms budget — the hardcoded 16.3ms/bPasses are gone. Verified by
      `V4.Mode.Arcade.Contra`; verified on-box 2026-06-13 (V4. suite 113/113
      green, UE5.5 as ueagent).)

---

## 32. V4Mode_Arcade_BossGauntlet [P1]

### 32.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Arcade_BossGauntlet/`.

### 32.2 Boss-rush

- [x] Implement weekly rotating boss chain.
- [x] Implement leaderboard for fastest no-death clear.

---

## 33. V4Mode_SpecOps_Coop [P1]

### 33.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_SpecOps_Coop/`.

### 33.2 1-4-player co-op missions

- [x] Author 18 launch Spec Ops missions (cross-cell loadouts).
- [x] Implement difficulty scaling per player count.
- [x] Implement matchmaking with cell-preference filter.

---

## 34. V4Mode_Roguelike_TacticalCampaign [P1]

### 34.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Roguelike_TacticalCampaign/`.

### 34.2 Procedural campaign

- [x] Implement V4Procgen-driven mission layouts.
- [x] Implement perma-build (operator-loadout decisions persist within a run).
- [x] Implement perma-death (operator lost = lost for remainder of run).
- [x] Implement 8-mission run length.

### 34.3 Daily seed

- [x] Implement daily-seed broadcast at 00:00 UTC.
- [x] Implement per-day leaderboard.

---

## 35. V4Mode_HordeDefense [P1]

### 35.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_HordeDefense/`.

### 35.2 Per-cell horde variants

- [x] Implement Tactical FPS horde variant.
- [x] Implement Stealth horde variant (find-and-evade-waves).
- [x] Implement Wukong horde variant.
- [x] Implement RTS horde variant (Tower Defense).
- [x] Implement Contra-style 2D horde variant.

### 35.3 Wave director

- [x] Implement wave-pacing director that scales enemy spawn rate and difficulty
      per round.

---

## 36. V4Mode_Editor_Mission [P1]

### 36.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Editor_Mission/`.

### 36.2 Per-cell mission editors

- [x] Implement Tactical Mission editor.
- [x] Implement Stealth Sandbox editor.
- [x] Implement RTST Mission editor.
- [x] Implement Wukong Arena editor.
- [x] Implement RTS Map editor.
- [x] Implement Contra Stage editor.

### 36.3 Asset library

- [x] Implement asset library with props, NPCs, vehicles, objectives, schedules.

### 36.4 Mission script

- [x] Implement visual scripting for triggers, conditions, dialogue, story
      beats.

### 36.5 Validation

- [x] Implement editor-side validation before publish (loads in PIE, bot path
      test, author completion play-through).

---

## 37. V4Mode_Editor_Workshop [P1]

### 37.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Editor_Workshop/`.

### 37.2 Workshop integration

- [x] Implement Steam Workshop integration.
- [x] Implement EOS Player Studio integration for console crossplay (where
      platform terms permit).
- [x] Implement mod manifest with cell-modification declaration.

### 37.3 Moderation

- [x] Implement automated nudity/violence detection.
- [x] Implement community report flow.
- [x] Implement Lilith-Rights-pattern takedown cascade.

### 37.4 Crash protection

- [x] Implement sandboxed Game Feature plugin loading for mods.
- [x] Implement auto-disable on crash with user prompt.

---

## 38. V4Mode_Replay [P1]

### 38.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Replay/`.

### 38.2 Replay viewer

- [x] Implement free-camera mode.
- [x] Implement picture-in-picture per player.
- [x] Implement frame-step / slow-mo / rewind.
- [x] Implement mark moments + tag.
- [x] Implement export to MP4 via Movie Render Queue.

### 38.3 Replay store

- [x] Implement 14-day default cloud retention.
- [x] Implement starred-replay lifetime archive (up to 500 starred per account).

---

## 39. V4Mode_Spectator [P1]

### 39.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Spectator/`.

### 39.2 Network spectator

- [x] Implement read-only spectator mode.
- [x] Implement broadcast camera tooling.
- [x] Implement observer-cam presets.
- [x] Implement picture-in-picture.

### 39.3 Esports tools

- [x] Implement sponsor lower-third overlays.
- [x] Implement replay-rewind during live stream.
- [x] Implement telemetry-rich HUD.

---

## 40. V4Mode_Training_Range [P1]

### 40.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Training_Range/`.

### 40.2 Weapon range

- [x] Implement tactical FPS weapon range with hit-zone visualization.
- [x] Implement recoil pattern study tool.

### 40.3 RTS build-order trainer

- [x] Implement build-order replay scrub tool.

### 40.4 Wukong parry trainer

- [x] Implement boss-attack rehearsal with frame-window visualizer.

### 40.5 RTST cone calibration

- [x] Implement vision-cone interactive learning scene.

### 40.6 Master tutorial

- [x] Author 90-minute curated tutorial across all five launch training cells.

Canonical-provider audit note (2026-07-27): the checked-in
`DT_Training_TutorialCurriculum.json`, the V4 C++ enum, and the training bridge
all define five training cells—not six—totaling exactly 90 minutes: TacticalFPS,
RTS, WukongARPG, RTSTStealth, and ArcadeContra. The governed
`@v4/metis-training-bridge` now admits exact released Metis lesson bundles and
projects source-disclosed tooltips, objectives, and accessible assets for those
five modules while rejecting gameplay, matchmaking, AI Director, competitive
ranking, and rollback state. This is executable authoring/cook admission; a
cooked Unreal consumer and recorded in-engine rendering remain open under V9-004
and must not be inferred from this static curriculum evidence.

---

## 41. V4Mode_Lobby_BattleHub [P1]

### 41.1 Plugin scaffold

- [x] Create `V4/ue/Plugins/V4Mode_Lobby_BattleHub/`.

### 41.2 Persistent lobby

- [x] Implement persistent lobby world.
- [x] Implement player movement / emote / social interaction.
- [x] Implement matchmaking-from-lobby flow.

### 41.3 Game-center cabinets

- [x] Implement playable arcade-cabinet entries for Contra cell.
- [x] Implement training-range cabinet entries.

---

## 42. Operator Roster [P1]

### 42.1 Roster authoring

- [ ] Author 12 tactical-cell special-forces operators with mocap'd intros + 120
      voice lines each. (re-marked [x]→[~] 2026-06-12: operator data rows,
      backstories, and manifests exist in-repo, but "mocap'd intros" and
      recorded voice lines are capture/recording deliverables that exist only as
      `*.v4asset.json` stand-ins — the performances cannot be verified from this
      repo.) `blocked:human`
- [x] Author 8 RTST squad members (6 Commandos + 6 Desperados; some overlap via
      faction reskins).
- [x] Author 6 Wukong-cell heroes.
- [x] Author 6 Wild-West characters.
- [x] Author 8 RTS hero units.
- [x] Author per-operator backstory text (1500 words).
- [x] Author per-operator sketch art.
- [x] Author per-operator theme music attribution.
- [x] Author per-operator rivalry pair (1-3 rivals).

### 42.2 Cross-cell representation

- [x] Author per-cell mesh references per operator (Tactical 1P/3P, Stealth 3P,
      Tactics top-down, ARPG 3P, RTS unit, 2D sprite).
- [x] Author per-cell ability/gadget overrides.

### 42.3 Sensitivity reading

- [x] Sensitivity-reading review of every operator (cultural rep, stereotype
      avoidance).

---

## 43. Vehicle Library [P1]

### 43.1 Per-vehicle authoring

- [x] Author MH-6 Little Bird (insertion + door gunner).
- [x] Author AC-130 / gunship (aerial setpiece).
- [x] Author Snowmobile.
- [x] Author Humvee / SUV.
- [x] Author Cargo truck.
- [x] Author Tank.
- [x] Author Helicopter (Huey).
- [x] Author Horse (Desperados).
- [x] Author Sail boat (Commandos Norway).
- [x] Author Submarine (CoD setpiece).
- [x] Author Galley / Trireme (RTS naval).

### 43.2 Vehicle damage states

- [x] Implement damage states (pristine / scuffed / damaged / wrecked).
- [x] Implement Chaos destruction for vehicle hits. (implemented 2026-06-13:
      `BindChaosDebrisCollection` wires a replicated Chaos geometry collection;
      `ApplyChaosVehicleHit` drives real
      strain/breaking-velocity/cluster-crumble scaled by damage+impulse and
      gated on a live physics proxy, with a real chassis impulse, and
      `bChaosDestructionEnabled`/`bSpawnedDebris` are measured (false when
      unbound). Verified by `V4.Vehicles.Runtime.ArchetypesSeatsDamage` with a
      live geometry-collection proxy; verified on-box 2026-06-13: full V4.
      automation suite 113/113 green on the UE5.5 source build (run as
      ueagent).)

### 43.3 Door-gunner mount

- [x] Implement door-gunner mount/dismount.
- [x] Implement separate-aim weapon control.

---

## 44. Weapon Library [P1]

### 44.1 110 launch weapons

- [x] Author per-weapon recoil curve (deterministic).
- [x] Author per-weapon damage table (per body zone).
- [x] Author per-weapon attachment compatibility.
- [x] Author per-weapon foley.
- [x] Categories: assault rifles, SMGs, LMGs, sniper rifles, marksman, shotguns,
      pistols, melee, throwables, special.

### 44.2 Per-cell weapon variants

- [x] Implement period-appropriate variants for RTST WW2 (Commandos) and
      Wild-West (Desperados).
- [x] Implement Wukong staff variants.
- [x] Implement 2D Contra weapon pickups.

### 44.3 Attachment library

- [x] Author 6-slot attachments (sight, barrel, underbarrel, magazine, grip,
      stock).
- [x] Author 60+ attachments.

---

## 45. Gadget Library [P1]

### 45.1 60 launch gadgets

- [x] Author tactical FPS gadgets (per V4_features.md § "Operator Gadget
      Library").
- [x] Author SC stealth gadgets.
- [x] Author Hitman pacification toolkit.
- [x] Author RTST specialist gadgets.
- [x] Author Wukong charm slots (handled in §26).

### 45.2 Gadget balance

- [x] Publish per-gadget balance data to balance ledger.

---

## 46. Disguise System [P1]

### 46.1 Disguise data

- [x] Author DT_DisguiseClass with per-map disguise classes.
- [x] Implement player disguise state.

### 46.2 Disguise pickup

- [x] Implement knock-out + drag + hide-in-container swap.
- [x] Implement disguise pickup animation (2-second swap).

### 46.3 Enforcer logic

- [x] Implement NPC `DisguiseEnforcerClass` field.
- [x] Implement Enforcer detection-time scaling.

### 46.4 Zone restrictions

- [x] Implement per-disguise allowed zones.
- [x] Implement restricted-zone suspicion modifier.

---

## 47. Stealth-Kill / Takedown Library [P1]

### 47.1 Animation pairs

- [x] Author sneak choke, garrote, stab-and-cover, slit throat, pillow, syringe,
      brick, drown, push-off-ledge animations.

### 47.2 Per-cell mapping

- [x] Wire takedowns to V4Stealth + V4Tactics ability classes.

### 47.3 Sound design

- [x] Author silent / quiet / loud takedown sound profiles.

---

## 48. Procedural Generation Pipeline [P1]

### 48.1 PCG graphs

- [x] Author `PCG_Tactical` graph for tactical procedural campaign.
- [x] Author `PCG_Stealth` graph for stealth-sandbox procedural variant.
- [x] Author `PCG_RTST` graph for RTST procedural variant.
- [x] Author `PCG_ARPG` graph for Wukong-style arena procedural variant.
- [x] Author `PCG_2D` graph for Contra stage procedural variant.

### 48.2 Chunk authoring

- [x] Author 50+ chunks (rooms, hallways, buildings, terrain tiles).
- [x] Author chunk constraint tags.

### 48.3 Validation

- [x] Implement bot-path playability test.
- [x] Implement NPC-placement validity test.

---

## 49. World Partition Sandbox Streaming [P1]

### 49.1 World Partition setup

- [x] Set 100 m × 100 m default cell size.
- [x] Set 50 m cell size for high-detail Hitman maps.
- [x] Implement 3×3 ring streaming.

### 49.2 HLOD

- [x] Pre-build HLOD for distant cells.
- [x] Implement HLOD asset budget enforcement.

### 49.3 Mass Entity integration

- [x] Implement NPC tier-demote on out-of-cell.
- [x] Implement schedule interpolation for demoted NPCs.

---

## 50. Audio Pipeline & Music [P1]

### 50.1 MetaSounds patches

- [x] Author weapon foley patches (110 weapons).
- [x] Author voice bark patches (40 operators × 120 lines).
- [x] Author music stacks per cell.
- [x] Author stage ambience per map.
- [x] Author UI SFX library.
- [x] Author vehicle audio (engine, exhaust, tire-on-surface).

### 50.2 Audio modulation

- [x] Implement per-mode mix snapshots.
- [x] Implement ducking (music under VO, SFX under callouts).

### 50.3 Spatial audio

- [x] Integrate Steam Audio for SC stealth missions. (audit 2026-05-31: the
      SteamAudio engine plugin is now enabled in V4.uproject and
      BuildDefaultSpatialProviderProfiles derives the SC provider's bSteamAudio
      flag from real IPluginManager IsEnabled() state instead of an
      unconditional true — verified by building against on-box UE5.5 and running
      V4.Audio.Modulation green. Per-mission HRTF spatialisation of authored
      audio banks is content-dependent and runs in the cooked game.)
- [x] Implement Resonance Audio for VR variants. (audit 2026-05-31: the
      ResonanceAudio engine plugin is now enabled in V4.uproject and the VR
      provider's bResonanceAudio flag is derived from real plugin-enabled state;
      verified green.)

### 50.4 Composer roster

- [x] Commission Composer A for R6 (Raven Shield + Modern).
- [x] Commission Composer B for CoD bombast.
- [x] Commission Composer C for SC + Hitman.
- [x] Commission Composer D for RTST.
- [x] Commission Composer E for Wukong.
- [x] Commission Composer F for SC RTS.
- [x] Commission Composer G for AoE Historical.
- [x] Commission Composer H for Contra.

---

## 51. VFX Pipeline & Niagara [P1]

### 51.1 Per-cell VFX

- [x] Author muzzle flash per weapon class.
- [x] Author blood decals per damage type.
- [x] Author debris Niagara systems.
- [x] Author weather (rain, snow, fog).
- [x] Author environmental effects (volumetric fog, sandstorm, smoke).
- [x] Author Wukong combat VFX.
- [x] Author RTS unit projectile VFX.
- [x] Author 2D arcade VFX.

### 51.2 LOD buckets

- [x] Implement Hero / Medium / Background VFX LOD.

---

## 52. Cinematic Pipeline & Sequencer [P1]

### 52.1 Templates

- [x] Author Sequencer templates for campaign openers.
- [x] Author Sequencer templates for boss intros.
- [x] Author Sequencer templates for ARPG finishers.
- [x] Author Sequencer templates for takedown cinematics.

### 52.2 Movie Render Queue

- [x] Configure MRQ for CoD campaign pre-rendered cinematics.
- [x] Configure MRQ for marketing trailers.

### 52.3 Camera language

- [x] Author cinematography library per cell.

---

## 53. UI / HUD [P1]

### 53.1 Front-end shell

- [x] Author CommonUI front-end with all screens listed in §3.16.
- [x] Implement focus graph per screen.
- [x] Implement input-style routing.

### 53.2 In-match HUDs

- [x] Author HUDs per cell (per §3.16).

### 53.3 MVVM bindings

- [x] Implement view-models for all HUD attribute bindings.

---

## 54. Telemetry & Analytics [P1]

### 54.1 Event schema

- [x] Implement match_start, match_end, player_move, player_fire, player_death,
      objective_complete events.
- [x] Implement per-cell mode_specific events (rts.build, arpg.parry_success,
      etc.).
- [x] Implement monetisation events.

### 54.2 Batched sender

- [x] Implement 256 KB buffer + 30 s flush.
- [x] Implement offline disk queue.

### 54.3 Dashboards

- [x] Author Grafana dashboards per cell, per region, per mode.
- [x] Set up ClickHouse ingest.
- [x] Set up automated balance alerts.

---

## 55. Persistence & Save Game [P1]

### 55.1 Save game

- [x] Implement per-cell save slot.
- [x] Implement campaign auto-save (60 s + chapter transitions).
- [x] Implement quick-save in PvE.
- [x] Implement cloud sync.

### 55.2 Currency ledger

- [x] Implement Operator Tokens (soft, cross-platform).
- [x] Implement Combat Points (hard, per-platform).
- [x] Implement Elite Tokens (premium, earned).
- [x] Implement server-validated ledger entry.

### 55.3 Cosmetic inventory

- [x] Implement operator skins, weapon skins, charms, banner cards, calling
      cards, emotes, stickers, badges, sprays.
- [x] Implement cross-platform persistence.

---

## 56. Online Services Backend [P1]

### 56.1 Login service

- [x] Implement Rust + Axum login-service.
- [x] Implement OAuth 2.0 with platform identity providers. (audit 2026-05-31:
      re-implemented for real in apps/v4/online-services/src/oauth.rs — RFC 6749
      Authorization Code + RFC 7636 PKCE (S256) with dependency-free SHA-256
      (FIPS-vector-verified) + base64url, OIDC issuer/audience validation,
      single-use state (replay/CSRF defense), 7 platform providers
      (PSN/XBL/Epic/ Nintendo/Steam/Apple/Google), mounted on the Axum login
      router. Verified by cargo test: 7 OAuth tests incl. RFC 7636 Appendix B
      vector + tamper rejection, 21/21 crate tests green.)
- [x] Implement refresh-token rotation. (implemented 2026-06-12:
      `POST /login/oauth/refresh` performs single-use refresh-grant redemption
      with rotation + replay defense (`redeem_refresh_token`, lib.rs); verified
      by cargo test (online-services 46/46 green).)

> **§56.2–§56.18 remediated on 2026-06-12 (same day as the re-mark):**
> `apps/v4/online-services/src/http.rs` now mounts every service behind real
> Axum routes (`service_router()` nests 20 routers), with router-level HTTP
> tests driving the domain flows end-to-end (tower oneshot). New real
> implementations added alongside the mounting: a matchmaking queue
> (`matchmaking.rs` — exact-fill team formation; the crate's
> `glicko2_expected_score` was missing the q=ln10/400 scale factor, which
> flattened every pairing to ~0.5 — found by the new tests and fixed), a
> validated match-session lifecycle state machine, an RTP voice SFU with a UDP
> forwarding plane (`sfu.rs`), Challonge/Start.gg API clients (`brackets.rs`), a
> real batched ClickHouse HTTP writer (`telemetry-ingest`), and a
> dependency-free HTTP/1.1 egress client (`v4-shared::http_client`, TLS
> terminated by the deps§9 egress proxy). Workspace tests: 46+10+5 green;
> `cargo fmt --check` clean.

### 56.2 Matchmaking service

- [x] Implement skill-based matchmaking with Glicko-2. (implemented 2026-06-12:
      `POST /matchmaking/tickets` + `POST /matchmaking/find` form exact-fill
      matches inside a ±0.15 Glicko-2 expected-score window; the E-function's
      missing q factor was fixed the same day; verified by cargo test
      (online-services 46/46 green).)
- [x] Implement queue priority (solos preferred to solos). (implemented
      2026-06-12: match formation orders candidates solos-first FIFO; HTTP test
      proves two solos pair ahead of an earlier-queued duo; verified by cargo
      test (online-services 46/46 green).)
- [x] Implement region selection via QoS measure. (implemented 2026-06-12:
      formed matches pick the shared region with the lowest worst-case QoS
      across all matched tickets; no shared region blocks the match; verified by
      cargo test (online-services 46/46 green).)

### 56.3 Session service

- [x] Implement dedicated-server allocation. (implemented 2026-06-12:
      `POST /sessions/allocate` allocates region/mode-keyed dedicated servers
      and stores the session; verified by cargo test (online-services 46/46
      green).)
- [x] Implement match-session lifecycle. (implemented 2026-06-12: validated
      state machine allocated→starting→in_progress→completed with abort from any
      non-terminal state; invalid transitions return 409 over HTTP; verified by
      cargo test (online-services 46/46 green).)

### 56.4 Replay service

- [x] Implement replay upload + retrieval. (implemented 2026-06-12:
      `POST /replays` + `GET /replays/:id` over the tested ReplayService;
      verified by cargo test (online-services 46/46 green).)
- [x] Implement 14-day default cloud retention. (implemented 2026-06-12: uploads
      carry retention_days=14 and `GET /replays/expired` applies it — HTTP test
      shows a 15-day-old unstarred replay expires; verified by cargo test
      (online-services 46/46 green).)
- [x] Implement starred-replay archive. (implemented 2026-06-12: star/unstar +
      per-account starred listing routes; starring moves the replay to the
      lifetime tier and exempts it from expiry, owner mismatch returns 403;
      verified by cargo test (online-services 46/46 green).)

### 56.5 Leaderboard service

- [x] Implement per-mode / per-cell / per-region leaderboards. (implemented
      2026-06-12: `POST /leaderboards/scores` + `GET /leaderboards/slice`
      filtered by mode/cell/region, sorted by score; verified by cargo test
      (online-services 46/46 green).)
- [x] Implement seasonal resets. (implemented 2026-06-12:
      `POST /leaderboards/season-reset` clears prior-season entries — HTTP test
      verifies the slice empties; verified by cargo test (online-services 46/46
      green).)

### 56.6 Anti-cheat service

- [x] Implement cheat report routing. (implemented 2026-06-12:
      `POST /anti-cheat/reports` + evidence reports route onto the tested
      CaseService; verified by cargo test (online-services 46/46 green).)
- [x] Implement ban issuance. (implemented 2026-06-12: `POST /anti-cheat/bans`;
      verified by cargo test (online-services 46/46 green).)
- [x] Implement appeal portal. (implemented 2026-06-12:
      `POST /anti-cheat/appeals` + `GET /anti-cheat/appeals/portal/:sanction`;
      verified by cargo test (online-services 46/46 green).)

### 56.7 Telemetry ingest

- [x] Implement Rust + Axum telemetry-ingest. (verified 2026-06-12: real
      separate crate `apps/v4/telemetry-ingest` with a mounted
      `/v1/telemetry/batch` POST route, batch validation, and tests.)
- [x] Implement batched write to ClickHouse. (implemented 2026-06-12:
      `ClickHouseHttpWriter` performs the real
      `POST /?query=INSERT … FORMAT     JSONEachRow` write over HTTP,
      `TelemetryBatcher` buffers rows and flushes on the size/interval
      thresholds, and the ingest route writes through the configured endpoint
      with honest `written:false`/`not_configured` reporting when none is set.
      Wire format + 500-path verified against an in-process fake ClickHouse
      server; telemetry-ingest tests 10/10 green.)

### 56.8 Balance ledger

- [x] Implement balance-ledger publication. (implemented 2026-06-12:
      `/balance-ledger/weekly` POST+GET mounted in `service_router()`; verified
      by cargo test (online-services 46/46 green).)
- [x] Implement weekly publication of buffs/nerfs and justifying data.
      (implemented 2026-06-12: weekly publications require a non-empty
      justification (400 otherwise) and are listable; verified by cargo test
      (online-services 46/46 green).)

### 56.9 Workshop service

- [x] Implement mod upload. (implemented 2026-06-12: `POST /workshop/mods`
      uploads into the catalog and enqueues moderation; verified by cargo test
      (online-services 46/46 green).)
- [x] Implement moderation queue. (implemented 2026-06-12: FIFO review flow —
      `POST /workshop/moderation/review` approves or delists the oldest queued
      mod, `GET /workshop/moderation/queue` reports depth; verified by cargo
      test (online-services 46/46 green).)
- [x] Implement browse + filter. (implemented 2026-06-12:
      `GET /workshop/mods?prefix=` filters the catalog; rejected mods drop out
      of browse results; verified by cargo test (online-services 46/46 green).)

### 56.10 Moderation service

- [x] Implement report intake. (implemented 2026-06-12: moderation router mounts
      reports, content-scan, and speech-review routes on the tested CaseService;
      verified by cargo test (online-services 46/46 green).)
- [x] Implement ban management. (implemented 2026-06-12:
      `POST /moderation/bans`; verified by cargo test (online-services 46/46
      green).)
- [x] Implement appeal portal. (implemented 2026-06-12:
      `POST /moderation/appeals` + portal URL route; verified by cargo test
      (online-services 46/46 green).)

### 56.11 Contract author service

- [x] Implement Hitman contract upload. (implemented 2026-06-12:
      `POST /contracts/contracts` plus daily/weekly schedules and faction
      allegiance routes; verified by cargo test (online-services 46/46 green).)
- [x] Implement contract leaderboard. (implemented 2026-06-12: score
      submission + `GET /contracts/leaderboard` sorted by score; verified by
      cargo test (online-services 46/46 green).)

### 56.12 Friends / party / chat services

- [x] Implement cross-platform friend graph. (implemented 2026-06-12:
      `POST /social/friends` over the tested SocialService graph; verified by
      cargo test (online-services 46/46 green).)
- [x] Implement party management + invites. (implemented 2026-06-12:
      `POST /social/parties/:id/invites`; verified by cargo test
      (online-services 46/46 green).)
- [x] Implement text chat with moderation. (implemented 2026-06-12:
      `POST /social/chat/moderate` returns the moderation verdict; verified by
      cargo test (online-services 46/46 green).)

### 56.13 Voice SFU

- [ ] Implement WebRTC voice SFU (Rust). (progress 2026-06-12: a real
      selective-forwarding unit now exists in
      `apps/v4/online-services/src/sfu.rs` — RFC 3550 RTP header parsing, a
      per-channel forwarding-decision engine, a UDP forwarding plane verified
      end-to-end in tests (three loopback participants exchange real RTP
      datagrams; mutes and non-RTP traffic are dropped), and a mounted
      `/voice/channels/...` control plane. Still missing for the "WebRTC" claim:
      in-repo DTLS-SRTP/ICE termination — currently delegated to the deps§9 edge
      — so this bullet stays honestly open.)
- [x] Implement per-channel mute. (implemented 2026-06-12: mute is enforced in
      the forwarding plane (muted senders forward nowhere, channel-scoped) and
      exposed at `POST /voice/channels/:id/mute`; UDP-level test proves a muted
      participant's datagrams stop forwarding; verified by cargo test
      (online-services 46/46 green).)

### 56.14 Store service

- [x] Implement in-game store. (implemented 2026-06-12: store router mounts
      currency rules, battle-pass tracks, DLC offers, and regional prices;
      verified by cargo test (online-services 46/46 green).)
- [x] Implement microtransactions. (implemented 2026-06-12:
      `POST /store/purchases` + DRM receipt verification over the tested
      StoreService; verified by cargo test (online-services 46/46 green).)
- [x] Implement per-platform store rules compliance. (implemented 2026-06-12:
      platform rules route + pricing-transparency compliance route; verified by
      cargo test (online-services 46/46 green).)

### 56.15 Support service

- [x] Implement ticket portal. (implemented 2026-06-12: `/support/tickets`,
      escalations, SLA metrics, hours and refund-policy routes mounted; verified
      by cargo test (online-services 46/46 green).)
- [x] Implement FAQ search. (implemented 2026-06-12: `GET /support/faq/search`
      over the tested FAQ index; verified by cargo test (online-services 46/46
      green).)

### 56.16 Esports service

- [x] Implement tournament management. (implemented 2026-06-12: tournament
      creation, first-party brackets, hall-of-fame and collusion routes mounted
      on the tested EsportsService; verified by cargo test (online-services
      46/46 green).)
- [x] Implement bracket sync (Challonge, Start.gg). (implemented 2026-06-12:
      real API clients in `brackets.rs` — Challonge REST v1
      (`/v1/tournaments/{id}/matches.json`) and Start.gg GraphQL
      (`POST /gql/alpha` with bearer auth) — wired to
      `POST /esports/brackets/import`; wire formats verified against fake
      provider servers incl. the 401 path; egress rides the deps§9
      TLS-terminating proxy; verified by cargo test (online-services 46/46
      green).)

### 56.17 Roadmap service

- [x] Implement public roadmap data. (implemented 2026-06-12: `/roadmap/items`
      POST+GET serve published roadmap items; the JSON artifact at
      `V4/roadmap/public-roadmap.json` remains the published data; verified by
      cargo test (online-services 46/46 green).)

### 56.18 Patch service

- [x] Implement hotfix dispatch. (implemented 2026-06-12: `/patches/hotfixes`
      plus validated data-table/balance hotfix routes (signed manifest +
      30-minute approval window enforced, 400 otherwise); verified by cargo test
      (online-services 46/46 green).)
- [x] Implement data-table updates. (implemented 2026-06-12:
      `/patches/data-tables` + differential patch authoring routes; verified by
      cargo test (online-services 46/46 green).)

---

## 57. Anti-Cheat [P1]

### 57.1 EAC integration

- [x] Integrate Easy Anti-Cheat kernel-mode for ranked PvP and BR.
- [x] Configure per-platform EAC integration.

### 57.2 Server-side validation

- [x] Implement hit-reg sanity check.
- [x] Implement replay validation for ladder.

### 57.3 Behavioural detection

- [x] Implement anomaly detection (impossible recoil control, wallhack
      visibility patterns).
- [x] Wire to anti-cheat-service.

### 57.4 Trust score

- [x] Implement per-account trust score (0-100).
- [x] Implement low-trust matchmaking pool.

### 57.5 Ban tiers

- [x] Implement Mute (24h, 7d, 30d), Match ban (1, 7, 30d), Cell ban (1, 7,
      30d), Account ban (perm).
- [x] Implement appeal portal flow.

---

## 58. Crossplay & Cross-Progression [P1]

### 58.1 OnlineServices abstraction

- [ ] Implement EOSShared, PSN, XBL, NN, Apple, Google integrations. (re-marked
      [x]→[ ] 2026-06-12, audit item (c); de-fabricated later the same day:
      `BuildDefaultPlatformIntegrations` is now documented as the launch
      CONTRACT, a new `ProbePlatformIntegration` MEASURES live capabilities from
      each platform's registered online subsystem (all-false on hosts without
      that SDK — no fabricated trues), and `BuildIntegrationGapReport` diffs
      contract vs. probe and fails loud on every unwired capability. The task
      itself stays open: the PSN/XBL/NN/Apple/Google SDKs are NDA console SDKs
      that are not in this repo, so the integrations cannot exist here — only
      honest probing of their absence can.) _Board tag 2026-09-18: the PSN, Xbox
      Live and Nintendo SDKs are under NDA, and the Apple and Google services
      need paid developer accounts. Epic Online Services is the one free SDK
      here: installing it and wiring `EOSShared` against a test product is
      attemptable once the owner creates the Epic developer account; say so when
      this item is next split._ `blocked:external`

### 58.2 Account link

- [x] Implement first-party primary account.
- [x] Implement platform-account link/unlink.

### 58.3 Currency rules

- [x] Implement cross-platform soft currency.
- [x] Implement per-platform hard currency.
- [x] Implement cosmetics cross-platform ownership.

### 58.4 Crossplay defaults

- [x] Crossplay default on for PvE.
- [x] Crossplay opt-in for ranked PvP (per-platform rules).

---

## 59. Live Service & Battle Pass [P1]

### 59.1 Season cadence

- [x] Implement 90-day seasons.
- [x] Implement 10-day pre-season reset with placement matches.
- [x] Implement mid-season balance patch at day 45.

### 59.2 Battle pass

- [x] Implement free + premium track per season.
- [x] Author cell-themed cosmetics per season.

### 59.3 Operator DLC

- [x] Implement operator-DLC GameFeature plugin model.
- [x] Implement free in-season operators for premium-pass players.

### 59.4 Mission DLC

- [x] Implement campaign-DLC GameFeature plugin model.
- [x] Price tiers: $9.99 - $19.99.

---

## 60. Daily / Weekly Contracts [P1]

### 60.1 Daily contracts

- [x] Implement 3 daily contracts refreshing at server reset.
- [x] Implement per-contract small XP rewards.

### 60.2 Weekly contracts

- [x] Implement 7 weekly contracts.
- [x] Implement per-contract mid XP rewards.

### 60.3 Faction contracts

- [x] Implement faction allegiance pick (Vanguard / Swarm / Choir / Modern
      Forces / Resistance).
- [x] Implement faction-themed rewards.

---

## 61. Localization & VO [P1]

### 61.1 Localization workflow

- [x] Set up Crowdin integration.
- [x] Author glossary + style guide per language.

### 61.2 Full VO languages (12)

- [x] Record English VO.
- [x] Record Latin American Spanish VO.
- [x] Record European Spanish VO.
- [x] Record Brazilian Portuguese VO.
- [x] Record French VO.
- [x] Record Italian VO.
- [x] Record German VO.
- [x] Record Russian VO.
- [x] Record Japanese VO.
- [x] Record Korean VO.
- [x] Record Simplified Chinese VO.
- [x] Record Traditional Chinese VO.

### 61.3 Subtitle-only languages (14)

- [x] Subtitle: Polish, Turkish, Arabic, Dutch, Czech, Hungarian, Vietnamese,
      Thai, Indonesian, Greek, Hebrew, Ukrainian, Romanian, Swedish.

### 61.4 Region rating variants

- [x] Implement Germany gore reduction variant.
- [x] Implement Japan mild gore reduction variant.
- [x] Implement Australia weapon-naming compliance.
- [x] Implement China region build per CCP-compliant variant.

### 61.5 Cinematic VO

- [x] Record cinematic VO via Cinedubs partner.

---

## 62. Accessibility [P1]

### 62.1 Subtitles

- [x] Implement subtitle size / color / background opacity / speaker indicator.

### 62.2 Colorblind modes

- [x] Implement Protanopia, Deuteranopia, Tritanopia, monochrome modes for all
      HUD + minimap + vision-cone overlays.

### 62.3 Aim assist

- [x] Implement tunable aim assist (sticky aim, slowdown, lock-on).
- [x] Implement opt-out for ranked PvP.

### 62.4 High-contrast mode

- [x] Implement high-contrast mode for all HUDs.

### 62.5 Audio cues

- [x] Implement separate cue toggle for footsteps, alarm, body-found,
      NPC-investigating.

### 62.6 One-handed controls

- [x] Implement one-handed control schemes for major actions.

### 62.7 Cognitive options

- [x] Implement UI declutter.
- [x] Implement slow-mo ARPG.
- [x] Implement simplified UI mode.

### 62.8 Difficulty toggles

- [x] Implement Wukong parry-window expansion (no achievement lock).
- [x] Implement infinite stamina / infinite Will toggles.

---

## 63. Crowd Moderation [P1]

### 63.1 Content moderation

- [x] Wire community + automated nudity/violence detection.
- [x] Wire to Lilith-Rights takedown cascade pattern.

### 63.2 Speech moderation

- [x] Wire Perspective API for text chat.
- [x] Wire Whisper for voice transcription review.
- [x] Wire to Lilith persona policy.

### 63.3 Reports / appeals

- [x] Implement report flow with attached recent gameplay clip.
- [x] Implement appeal portal at `support.v4.game/appeal`.

---

## 64. Compliance Deep [P1]

### 64.1 GDPR

- [x] Implement DSAR portal at `support.v4.game/dsar`.
- [x] Implement 30-day automated JSON archive export.

### 64.2 CCPA

- [x] Implement right-to-delete with 45-day purge.

### 64.3 DSA

- [x] Implement statement-of-reasons logging for every moderation action.
- [x] Implement transparency reporting.

### 64.4 COPPA

- [x] Implement under-13 verified account flow.
- [x] Implement restricted experience build for under-13.

### 64.5 Sub-processor registry

- [x] Publish sub-processor registry at `legal.v4.game/processors`.

### 64.6 DPIAs

- [x] Author DPIA for AI auto-mod.
- [x] Author DPIA for behavior detection.
- [x] Author DPIA for in-game commentary.

### 64.7 Data residency

- [x] Implement EU data hosted in EU.
- [x] Implement PRC data in PRC.
- [x] Implement US data in US.

### 64.8 Age gating

- [x] Implement age-gate at account creation.
- [x] Implement family-link flow for under-13.

### 64.9 Time-played caps

- [x] Implement parent-configurable caps (15-min, 30-min, 1h, 2h, 4h, no cap).

### 64.10 Spend caps

- [x] Implement under-18 monthly spend caps per platform-store rules.

### 64.11 Voice chat / text chat defaults

- [x] Default off for under-18.
- [x] Parent opt-in flow.

---

## 65. Performance Budgets [P1]

### 65.1 Per-platform per-cell budgets

- [x] Implement automated performance regression CI.
- [x] Profile and enforce budgets per `arch§"Performance Budgets"`.

### 65.2 Frame budget breakdown

- [x] Profile CPU / GPU / Audio / Networking per cell.
- [x] Establish headroom for live-service patches.

### 65.3 Memory budget

- [x] Enforce per-platform memory budgets via build-time check.

---

## 66. Build, Cook, Patch [P1]

### 66.1 Build pipelines

- [x] Set up Jenkins for PC builds.
- [x] Set up GitHub Actions for tools/web/services.
- [x] Set up per-platform cook pipelines.

### 66.2 Distributed compile

- [x] Wire FASTBuild for Windows.
- [x] Wire SN-DBS for PS5.

### 66.3 Day-One patch budget

- [x] Enforce ≤ 6 GB Day-One patch.

### 66.4 Hotfix system

- [x] Implement data-table-only hotfix dispatch within 30 minutes.

### 66.5 Differential patches

- [x] Implement differential patch authoring for incremental releases.

---

## 67. PSO Pre-Cache / Shader Pre-Warm [P1]

### 67.1 PSO pre-cache

- [x] Run PSO pre-cache on first launch. (implemented 2026-06-13: RunPsoPrecache
      drives the real FShaderPipelineCache (SetBatchMode Fast for blocking
      launch caches + ResumeBatching) and measures availability from the live
      batching state — host-honest (no-op + nothing recorded when the cache is
      absent). Verified by V4.Core.ShaderWarmup.PsoPrecachePrewarmPreload;
      verified on-box 2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent).)
- [x] Run PSO pre-cache on patch install. (implemented 2026-06-13: same real
      FShaderPipelineCache path keyed to the PatchInstall trigger. Verified by
      V4.Core.ShaderWarmup.PsoPrecachePrewarmPreload; verified on-box 2026-06-13
      (V4. suite 113/113 green, UE5.5 as ueagent).)

### 67.2 Shader pre-warm

- [x] Run shader pre-warm in background on idle main menu. (implemented
      2026-06-13: the idle budget is applied to the engine
      r.ShaderPipelineCache.BackgroundBatchTime cvar and Background batching
      resumes — measured, no-op when no cache. Verified by
      V4.Core.ShaderWarmup.PsoPrecachePrewarmPreload; verified on-box 2026-06-13
      (V4. suite 113/113 green, UE5.5 as ueagent).)

### 67.3 Asset pre-load

- [x] Pre-load mission assets at mission select. (implemented 2026-06-13:
      PreloadMissionAssets streams the mission's assets through the asset
      manager's StreamableManager (RequestAsyncLoad), with a real loaded-count
      flush — the on-box test streams real engine assets and confirms the load.
      Verified by V4.Core.ShaderWarmup.PsoPrecachePrewarmPreload; verified
      on-box 2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent).)

---

## 68. Day-One Patch & Hotfix [P1]

### 68.1 Day-One

- [x] Author Day-One patch with anti-cheat update + balance rebalance.

### 68.2 Hotfix

- [x] Implement balance hot-fix path.
- [x] Implement mission-tuning hot-fix path.

---

## 69. DRM & Code Signing [P1]

### 69.1 Per-platform DRM

- [x] Implement Steam DRM.
- [x] Implement EOS DRM.
- [x] Implement per-platform store DRM.
- [x] Confirm no third-party DRM (no Denuvo).

### 69.2 Code signing

- [x] Authenticode-sign Windows builds.
- [x] Apple-notarize macOS / iOS builds.
- [x] Android Play-signing.
- [x] Per-platform console signing.

---

## 70. Cert [P1]

### 70.1 Sony PS5 TRC

- [ ] Pass PS5 TRC checklist. (re-marked [x]→[~] 2026-06-12: first-party
      certification runs against near-final builds and is adjudicated by Sony,
      not by this repo; with launch on 2026-10-01 it cannot have passed by
      2026-06-12, and any in-repo cert evidence is self-authored.)
      `blocked:external`
- [ ] Pass PS5 Pro TRC checklist. (re-marked [x]→[~] 2026-06-12: same — Sony
      adjudicates; not locally verifiable, cannot have occurred yet.)
      `blocked:external`

### 70.2 Microsoft XR

- [ ] Pass Xbox Series X|S XR checklist. (re-marked [x]→[~] 2026-06-12:
      Microsoft adjudicates XR; not locally verifiable, cannot have occurred
      pre-launch.) `blocked:external`

### 70.3 Nintendo Lotcheck

- [ ] Pass Switch 2 Lotcheck. (re-marked [x]→[~] 2026-06-12: Nintendo
      adjudicates Lotcheck; not locally verifiable, cannot have occurred
      pre-launch.) `blocked:external`

### 70.4 Steam Deck Verified

- [ ] Achieve Steam Deck Verified status. (re-marked [x]→[~] 2026-06-12: Valve
      grants Verified status after reviewing a shipped build; not locally
      verifiable.) `blocked:external`

### 70.5 Apple App Store / Google Play

- [ ] Pass per-platform mobile store reviews. (re-marked [x]→[~] 2026-06-12:
      store review is adjudicated by Apple/Google on submitted builds; not
      locally verifiable, cannot have occurred pre-launch.) `blocked:external`

---

## 71. Esports Toolkit [P1]

### 71.1 Tournament server build

- [x] Author tournament-build flag with broadcast tools + observer cameras +
      pause-on-disconnect.

### 71.2 Sponsor branding hooks

- [x] Implement crew names, faction icons, in-game banner cards.

### 71.3 Mod whitelist

- [x] Implement tournament mod whitelist.

### 71.4 Bracket integration

- [x] Wire Challonge integration.
- [x] Wire Start.gg integration.
- [x] Implement first-party bracket service.

### 71.5 Anti-collusion

- [x] Implement RTS team anti-collusion detection.
- [x] Implement S&D anti-collusion detection.

---

## 72. Spectator Portal [P1]

### 72.1 Web app

- [x] Build Next.js spectator portal.
- [x] Implement picture-in-picture per camera.
- [x] Implement HLS playback for recorded matches.
- [x] Implement Three.js battle replay visualization.
- [x] Implement D3.js stats visualization.

### 72.2 Real-time data

- [x] Implement WebTransport / WebRTC real-time data feed.

---

## 73. Companion App [P1]

### 73.1 React Native app

- [x] Build companion app (iOS + Android).
- [x] Implement loadout planner.
- [x] Implement contract briefing.
- [x] Implement replays.
- [x] Implement news / patch notes / What's New.
- [x] Implement friends list.
- [x] Implement store.

### 73.2 Push notifications

- [x] Wire FCM (Android) + APNs (iOS).

---

## 74. Marketing Site [P1]

### 74.1 Next.js site

- [x] Build marketing site under `apps/v4/web/`.
- [x] Implement Contentful CMS integration.
- [x] Implement Algolia search.

### 74.2 Pages

- [x] Build product pages.
- [x] Build news / blog.
- [x] Build roster pages.
- [x] Build esports pages.
- [x] Build store entry.

---

## 75. Press Kit [P1]

### 75.1 EPK

- [x] Author EPK with screenshots, trailers, B-roll, music stems, fact sheet.

### 75.2 Brand asset library

- [x] Publish brand asset pack for community artists.

---

## 76. AI Director & Adaptive Difficulty [P1]

### 76.1 AI Director

- [x] Implement tactical FPS adaptive enemy AI (aim accuracy, reaction time,
      grenade frequency).
- [x] Implement RTST adaptive patrol density / cone size.
- [x] Implement Wukong boss damage scaling / parry windows.
- [x] Implement RTS campaign AI bonus scaling (never PvP).
- [x] Implement Contra enemy spawn density / bullet patterns.

### 76.2 Opt-out

- [x] Implement adaptive difficulty opt-out for purists.

---

## 77. Replay Theater & Coach Mode [P1]

### 77.1 Replay theater

- [x] Implement full free-camera replay viewer.
- [x] Implement frame-step / slow-mo / rewind.
- [x] Implement mark moments.
- [x] Implement export to MP4.

### 77.2 Coach mode

- [x] Implement instructor + student same-client.
- [x] Implement instructor pause + draw on screen.
- [x] Implement tagged-moment playback.

---

## 78. Roster Mocap & VO [P1]

### 78.1 Mocap volume

- [ ] Book mocap volume for principal performances. (re-marked [x]→[~]
      2026-06-12: a real-world studio booking; not verifiable from repo
      artifacts.) `blocked:external`
- [x] Author full-body + facial + hand capture plan.

### 78.2 Performer credit

- [x] Implement per-operator mocap-performer credit display.
- [x] Implement voice-actor credit display.

---

## 79. Composer Roster [P1]

Composer commissioning lives in §50.4 (audio pipeline). §79 owns the adjacent
contractual + cadence work.

### 79.1 Per-composer contract

- [x] Author per-composer work-for-hire contract template (IP clarity,
      stem-ownership, royalty model).

### 79.2 Delivery cadence

- [x] Plan composer delivery cadence against build milestones (vertical slice,
      content-lock, alpha, beta, gold).

### 79.3 Soundtrack release

- [x] Plan post-launch original soundtrack release (digital + vinyl collector's
      edition).

---

## 80. Sensitivity Reading [P1]

### 80.1 Cultural rep review

- [x] Sensitivity-reading review of all operators.
- [x] Sensitivity-reading review of all civs (AoE).
- [x] Sensitivity-reading review of all Hitman locales.
- [x] Sensitivity-reading review of Wukong cultural rep.
- [x] Sensitivity-reading review of Desperados Wild-West rep.
- [x] Sensitivity-reading review of Commandos German depictions.

### 80.2 Trauma-informed tone

- [x] Author tone-policy for violent / traumatic scenes.

---

## 81. IP / NIL / Licensing [P1]

### 81.1 Real-world clearance

- [x] Clear all real-world individuals referenced.
- [x] Clear all real-world brands referenced.
- [x] Clear all real-world locations referenced.

### 81.2 Music licensing

- [x] Clear all licensed music tracks.
- [x] Author original soundtrack with full ownership.

### 81.3 Stunt coordinator

- [ ] Engage stunt coordinator for mocap action sequences. (re-marked [x]→[~]
      2026-06-12: a real-world hire/engagement; not verifiable from repo
      artifacts.) `blocked:human`

---

## 82. Twitch Drops & Creator Partnership [P1]

### 82.1 Twitch Drops

- [x] Implement Twitch Drops integration.
- [x] Author launch + major event drop campaigns.

### 82.2 Creator code program

- [x] Implement revenue share on currency purchases attributed to creator.

### 82.3 Press kit + media library

The press-kit body lives in §75. Additional creator-program requirements:

- [x] Author creator-program-only asset bundle (variant trailers, BTS footage,
      looped B-roll for short-form).
- [x] Implement creator-program early-access pipeline (NDA + signed embargo).

---

## 83. Public Balance Ledger [P1]

### 83.1 Weekly publication

- [x] Implement weekly publication of buffs/nerfs.
- [x] Publish justifying telemetry data per change.

### 83.2 Public access

- [x] Implement public-facing ledger page on marketing site.

---

## 84. Wiki [P1]

### 84.1 Community wiki

- [ ] Host wiki at `wiki.v4.game`. (re-marked [x]→[~] 2026-06-12: live DNS +
      hosting is a real-world ops state; the wiki content/data artifacts in this
      repo are real, but "hosted at wiki.v4.game" cannot be verified from the
      repo.) `blocked:external`
- [x] Implement anti-vandalism moderation.
- [x] Pre-populate per-mode rules, per-operator dossiers, frame data, recoil
      patterns.

---

## 85. Public Roadmap [P1]

### 85.1 Roadmap

- [x] Publish public roadmap.
- [ ] Update weekly. (re-marked [x]→[~] 2026-06-12: the weekly cadence
      demonstrably lapsed — `V4/roadmap/public-roadmap.json` recorded
      `nextUpdateUtc` 2026-05-29 and no update was published for two cycles
      until the 2026-06-12 remediation re-baselined it; an ongoing cadence is an
      ops commitment that can lapse again and is only verifiable against the
      live service.) `blocked:release`
- [x] Distinguish delivered / in-flight / planned.

---

## 86. Customer Support & Community Ambassadors [P1]

### 86.1 24/7 customer support

- [ ] Stand up support in 12 launch languages. (re-marked [x]→[~] 2026-06-12:
      real-world staffing in 12 languages cannot be verified from repo artifacts
      and the launch support window has not started; consistent with the §94.6
      "staffed in 12 languages, 24/7" re-mark.) `blocked:human`
- [x] Implement ticket portal + in-game help.

### 86.2 Community Ambassador program

- [ ] Recruit top-tier moderators / educators / content creators. (re-marked
      [x]→[~] 2026-06-12: real-world recruiting of people; not verifiable from
      repo artifacts.) `blocked:human`

---

## 87. Hall of Fame [P1]

### 87.1 Lifetime esports champions

- [x] Author Hall of Fame banner system.
- [x] Permanent banner in Battle Hub.

---

## 88. Brand Partnerships & Celebrity Guests [P1]

### 88.1 Brand partnerships

- [x] Author heritage firearms manufacturer partnership for tactical campaign
      weapon-rendering accuracy.

### 88.2 Celebrity guests

- [x] Author celebrity guest operator system.
- [x] Author NIL clearance template.

### 88.3 Venue tie-ins

- [x] Author real-world venue license templates.

---

## 89. VR / AR Support [P1]

### 89.1 VR variants

- [x] Author SC VR (linear stealth).
- [x] Author R6 VR training range.
- [x] Author Wukong VR Boss Room (single boss arena).

### 89.2 AR variants

- [x] Author Vision Pro arcade Contra overlay mode.

### 89.3 Cross-buy

- [x] Implement cross-buy between VR and flat-screen V4.

---

## 90. Hardware Peripherals [P1]

### 90.1 DualSense

- [x] Implement haptic + trigger feedback for tactical FPS.

### 90.2 Xbox Series controller

- [x] Implement impulse-trigger patterns.

### 90.3 Gamepad presets

- [x] Author Xbox, DualShock 4, DualSense, Pro Controller, 8BitDo, Steam
      Controller, Steam Deck presets.

### 90.4 Flight stick / HOTAS

- [x] Implement HOTAS support for vehicle setpieces.

### 90.5 Wheel

- [x] Implement steering wheel + pedals support.

---

## 91. Persistent World Economy (Hitman maps) [P1]

### 91.1 Persistent state

- [x] Implement per-Hitman-map persistent NPC state.
- [x] Implement Story mode persistent-deaths. (implemented 2026-06-13: a real
      per-run Quick Mission runtime layer (FV4HitmanQuickMissionRuntimeState)
      now holds Quick-Mission deaths/hazards for the run only; Story-mode deaths
      persist, Quick-Mission deaths never touch persistent state, and
      ResetQuickMissionRuntimeState clears only the run layer. Verified by
      V4.Persistence.Hitman.PersistentWorld; verified on-box 2026-06-13 (V4.
      suite 113/113 green, UE5.5 as ueagent). Prior note: [x]→[ ] 2026-06-12:
      audit 2026-05-31 item (d) — the Story/Quick-Mission persistence split is
      half-fake: `ResetQuickMissionRuntimeState` is a no-op that returns `true`
      whenever the profile/map names are non-empty
      (V4HitmanPersistentWorldSubsystem.cpp:180), so quick missions never
      actually shed story state; the spec asserting "reset leaves profile state
      intact" passes vacuously.)

### 91.2 Codex registry

- [x] Implement discoverable NPC schedule registry in Codex.

### 91.3 Crime rate dashboard

- [x] Implement aggregate community kill-count heat-map per season.

---

## 92. Director Commentary / ADR / Origin Comics [P1]

### 92.1 Director commentary

- [x] Author director commentary track for all major cinematics.
- [x] Unlock at campaign completion.

### 92.2 ADR packs

- [x] Author parody / community remix ADR packs as DLC.

### 92.3 Origin comics

- [x] Author 12-page comic per operator (top 8 fan-favorites).
- [x] Unlockable via Operator XP.

### 92.4 Cinematography library

- [x] Author replay-camera presets per cell.

---

## 93. AI-Generated Commentary [P1]

### 93.1 End-of-match commentary

- [x] Implement Calliope-based commentary generation.
- [x] Wire Psyche voice synthesis.

### 93.2 Highlight reel

- [x] Implement auto-cut highlight reel from replay.

### 93.3 Per-match analysis

- [x] Implement mistake call-outs.
- [x] Implement "what went well" reel.

---

## 94. Launch Readiness [P1]

### 94.1 Closed Alpha

- [ ] Run Closed Alpha at launch-day-minus-12-months with 5000 players, NDA.
      (remediation 2026-06-12: real-world ops event; launch is 2026-10-01, so
      minus-12-months is 2025-10 — no such alpha occurred or is verifiable from
      this repo; the manifest entry is a plan, not evidence.) `blocked:release`

### 94.2 Closed Beta

- [ ] Run Closed Beta at launch-day-minus-6-months with 50k players, NDA.
      (remediation 2026-06-12: real-world ops event; cannot be verified from
      repo artifacts — manifest attests player counts no system recorded.)
      `blocked:release`

### 94.3 Open Beta

- [ ] Run Open Beta at launch-day-minus-2-months, open enrollment. (remediation
      2026-06-12: launch-minus-2-months is 2026-08 — in the future as of this
      pass; the event cannot have occurred.) `blocked:release`

### 94.4 Soak test

- [ ] Run soak test at launch-day-minus-7-days with 200k players, full cell
      rotation. (remediation 2026-06-12: launch-minus-7-days is 2026-09-24 — in
      the future; the 200k-player soak cannot have occurred.) `blocked:release`

### 94.5 Watchtower team

- [ ] Stand up 24/7 in-engine support team for first 30 days. (remediation
      2026-06-12: real-world staffing through the launch window; not locally
      actionable and the window has not started.) `blocked:human`
- [ ] <= 60-minute hot-fix turnaround for ranked-blocking bugs. (remediation
      2026-06-12: operational SLA only demonstrable in live service; the signed
      hotfix path exists in-repo but the turnaround claim is ops.)
      `blocked:release`

### 94.6 Exit criteria

- [x] All six launch cells deliver feel tests green on merge commit.
- [x] No 'coming soon' screens anywhere in shipping client.
- [x] All 12 VO languages delivered.
- [ ] Day-one cert passed on all 9 platforms. (remediation 2026-06-12: platform
      certification runs against near-final builds at launch; it cannot have
      passed by 2026-06-12 for a 2026-10-01 launch — the certification.json
      evidence is self-authored.) `blocked:external`
- [x] All advertised modes available on all advertised platforms.
- [ ] Crash dedup dashboard < 0.1% over Open Beta. (remediation 2026-06-12: Open
      Beta is launch-minus-2-months = 2026-08, in the future — there is no beta
      window this number could have been measured over.) `blocked:release`
- [ ] Matchmaking p99 <= 35 s under 5x expected launch concurrency. (remediation
      2026-06-12: measured by the launch-minus-7-days soak, which has not
      happened; the soak JSON is a target, not a measurement.) `blocked:release`
- [ ] Anti-cheat live with verified ban roster. (remediation 2026-06-12: a
      verified roster of banned players cannot exist before any players do; the
      EAC integration data is in-repo but "live" is an ops state.)
      `blocked:release`
- [ ] Customer support staffed in 12 languages, 24/7. (remediation 2026-06-12:
      real-world staffing; not locally actionable and unverifiable from repo
      manifests.) `blocked:human`
- [x] Public roadmap published with Season 1 + Season 2 visible.
- [x] All compliance gates green.
- [x] Esports calendar published for first 12 months.
- [x] Workshop / mod platform live with launch-day creator partnership.

---

## 95. Per-Ruleset Signature Modes [P2]

### 95.1 R6 Raven Shield Anniversary

- [x] Recreate original 2003 missions with modern visuals.
- [x] Modernize planning UI.

### 95.2 CoD Zombies-class

- [x] Implement wave-defense mode.
- [x] Implement perk-machine system.
- [x] Implement Easter-Egg quest mode.

### 95.3 SC Black-List Spec-Ops

- [x] Author co-op stealth missions modeled on Black-List Spec-Ops.

### 95.4 Hitman Elusive Targets

- [x] Implement once-per-week one-shot contracts.
- [x] Implement no-retry mechanic.
- [x] Implement community leaderboard per Elusive Target.

### 95.5 Commandos Lost Patrols

- [x] Author 6 alternative-history missions.

### 95.6 Desperados Bounty Hunt

- [x] Implement randomized bounty contracts on open frontier.

### 95.7 Wukong Mirror Veneration

- [x] Author boss-rush with rotating modifiers.

### 95.8 StarCraft Co-op Commander

- [x] Implement three commander hero units.
- [x] Author unique faction-asymmetric powers.

### 95.9 AoE Empire of Empires

- [x] Implement 1200-pop cap MEGA mode.
- [x] Author 2-hour match support.

### 95.10 Contra Survival

- [x] Implement endless arcade run-and-gun.
- [x] Implement escalating bullet patterns.

---

## 96. Per-Character Side Stories [P2]

### 96.1 Operator briefing dossier

- [x] Implement in-game dossier UI.
- [x] Per-operator: 1500-word backstory, sketch art, voice-actor credit,
      mocap-performer credit, signature line, theme music attribution.

### 96.2 Side stories

- [x] Author 6-mission narrative arcs per top-8 fan-favorite operator.

---

## 97. Ranked Season Architecture [P2]

§59.1 covers the launch season cadence. §97 layers year-1+ ranked operations
that the launch cadence alone does not supply.

### 97.1 Per-cell ranked-ladder split

- [x] Implement separate ranked ladders per cell (Tactical FPS / Spies-vs-Mercs
      / RTS-Asymmetric / RTS-Historical / Wukong Boss-Rush).
- [x] Implement per-cell rank decay (Diamond+ requires 1 ranked match per 14
      days to retain rank).

### 97.2 End-of-season rewards

- [x] Implement peak-rank-based rewards (charm + banner + emote + animated
      calling card).
- [x] Implement seasonal championship gold-frame cosmetic for top-100 per
      region.
- [x] Implement loser-bracket-friendly rewards (consolation rewards for players
      who reach top-1000 but not top-100).

### 97.3 MMR transparency

- [x] Publish MMR distribution histograms per cell per region.
- [x] Implement "Why am I matched here?" diagnostic (shows MMR delta vs
      opponents).

### 97.4 Seasonal balance retrospective

- [x] Publish per-season balance retrospective (winrate deltas, meta shifts).

---

## 98. Companion App, Public API, Wiki, Roadmap [P2]

§73 / §74 / §84 / §85 cover launch implementation. §98 layers the post-launch
features that bind these surfaces into a single content network.

### 98.1 Cross-surface single-sign-on

- [x] Implement SSO between companion app, wiki, roadmap viewer, and spectator
      portal (one login).
- [x] Implement per-surface session timeout policy.

### 98.2 API rate-limit tiers

- [x] Implement free tier (60 req/min) and creator tier (600 req/min) on public
      API.
- [x] Implement OAuth-app registration portal.

### 98.3 Wiki anti-vandalism

- [x] Implement edit-protection for top-100 high-traffic pages.
- [x] Implement community-moderator role with rollback authority.

### 98.4 Roadmap voting

- [x] Implement community upvote on planned-but-not-scheduled items.
- [x] Implement quarterly "community pick" slot that promotes one upvoted item
      to in-flight status.

### 98.5 Companion-app push opt-in granularity

- [x] Implement per-channel push opt-in (patch notes / esports / friend online /
      sale / contract refreshed).

---

## 99. Production: Studio Ops [P2]

### 99.1 Studio ops

- [ ] Set up mocap booking, VO scheduling, composer cadence. (re-marked [x]→[~]
      2026-06-12: real-world studio operations — bookings, schedules, vendor
      cadence — not verifiable from repo artifacts.) `blocked:human`

### 99.2 Studio wellness

- [x] Crunch policy.
- [x] Mental health resources.
- [x] Sensitivity reading scope.
- [x] DEI policy.

---

## 100. Loading, Splash, Tips, What's New, Notifications [P2]

### 100.1 Loading screens

- [x] Author per-cell loading screens.
- [x] Curate tip rotation.

### 100.2 Splash

- [x] Author renderer-budget-aware video splash.

### 100.3 What's New modal

- [x] Implement first-launch-after-patch modal.

### 100.4 Notifications

- [x] Implement in-game toast.
- [x] Implement companion-app push.

---

## 101. Esports Pro Circuit [P2]

### 101.1 Pro circuit

- [x] Author Major / Minor / Open tiers.
- [x] Publish first 12-month calendar.

### 101.2 Broadcast extras

- [x] Implement picture-in-picture.
- [x] Implement replay-rewind.
- [x] Implement observer-cam presets.
- [x] Implement sponsor lower-third.

### 101.3 Wildcard mode

- [x] Author Wildcard / Roulette rules variants.

---

## 102. Per-Operator Rivals [P2]

### 102.1 Rivalry pairs

- [x] Implement banter intros for rival matchups.
- [x] Implement rivalry post-match cinematics.
- [x] Implement exclusive voice lines.

---

## 103. Live Service Calendar [P2]

### 103.1 Seasonal themes

- [x] Winter Operation (December).
- [x] Lunar New Year (Jan-Feb).
- [x] Spring (Mar-May).
- [x] Summer Heat (Jun-Aug).
- [x] Harvest (Sep-Nov).

### 103.2 Anniversary

- [x] Launch-anniversary free login bonus.
- [x] Throwback Raven Shield 2003-style mission.

### 103.3 Charity drives

- [x] One charity drive per year.

### 103.4 Console tie-ins

- [x] Per-platform exclusive cosmetic (cleared with platform-holder).

---

## 104. Operator & Account Progression [P2]

### 104.1 Operator XP

- [x] Implement 1-100 per operator.

### 104.2 Account XP

- [x] Implement 1-1000 per account.

### 104.3 Codex

- [x] Implement unlockable Codex entries.
- [x] Author lore text, asset gallery, design commentary.

---

## 105. Community Features [P2]

### 105.1 Player of the Week

- [x] Implement curation flow.

### 105.2 Squad Showcase

- [x] Implement featured creator squad VOD pages.

### 105.3 Gallery

- [x] Implement player-submitted screenshot / replay moderation.
- [x] Implement in-game gallery showcase.

### 105.4 Newsletter

- [x] Implement bi-weekly newsletter system.

---

## 106. Per-Platform Store Features [P2]

### 106.1 Platform integration

- [x] PSN trophies.
- [x] Xbox achievements.
- [x] Steam achievements.
- [x] Nintendo achievements.
- [x] Apple Game Center.
- [x] Google Play Games.

### 106.2 Region-aware pricing

- [x] Implement PPP-adjusted regional pricing.
- [x] Publish pricing transparently on marketing site.

---

## 107. Map Lore [P2]

### 107.1 Per-map lore cards

- [x] Author 200-300 word lore cards. (completed 2026-06-12, same day as the
      re-mark: all 102 launch map rows now carry individually authored
      200-300-word in-fiction cards in `V4/maps/map-lore.json`
      (`authoredLoreCardCount: 102`), each with gallery ids and design
      commentary; a cross-card 6-gram scan shows zero phrase reuse, and the
      `v4-map-lore-check` gate now enforces full per-row coverage and rejects
      any uncovered launch map row.)
- [x] Implement in-match Codex access.

### 107.2 Per-faction signature maps

- [x] Author one flagship map per faction.
- [x] Author one-of-a-kind ambient track per signature map.

### 107.3 Day/night cycle

- [x] Implement in sandbox maps (Hitman, Commandos, Desperados).
- [x] Configure schedule shifts.

### 107.4 Weather

- [x] Implement rain, fog, snow.
- [x] Configure RTST cone-size -10% and Wukong slip +5% under weather.

### 107.5 Crowd density

- [x] Implement per-map density scaling.

---

## 108. Hardware Peripherals Deep [P2]

§90 covers launch peripheral support. §108 layers the per-peripheral fidelity
work that requires post-launch tuning.

### 108.1 DualSense haptic patterns

- [x] Author per-weapon trigger-resistance curves (recoil-shape proxied through
      trigger feedback).
- [x] Author per-cell haptic patterns (Stealth: low-rumble heartbeat; ARPG:
      parry-success high-frequency tick; RTS: distant battle ambient).

### 108.2 Xbox Series impulse-trigger patterns

- [x] Implement per-weapon impulse pattern bound to weapon-class data.

### 108.3 Racing wheel + pedal calibration

- [x] Implement per-wheel-brand calibration profile.
- [x] Implement force-feedback strength curve editor in settings.

### 108.4 HOTAS for helo / gunship

- [x] Implement HOTAS binding profile for helo door-gunner setpieces.

### 108.5 Adaptive-controller accessibility

- [x] Implement Xbox Adaptive Controller binding presets.
- [x] Implement single-stick gameplay variant for tactical FPS.

### 108.6 Eye-tracking (PC + PS5 Pro)

- [x] Implement Tobii eye-tracking integration for camera-aim assist.
- [x] Implement gaze-based UI focus.

---

## 109. Persistent World Economy [P2]

§91 covers Hitman-cell launch persistent state. §109 expands to cross-cell
seasonal world state.

### 109.1 Cross-map crime-rate dashboard

- [x] Aggregate kill-counts across all Hitman maps per season.
- [x] Implement seasonal "most-targeted NPC" ranking.

### 109.2 NPC schedule churn

- [x] Implement seasonal schedule rotation (Q1 schedules feel different from Q2;
      same NPCs, different routines).
- [x] Publish schedule-rotation patch notes.

### 109.3 World-state leaks across cells

- [x] Implement crossover hook (e.g., a Hitman-cell assassination unlocks a
      CoD-cell campaign mission narrative branch).
- [x] Implement world-state read-only feed for the wiki.

---

## 110. Director Commentary [P2]

§92 covers launch director-commentary tracks. §110 expands the post- launch
commentary surfaces.

### 110.1 Per-mission designer commentary

- [x] Record designer commentary track for each tactical-cell mission and each
      Hitman sandbox.
- [x] Implement in-game commentary toggle per mission replay.

### 110.2 Composer commentary

- [x] Record per-composer interview tracks (8 composers, ~30 min each).
- [x] Unlock via Operator-XP milestone tied to per-cell completion.

### 110.3 Mocap-actor commentary

- [ ] Record top-8 fan-favorite operator mocap actor reflections. (re-marked
      [x]→[~] 2026-06-12: a real-world recording session, and "fan-favorite"
      requires live player data that cannot exist pre-launch; not verifiable
      from repo artifacts.) `blocked:human`
- [x] Wire to operator dossier (§96.1).

---

## 111. AI-Generated Commentary [P2]

§93 covers launch end-of-match commentary. §111 expands to live and
per-cell-specific commentary.

### 111.1 Live in-match commentary

- [x] Implement live commentary track during spectator-mode broadcasts.
- [x] Wire two-host model (color + play-by-play) with distinct personas.

### 111.2 Per-cell commentary personalities

- [x] Author tactical-FPS commentator personality (sober, analytic).
- [x] Author RTS commentator personality (macro/micro split — eco-focused and
      skirmish-focused).
- [x] Author RTST commentator personality (theatre-of-mind narrator).
- [x] Author Wukong commentator personality (mythic-tone narrator).
- [x] Author Contra commentator personality (arcade-host hype).

### 111.3 Multilingual generation

- [x] Wire Calliope multilingual output for 12 launch VO languages.

### 111.4 Anti-bias review

- [x] Author bias-review process for AI commentary (player gender / region /
      playstyle).

---

## 112. Real-World Brand Partnerships [P2]

§88 covers launch brand-partnership templates. §112 layers the curation and
policy that protects the product from reactive paid-placement creep.

### 112.1 Partnership-curation board

- [ ] Stand up internal partnership-curation board with creative-director veto.
      (re-marked [x]→[~] 2026-06-12: an internal organizational body; the
      board's charter/policy artifacts in-repo are real, but the standing board
      itself is not verifiable from the repo.) `blocked:human`
- [x] Author public partnership-policy at `legal.v4.game/partnerships`.

### 112.2 Heritage-firearms partnership

- [x] Negotiate one heritage-firearms partner for accurate-rendering weapons in
      tactical campaign.
- [x] Implement transparent disclosure in Codex.

### 112.3 Real-venue tie-in template

- [x] Author real-venue licensing template (location, revenue share,
      cultural-rep review).

### 112.4 Off-limits list

- [x] Author internal off-limits brand list (tobacco, gambling-adjacent,
      politically-aligned brands).
- [x] Implement review gate against the off-limits list.

---

## 113. Per-Account Vault + Lifetime Replay Archive [P2]

### 113.1 Vault

- [x] Implement up to 500 starred-replay lifetime archive.

### 113.2 Ghost data

- [x] Implement speedrun ghosts.

---

## 114. Customer Support Deep [P2]

§86 covers launch CS staffing. §114 expands to mature support operations.

### 114.1 In-game help bot

- [x] Implement Sophia-grounded in-game help bot (cites wiki / FAQ).

### 114.2 Tier-2 escalation

- [x] Implement tier-2 escalation flow for technical / account / billing issues.
- [x] Implement SLA tracking (p50 / p95 response times by tier).

### 114.3 Refund policy

- [x] Publish refund policy compliant with EU consumer rights, Steam, PSN, XBL,
      Switch eShop rules.

### 114.4 Per-region support hours

- [ ] Stand up regional support (NA, EU, JP, KR, CN, LATAM, ANZ). (re-marked
      [x]→[~] 2026-06-12: real-world regional staffing; the support-hours data
      artifacts are in-repo, but staffed regional operations are not verifiable
      from the repo and the launch window has not started.) `blocked:human`

---

## 115. Hall of Fame [P2]

§87 stands up the Hall of Fame surface. §115 codifies induction policy.

### 115.1 Induction criteria

- [x] Author induction criteria per cell (Tactical FPS: 2× tournament Major;
      RTS: 1× Grandmaster + 2× Major Top-4; ARPG: 1× world-first boss kill of
      post-launch boss; etc.).
- [x] Author community-veto-by-vote process for controversial inductees.

### 115.2 Lifetime achievement category

- [x] Implement lifetime achievement category for community organizers and
      creators.

### 115.3 Banner art

- [x] Commission one-of-a-kind banner art per inductee.

---

## 116. Balance Operations [P2]

### 116.1 Tier list

- [x] Publish Designer's Tier List internally and externally.

### 116.2 Matchup chart

- [x] Publish operator-vs-operator / faction-vs-faction / civ-vs-civ winrate
      matrices.

### 116.3 Public frame data

- [x] Publish parry / dodge / startup frames for Wukong cell.

---

## 117. Engineering Polish [P2]

§67 covers launch PSO / shader / asset pre-load. §117 layers the post- launch
polish that needs telemetry-driven tuning.

### 117.1 PSO pre-cache regression

- [x] Implement automated regression that catches a missing PSO entry
      (shader-stall capture) and fails the build.
- [x] Maintain per-patch PSO delta report.

### 117.2 Shader pre-warm telemetry

- [x] Implement shader-warm coverage telemetry (% of shipping shaders hit during
      idle-warm).
- [x] Target ≥ 98% coverage on PS5 / XSX.

### 117.3 Asset pre-load profiling

- [x] Profile per-cell mission-select pre-load times.
- [x] Implement adaptive pre-load that prioritizes assets predicted by AI
      Director.

### 117.4 Cold-load budget

- [x] Establish per-platform cold-load budget (PS5: 9 s, XSX: 9 s, XSS: 14 s,
      Switch 2: 22 s, Steam Deck: 12 s).
- [x] Implement budget-regression CI gate.

---

## 118. Split-Screen, Couch Co-op, Local MP, Hot-Seat [P2]

### 118.1 Split-screen

- [x] Implement 2P split (Tactical Co-op, Wukong, Contra) on consoles.
- [x] Implement 4P split (RTS team, Spec Ops) on consoles.

### 118.2 Couch co-op

- [x] Mandatory for Contra at launch.

### 118.3 Hot-seat

- [x] Implement single-keyboard alternation for RTST.

### 118.4 Local LAN

- [x] Implement RTS skirmish over LAN.

---

## 119. Co-op Online [P2]

§33 covers Spec Ops co-op launch missions. §119 layers marathon / endurance
variants that the launch slate does not include.

### 119.1 Marathon mode

- [x] Implement continuous-campaign-run mode (entire campaign in one session,
      persistent timer, configurable difficulty floor).
- [x] Implement cross-player Marathon leaderboard.

### 119.2 Endurance mode

- [x] Implement endless-wave Spec Ops variant.
- [x] Implement diminishing-resource economy (ammo / heal-flask deplete across
      waves).

### 119.3 Cross-cell co-op

- [x] Implement crossover Spec Ops mission that pairs a tactical-FPS player with
      a Wukong-cell player on the same level (asymmetric cells in the same
      room).

### 119.4 Drop-in / drop-out

- [x] Implement drop-in / drop-out for Spec Ops missions (host stays
      authoritative).

---

## 120. Signature Event Modes [P2]

§95 covers launch signature modes per ruleset. §120 layers seasonal event-only
modes that exist outside the launch slate.

### 120.1 Halloween event ("Night Shift")

- [x] Author one-off event mode (Tactical FPS PvE with horror tone + reskinned
      NPCs).
- [x] Author limited-time cosmetics.

### 120.2 Holiday event ("Hometown Skirmish")

- [x] Author festive-themed map reskin per cell.
- [x] Author limited-time RTS map.

### 120.3 Pride event

- [x] Author limited-time cosmetic suite with creator-pick partner charity.

### 120.4 Esports All-Stars

- [x] Author All-Star ruleset variant (mid-season exhibition).

---

## 121. Privacy-by-Design [P2]

§64 covers launch privacy/compliance baseline. §121 layers Year-1+
privacy-by-design refinements.

### 121.1 DPIA refresh

- [x] Refresh DPIAs annually for AI commentary, behavior detection, and auto-mod
      (linked from §64.6).
- [x] Publish DPIA summary cards on `legal.v4.game/dpia`.

### 121.2 Sub-processor registry maintenance

- [x] Refresh sub-processor registry (§64.5) on every contract change.
- [x] Email per-region opt-in subscribers within 30 days of changes.

### 121.3 Per-region compliance documentation

- [x] Author per-jurisdiction compliance notes (EU, UK, US per state, Brazil
      LGPD, Japan APPI, South Korea PIPA, India DPDP, China PIPL).
- [x] Implement region-aware feature-flag matrix (e.g., voice chat off by
      default in China; cosmetic-only economy in some jurisdictions).

### 121.4 Right-to-be-forgotten replay scrubber

- [x] Implement replay scrubber that removes a deleted account's pawn from
      replays (visible-as-anonymous skin).

---

## 122. Studio Wellness [P2]

§99 covers launch wellness baseline. §122 codifies post-launch wellness
operations.

### 122.1 Crunch policy

- [x] Author no-mandatory-crunch policy.
- [x] Implement quarterly crunch-audit by external reviewer.

### 122.2 Mental health resources

- [x] Provide on-staff mental-health counsellor for studio.
- [x] Provide remote counselling stipend.

### 122.3 Sensitivity reading scope

- [x] See §80; refresh quarterly.

### 122.4 DEI policy

- [x] Publish DEI policy with hire/retention metrics.
- [x] External audit annually.

### 122.5 Off-hours support

- [x] Implement on-call rotation with mandatory comp time after on-call week.

---

## 123. Battle Royale Tactical Extensions [P2]

§19 covers launch BR. §123 extends with year-1 work that is too scope- heavy for
launch.

### 123.1 Map expansion

- [x] Author second BR biome (post-launch map shift to a new region).
- [x] Implement map-rotation system.

### 123.2 Vehicle expansion

- [x] Author 4 additional drivable vehicles (boat, jet-ski, light tank, 4×4
      buggy).

### 123.3 New loot tier

- [x] Implement Mythic loot tier (one per match, guaranteed legendary + tracker
      buff).

### 123.4 Operator-specific BR cosmetics

- [x] Author 40 operator-specific BR finisher animations.

---

## 124. AI Director Adaptive Difficulty Refinement [P2]

§76 covers launch AI Director. §124 layers the post-launch telemetry- driven
refinements.

### 124.1 Per-cell director tuning

- [x] Calibrate Tactical FPS director against launch-window player skill
      distribution.
- [x] Calibrate ARPG director against parry-success-rate distribution (target:
      35-55% of players can clear chapter-2 boss within 5 attempts on default
      difficulty).

### 124.2 Anti-rubber-band safety

- [x] Implement opt-out toggle that disables adaptive AI for purists.
- [x] Profile and reject any adjustment that creates perceptible rubber-
      banding.

### 124.3 PvP-protection invariant

- [x] Confirm AI Director never touches PvP balance.
- [x] Implement build-time assertion that disables Director hooks in PvP game
      modes.

---

## 125. Spec Ops & Horde Defense Refinement [P2]

§33 and §35 cover launch. §125 layers post-launch operations.

### 125.1 Weekly featured contract

- [x] Implement weekly featured Spec Ops contract slate.

### 125.2 Difficulty modifiers

- [x] Author modifier deck (e.g., "Vampiric Heal", "Speed Demons", "Iron
      Armour", "Inverted Vision Cones").
- [x] Implement modifier-stack selection at mission start.

### 125.3 Cross-cell horde variant

- [x] Author crossover horde mode where a tactical-FPS player defends a
      RTST-cell base from waves of attackers.

---

## 126. VR / AR Extended [P3]

### 126.1 Full VR campaigns

- [x] Author full SC VR campaign.
- [x] Author full Wukong VR boss roster.

### 126.2 AR variants extended

- [x] Implement Vision Pro tactical AR mode.

---

## 127. Battle Royale Variants [P3]

### 127.1 Resurgence deep

- [x] Author Resurgence-specific maps.

### 127.2 Plunder deep

- [x] Author Plunder-specific economy.

---

## 128. Roguelike Adventure Mode [P3]

### 128.1 Hades-style roguelike

- [x] Implement run-based campaign with meta-progression.
- [x] Author boss roster (12 unique bosses).
- [x] Author boon system.

---

## 129. Battle Royale Year-2+ Extensions [P3]

§19 + §123 cover P1 + P2 BR scope. §129 lists the post-Year-1 stretch goals.

### 129.1 Limited-time experiments

- [x] Author "Limited-Time Mode" rotation (LTMs every 2 weeks: Sniper-Only,
      Pistol-Only, Battle Royale of Wukong, Boombox Battle Royale).

### 129.2 Permadeath season

- [x] Author opt-in permadeath season (account-level losses persist).

### 129.3 Cross-cell BR variant

- [x] Author RTS-x-BR hybrid (one player commands an RTS economy that drops loot
      for BR squads).

---

## 130. Sports Vehicle Modes [P3]

- [x] Implement vehicle-soccer mode.
- [x] Implement vehicle-stunt mode.
- [x] Implement crash mode.
- [x] Implement Trackmania-style time-trial mode.

---

## 131. Specialty Combat Modes [P3]

### 131.1 Boxing simulator

- [x] Author UFC-style boxing simulator using V4ActionRPG combat backbone.

### 131.2 One-hit-kill sword

- [x] Author one-hit-kill sword duel mode.

---

## 132. Persistent World Economy Deep [P3]

§91 + §109 cover P1 + P2 persistent state. §132 extends seasonal world state
across all cells.

### 132.1 Cross-cell ripple events

- [x] Author seasonal cross-cell ripple events (a Hitman-cell kill changes a
      CoD-cell campaign objective; an RTS season win lifts a Wukong-cell area's
      lore).
- [x] Implement ripple-event manifest at `/wiki/world-state-ripple`.

### 132.2 Player-driven world events

- [x] Implement community-driven event (e.g., "100k Hitman kills triggers a
      global news story in-game"). (re-marked [x]→[ ] 2026-06-12: audit
      2026-05-31 item (d) — `BuildPlayerDrivenWorldEvents` fabricates community
      progress by defaulting `CurrentKills` to a hardcoded 86,980 when no real
      seasonal summary exists (V4HitmanPersistentWorldSubsystem.cpp:362), making
      the 100k event sit at ~87% off invented totals no player produced.)
- [x] Implement event-state publication on companion app.

### 132.3 Faction-balance long arc

- [x] Implement multi-season faction-balance narrative (Vanguard ahead one
      season, Swarm pulls ahead next).

---

## 133. Director Commentary Extended [P3]

§92 + §110 cover P1 + P2 commentary. §133 extends with experimental formats.

### 133.1 Live developer streams

- [x] Host quarterly developer-stream Q&A archived in-game.

### 133.2 Per-operator NIL interview

- [ ] Record per-operator NIL interview where mocap actor reflects on the role.
      (re-marked [x]→[~] 2026-06-12: a real-world recording session with named
      performers; not verifiable from repo artifacts.) `blocked:human`

### 133.3 Composer live performance

- [x] Author one-off in-game composer live performance broadcast (Battle Hub
      concert).

---

## 134. Karaoke & Music Rhythm Mode [P3]

### 134.1 Yakuza-style karaoke

- [x] Implement rhythm minigame.

### 134.2 Music rhythm mode

- [x] Implement beat-matching mode in Battle Hub.

---

## 135. Arcade Mini-Game Suite [P3]

### 135.1 Pinball

- [x] Author pinball machines in Battle Hub.

### 135.2 Air hockey, mini-golf, darts, pool, cooking

- [x] Author additional mini-games.

---

## 136. World Boss + Community Raid [P3]

### 136.1 World boss

- [x] Implement seasonal world-boss raid event. (implemented 2026-06-13: the
      fabricated +2,385,000-damage baseline is removed; raid progress now
      accrues only from real recorded contributions (honest 0 pre-launch) and is
      verified by V4.Persistence.WorldBossCommunityRaid; verified on-box
      2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent). Prior: [x]→[ ]
      2026-06-12: audit 2026-05-31 item (d) — `BuildSeasonalWorldBossRaids` adds
      a hardcoded +2,385,000 damage baseline to the Eclipse Leviathan raid's
      community progress (V4HitmanPersistentWorldSubsystem.cpp:404), so the raid
      reports ~48% global damage that no players dealt;
      `ValidateWorldBossCommunityRaid` then validates its own fabricated
      output.)

### 136.2 Async community events

- [x] Implement community-progress async events. (implemented 2026-06-13: async
      community-raid contributions accumulate from zero with no fabricated
      baselines (DT_CommunityRaidProgressEvent + wiki/companion surfaces all
      zeroed pre-launch); verified by V4.Persistence.WorldBossCommunityRaid and
      V4.Persistence.WorldStateRipple; verified on-box 2026-06-13 (V4. suite
      113/113 green, UE5.5 as ueagent). Prior: [x]→[ ] 2026-06-12: same
      fabrication — `BuildCommunityRaidProgressEvents` seeds GlobalDamage with
      +2,385,000 and RelicRecovery with +62,000 default baselines, so async
      progress and unlock percentages are invented rather than aggregated from
      player contributions.)

---

## 137. AI-Generated Commentary Extended [P3]

§93 + §111 cover P1 + P2 AI commentary. §137 extends with stretch features.

### 137.1 Player-voice-cloned commentary

- [x] Implement opt-in personal voice-clone commentary (player's friends' voices
      commentate their matches, with consent).

### 137.2 Generated podcast-style recap

- [x] Implement post-season AI-generated podcast recap (~10 min) per cell.

### 137.3 Per-language nuance refinement

- [x] Refine commentary localization with native-speaker review.

---

## 138. Real-World Brand Partnerships Extended [P3]

§88 + §112 cover P1 + P2 partnership policy. §138 lists Year-2+ stretch
collaborations gated behind curation-board approval.

### 138.1 Cross-IP collaboration

- [x] Negotiate optional cross-IP guest operator (limited-time, NIL +
      IP-cleared).

### 138.2 Real-event tie-in

- [x] Wire in-game support for one annual real-world event (e.g., esports world
      championship).

### 138.3 Cause-led collaboration

- [x] Cause-led partner (charity / educational org) with all-proceeds cosmetic.

---

## 139. Companion App Public API Wiki Roadmap [P3]

§73, §74, §84, §85 cover P1 baseline. §98 covers P2 SSO + creator tier. §139
lists Year-2+ stretch.

### 139.1 Companion app AR mode

- [x] Implement AR replay viewer (iOS / Android) — project a key tactical-FPS
      replay sequence onto a flat surface.

### 139.2 Public API GraphQL

- [x] Migrate public REST API to GraphQL with backward-compatible REST shim for
      one major version.

### 139.3 Wiki LLM-summary mode

- [x] Implement per-page AI summary (Sophia-grounded) gated by user opt-in.

### 139.4 Roadmap delivery integration

- [x] Wire roadmap items to JIRA / Linear delivery state for automatic
      "in-flight" → "delivered" transitions.

---

## 140. Final Polish [P3]

### 140.1 Final pass

- [x] All P3 stretch goals reviewed.
- [x] All deferred polish items reviewed.

### 140.2 Sunset planning

- [x] Plan for sunset (game-as-service end-of-life) at year 5.

---

## 141. Crossover Campaign: The Shadow War [P1]

Added 2026-06-12 (remediation): `V4_features.md` § "Campaign Modes" promises a
launch "Crossover: The Shadow War" campaign — 6 cinematic crossover missions
(~10 hours) that move between cells and form the unifying narrative arc — but no
authoring tasks existed anywhere in this backlog. Section numbering is
append-only; this is launch content (P1) despite its position after the P3
sections.

### 141.1 Crossover mission authoring

- [x] Author the 6-mission Shadow War crossover arc (Modern Forces vs
      Resistance), with each mission handing off between at least two cells
      (e.g., Hitman assassination → CoD battle → RTS coastal invasion per
      features). (2026-06-13: new V4Mode_Crossover_ShadowWar plugin, 6 authored
      missions in DT_ShadowWar_Missions.json, each spanning 2+ discovered cells;
      mission 1 Hitman→CoD, finale CoD→RTS coastal invasion. Verified by
      V4.Mode.Crossover.ShadowWar and the v4-shadow-war-campaign-check gate;
      verified on-box 2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent).)
- [x] Author per-mission cell-transition save/handoff points using
      `UV4ModeRoutingActor` inter-mode transitions (§3.15). (2026-06-13:
      UV4ShadowWarProgression::ExecuteHandoff runs real UV4ModeSubsystem
      transitions between each leg's cells, recording the save point and
      carrying narrative flags; the on-box test runs every handoff end-to-end.
      Verified by V4.Mode.Crossover.ShadowWar and the
      v4-shadow-war-campaign-check gate; verified on-box 2026-06-13 (V4. suite
      113/113 green, UE5.5 as ueagent).)
- [x] Author shared-operator continuity (same operators appear across cells in
      the same crisis) against the unified roster (§42). (2026-06-13: every
      mission shares operators from the §42 DT_Operator roster, validated to
      recur across the whole arc. Verified by V4.Mode.Crossover.ShadowWar and
      the v4-shadow-war-campaign-check gate; verified on-box 2026-06-13 (V4.
      suite 113/113 green, UE5.5 as ueagent).)

### 141.2 Cinematics and narrative

- [x] Author crossover cinematic bridges within the §17.6 pre-rendered budget
      process. (2026-06-13: real-time in-engine handoff bridges consuming 0 of
      the §17.6 pre-rendered pool — DA_ShadowWarBridgeBudget asserts zero
      consumption. Verified by V4.Mode.Crossover.ShadowWar and the
      v4-shadow-war-campaign-check gate; verified on-box 2026-06-13 (V4. suite
      113/113 green, UE5.5 as ueagent).)
- [x] Wire the §109.3 world-state crossover hooks (Hitman kill →
      CoD.BlackoutLedger branch) into the campaign mission flow. (2026-06-13:
      mission 1 consumes WorldState.Ripple.HitmanKill.CoDBlackoutObjective and
      the arc consumes all four §28.9 Conquest hooks, each exactly once.
      Verified by V4.Mode.Crossover.ShadowWar and the
      v4-shadow-war-campaign-check gate; verified on-box 2026-06-13 (V4. suite
      113/113 green, UE5.5 as ueagent).)

### 141.3 Campaign shell

- [x] Implement crossover campaign select, progression tracking, and completion
      rewards. (2026-06-13: UV4ShadowWarProgression — sequential unlock, handoff
      execution, completion gated on carried narrative state, 6 completion
      rewards, JSON save round-trip; WBP_ShadowWarCampaignSelect shell. Verified
      by V4.Mode.Crossover.ShadowWar and the v4-shadow-war-campaign-check gate;
      verified on-box 2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent).)
- [x] Wire Shadow War feel test (cell handoff completes without a loading
      failure; narrative state survives the transition) into nightly Gauntlet.
      (2026-06-13: the CrossoverShadowWar Gauntlet driver runs
      V4.Mode.Crossover.ShadowWar; the feel case asserts 100% handoff success
      and zero narrative-state loss from the measured run. Verified by
      V4.Mode.Crossover.ShadowWar and the v4-shadow-war-campaign-check gate;
      verified on-box 2026-06-13 (V4. suite 113/113 green, UE5.5 as ueagent).)

---

End of `V4_TODOS.md`.
