RUN test_welcome_identity.py
PASS: account greeting survives client/controller/round changes; owner validation, delayed readiness, idempotent retry, stale replies and bounded ledger
RUN test_reconnect_recovery.py
PASS: original body/equipment retained past old timeout; expiry, death, canonical account/body, occupied controller, failed handoff and no replacement life
RUN test_welcome_lifecycle.py
PASS: actual welcome tick waits for URL/readiness, plays once, survives world changes, resets on a new connection and refuses stopped callbacks
RUN test_welcome_voice.py
........
----------------------------------------------------------------------
Ran 8 tests in 0.003s

OK
RUN test_speech_service.py
PASS: production TTS settings/test/enable/failure/disable/timeout flows preserve fallback, secrets, authorization, saved state and late-callback cancellation
RUN test_speech_menu.py
PASS: TTS admin authorization, limits, case preservation and menu control contract
RUN test_participant_selection.py
PASS: actual CurrentActor, SpawnPosition and observer-selection methods reject pending/unregistered/replaced/recycled/foreign/dead bodies; canonical selection/cycling, unconscious following and prison/geometry fallback preserved; native boundaries adapted
RUN test_progression_identity.py
PASS: actual gate and pre-inventory document guards reject noncanonical/faction/life/disconnect/server mismatches; canonical reconnect and unconscious carried intel preserved
PASS: WB-only native fault injection restores both body mutations before checks/returns and requires eligible held-document negative/positive proof; runtime pending
RUN test_player_admission_policy.py
PASS: player admission phase/life/identity/controller matrix, preload displacement limits, pending reservation overlap and owner exclusion
RUN test_mission_rules.py
PASS: all phase transitions, terminal states, defence boundaries, stale/future observations, intel discovery
RUN test_spawn_retry_budget.py
PASS: actual admission attempt budget bounds blocked/missing prerequisites; preparation, spent life and async pending remain protected
PASS: delayed admission retry retains controller ownership across same-account recycled connection IDs
RUN test_spawn_scene.py
PASS: delayed scene/inventory arrival, deferred preload, identity checks, stale replies, timeout and observer cleanup
RUN test_spawn_scene_lease.py
PASS: spawn scene remains held through final acknowledgement and nearby use; leaving, reassignment, disconnect and teardown release it
RUN test_initial_admission_exhaustion.py
PASS: actual initial admission exhaustion and ServerTick grace; new/pending/empty/controller/life guards, normal death preserved
RUN test_local_admission.py
PASS: actual local admission context/selection/latch, same-round late identity, replacement/mode failure, fresh round and untouched network path
RUN test_terrain_editor.py
PASS: six editor listeners transferred idempotently, unrelated handlers retained, authority guard and lifecycle ordering
PASS: takeover reconnect creates only missing managers, restores native roles, never grants non-admin access, skips stale/disconnected/client states
PASS: Game Master button becomes enabled on native permission arrival and disabled on revocation; no permission bypass
RUN test_terrain_presentation.py
PASS: native name callback preserves authored modes, opt-outs and failures; terrain suffix follows world changes, cached resolution and confirmed takeover metadata restores on cleanup without changing scenario resource or overwriting later titles
PASS: actual terrain parent traversal, Armenhof/Nogova names, Everon alias, missing-resource fallback, empty names and bounded cycles/depth
PASS: actual loading title hooks follow late takeover/terrain changes, keep native initialization/progress updates, bound refreshes and tolerate missing headers/widgets/game
PASS: 17 targeted regression checks
