PARTY START REPAIR - SCOPE, EVIDENCE AND ACCEPTANCE
=================================================

The two supplied Playtest 9 client logs both contain authenticated admission,
Room generations 2/3, and accepted committed stage=1 with two racers. Both
reach owned CPU/code construction. The host logs likewise reach construction.
One client subsequently reports the host route closing and returns cleanly.
Therefore the earlier empty launch message is repaired, but that alone did
not establish end-to-end startup. The supplied logs contain no checkpoint
phase diagnostics and do not prove which later handoff operation stalled.

The missing countdown has a separate confirmed source cause. The party service
sets launch_requested immediately and explicitly overrides countdown_active
to false. Its early return skips the existing four-port countdown machinery.
It has no per-racer launch acknowledgement gate. Playtest 10 restores the
five-second presentation fields and adds a bounded party-specific gate using
valid StartPayload stages 0/1 and authenticated LinkKind::Start receipts.

Only patches/party-start-repair is authored. The overlay composes after the
complete Playtest 9 repair. Three first-party translation units are staged in
external build directories: direct_session.cpp, experimental_runtime.cpp and
party_runtime.cpp. A small process-lifetime sidecar registry keeps DirectSession
and PartyLink header/class layouts untouched, with explicit disconnect cleanup.
No checked-out dependency, RecompiledFuncs or RecompiledPatches is edited.

Launch gate
-----------
* Required racers must be Ready, recently heard, and have completed a two-way
  heartbeat. Control, authoritative, realtime and checkpoint channels must be
  open before host Start. A working lobby channel alone is insufficient.
* Compact racing leases are finalized before publishing the prepared grid.
  A gate pins roster generation, rules, manifest hash and verified EEPROM
  generation/hash. Automatic delay is frozen during the transaction.
* The original five-second countdown fields are published through Room and
  consumed by the unchanged original lobby countdown presentation.
* Stage-0 preparation and stage-1 commit are acknowledged by authenticated
  member identity. Receipts bind descriptor hash, roster and save identity.
  A spectator neither votes nor gets a controller. The host may be watching.
* Host handoff requires every required commit receipt. Missing preparation
  times out after 30 seconds, commit after 15. Membership/settings/Ready/save
  changes cancel. Clients retain a retired hash to reject delayed launches.
* Late spectators may validate a committed running launch without voting in
  the initial racer barrier. Protocol codecs, AEAD and replay windows remain.

Checkpoint/startup hardening
---------------------------
* Initial guest capture/hashing/compression is outside the PartyLink lock, so
  the network owner can service heartbeats and receipts during that work.
* A fresh racer at epoch 91/frame zero with no irreversible Magic Code actions
  uses OwnedGame::admit_initial, the existing exact-layout/canonical-recapture
  gate, only after its mailbox is quiescent. Later observers/promotions retain
  the transactional confirmed-state admission path.
* Offer retries must match the retained offer exactly and cannot restart a
  decoded/admitted transfer. Ready and Go retries are bounded/idempotent, with
  epoch/cursor guards against stale Go messages restarting a later scene.
* Boot/capture/encoding/transfer/Ready/release logs identify the handoff, plus
  bounded five-second admission progress. Runtime failure text is printed.
  Logs contain no credentials, peer addresses, private checkpoint bytes or saves.
* The runtime compatibility identity incorporates this authored gate/admission
  contract; incompatible old playtests cannot silently enter the new runtime.

Validation and limits
---------------------
Recovery snapshot: D:/DiddykongWorkFolder/party-start-repair-20261023/baseline
The audit re-composes all staged outputs, validates final compiler bindings,
reruns retained audit contracts and verifies unchanged pre-existing authoring.
Only pre-existing untracked lobby-discovery planning files can be reported as
concurrently changed, never silently exempted if tracked.

Compile/link and static PE/ELF/ZIP/AppImage checks only. Do not launch the game,
mods, test executables or AppImage. Real-network startup, spectators and racing
acceptance remain the user's playtest; do not claim that static validation
proves them. Preserve prior packages. Do not push, publish or sign releases.
