# V2 Karaoke Rhythm-Combat Bridge

`@v2/karaoke-rhythm-combat-bridge` is the cook-time composition surface for the
V2 karaoke + rhythm-combat fusion mode (§132). It binds:

- Euterpe `@euterpe/genesis` for procedural backing track prompts, lyric-guided
  melody generation, and generated stem manifests.
- Euterpe `@euterpe/accompany` for adaptive accompaniment, groove-lock analysis,
  and rhythm-grid context.
- Euterpe `@euterpe/protect` for DMCA-safe music swap and streamer-mode
  originality checks.
- Calliope `@calliope/sound-design` for per-fighter signature theme variations,
  rhythm-hit stings, and walkout cue variations.
- Iris `@iris/voice` for guide-voice speed/pitch directives.

The bridge emits authoring manifests for `V2Mode_Karaoke`,
`V2Mode_RhythmCombat`, `V2DynamicMusic`, `V2Audio`, and the V2-owned
`V2KaraokeScoring` pitch and rhythm scoring rubric. Euterpe, Calliope, and Iris
outputs are off rollback and may not influence deterministic combat state after
the manifest is cooked. The bridge rejects live rhythm-combat frame RPCs.

CI ownership is enforced by
`V2/ue/Tools/check-v2-karaoke-rhythm-combat-bridge.py`. The checker verifies the
package wiring, reciprocal Euterpe spec section, V2 architecture/dependency
docs, lockfile entries, checklist closure, and workflow presence.
