# V2 Sovereign Core

The V2 sovereign core is the local-only runtime boundary for deterministic
gameplay, replay, save compatibility, and platform-cert-sensitive client code.
These systems remain in the Unreal project and do not delegate behavior to Oshun
services during runtime execution.

## Non-Negotiable Local Surfaces

- `V2Combat`: hitbox / hurtbox authority, frame data, collision resolution,
  blockstrings, juggle state, damage application, and combat event ordering.
- `V2Gameplay`: fighter state, GAS-backed attributes, match state transitions,
  gameplay-affecting save payloads, and deterministic match-start payloads.
- `V2Input`: per-platform IMC files, motion input parsing, input buffering,
  input recording, and local remap application.
- `V2Netcode` rollback: rollback simulation, prediction, correction,
  deterministic frame hashes, rollback snapshots, and peer-synchronized inputs.
- Save-format binary: binary profile / progression / settings format and all
  migration readers or writers that can change gameplay-affecting state.
- Replay container: input stream, frame hash stream, metadata schema, replay
  verification, and deterministic replay playback.
- Sequencer timelines: cinematic timing tracks and any combat-affecting timing
  embedded in authored Level Sequences.
- Per-platform IMC files: platform-specific input mapping contexts and
  certification-sensitive defaults.
- Anti-cheat client driver: client-side anti-tamper integration, local driver
  policy, signed client package wiring, and platform ban-list intake.

## Service Isolation Rule

No file inside the sovereign core may call out to async Oshun services, import
`@oshun/*` packages, include `V2Services/` headers, or depend on network output
that can vary per peer during rollback simulation.

The only external data allowed into rollback-synchronized gameplay is data baked
into the deterministic match-start payload before frame `0`; every peer must
receive the same bytes and the payload must be replay-recorded.

## Allowed Boundaries

- `V2Services` may consume Oshun gRPC and event-bus data, but sovereign modules
  cannot link against it.
- `V2Telemetry` may observe sovereign results after frames resolve, but it
  cannot feed data back into frame simulation.
- Bellona and Hathor may provide cooked assets or compiled data before runtime,
  but runtime mutation of deterministic state remains V2-local.
- AI Director, Psyche tendency profile, Iris commentary, and Oshun-sourced
  behavior hints use the rollback-ignored side-channel defined in
  [rollback-isolation.md](rollback-isolation.md).

## Review Rule

Any proposed exception requires an ADR under `V2/docs/decisions/` and must keep
the deterministic replay hash identical when Oshun services are unavailable.
