RUN test_hint_delivery.py PASS: actual guide ownership and scoped timer cancellation, current-controller preservation/reacquisition, hint retry/dedup and observer boundaries; native UI not exercised RUN test_native_end_lifecycle.py PASS: actual native-end shutdown, existing terminal snapshots, reentrancy, unchanged native end data and stale preparation guards RUN test_native_end_runner.py .... ---------------------------------------------------------------------- Ran 4 tests in 1.188s OK RUN test_escape_result_wording.py PASS: actual three-state result wording and UI refresh; stale winner IDs never manufacture escape RUN test_native_stats.py ........... ---------------------------------------------------------------------- Ran 11 tests in 0.096s OK RUN test_aircraft_translation.py PASS: actual immutable target, bounded autohover demand, drift refusal, five-second hold and unchanged qualification/deadline 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_preload_timeout.py PASS: actual scene deadline overrides delayed native preload only for rejection; late completion cannot assign, ordinary verified admission preserved RUN test_action_feedback.py PASS: actual action permission matrix unchanged; useful phase/intel/consciousness denials, stale reason cleared, native door denial preserved; no native UI claim RUN test_native_aircraft_control.py ..... ---------------------------------------------------------------------- Ran 5 tests in 0.192s OK RUN test_aircraft_flight_policy.py PASS: actual aircraft cancellation/stage rules, ground-only completion, expiry/capture faults, input ownership and no physical shortcuts RUN test_aircraft_flight_envelope.py PASS: actual exact-instance single-use qualification, native-clock staleness/movement refusal, footprint bounds and ownership-safe ground/fault cleanup RUN test_ordinary_screenshot.py PASS: actual optional screenshot helper flag/identity/world/life revalidation, one queued attempt, delayed capture and mission/world cleanup; no native image/presentation claim PASS: actual yard diagnostic exact registered prison ownership, eight native-bound corner projections, no root-sibling escape, bounded duplicate/deep/wide hierarchy traversal; native projection/mask still unmeasured RUN test_participant_selection.py PASS: actual CurrentActor, SpawnPosition and observer-selection methods reject pending/unregistered/replaced/recycled/foreign bodies; canonical live selection and roster-corpse cycling, unconscious following and prison/geometry fallback preserved; native boundaries adapted RUN test_native_shared_map_ownership.py PASS: actual native-map fixture ownership, cleanup and callback evidence fail closed; native execution remains separate RUN test_shared_map_ownership.py PASS: actual shared-map callbacks bind exact map/config/root, preserve replacement UI/camera, defer focus, and remove only owned delayed work RUN test_intel_registration.py PASS: actual Intel/HQ methods and one-shot qualified readiness handoff deliver late actors once; duplicate readiness, accepted spawn, pickup/drop, death and original negative rolls do not mint assignments PASS: Workbench-only read accessor rejects unknown/nonserver identities; Chat observes all distinct ready crew before existing shell-depletion mutation RUN test_mortar_activity_completion.py PASS: actual native-event latch survives deselection, requires exact activity/order, detaches before cleanup, preserves failure/timeout and never infers completion from physical shot count RUN test_packed_chat_game.py ......... ---------------------------------------------------------------------- Ran 9 tests in 0.102s OK RUN test_native_mortar_refresh.py PASS: actual refresh-fixture gates pin immutable observations/actual downlinks/original activity, reject unaccepted or relabelled commits, stop queueing early and require all queued contacts claimed before replay RUN test_archive_packed.py .......................... ---------------------------------------------------------------------- Ran 26 tests in 0.196s OK RUN test_mortar_refresh.py PASS: actual refresh scheduler/delivery/cancellation/projectile methods reject interrupted or replayed reports, retain committed ownership, preserve immutable snapshots/aim geometry and isolate stopped or replaced orders; native radio/crew behavior remains separate RUN test_packed_core_game.py ..................... ---------------------------------------------------------------------- Ran 21 tests in 0.033s OK RUN test_pak_inventory.py ........... ---------------------------------------------------------------------- Ran 11 tests in 0.033s OK RUN test_native_mortar_salvo.py PASS: actual full-salvo gates require eight fresh committed physical launches, natural closure and exact finite inventory; reject partial/extra/replayed events RUN test_spectator_guidance.py PASS: actual reason/availability guidance and refresh matrix; no-target copy omits cycling, hint retry retained, existing command/admin paths unchanged; native UI pending PASS: actual client camera policy closes immediately on healing or mission end; late unconscious metadata cannot keep the view active RUN test_spectator_recovery.py PASS: actual open-chat capture/context renewal and camera/menu priority, text-entry isolation, held-key release; actual revival camera handoff with editor close/retry, missing camera, replacement body and stopped round RUN test_native_package.py ................usage: test_native_package.py [-h] [--project {core}] --session SESSION --compat COMPAT [--steam STEAM] [--timeout TIMEOUT] [--external-addons EXTERNAL_ADDONS] [--silent-workbench | --exit-after-init] [--continue-on-failure] test_native_package.py: error: argument --exit-after-init: not allowed with argument --silent-workbench ................................ ---------------------------------------------------------------------- Ran 48 tests in 21.949s OK RUN test_item_station_teardown.py ....... ---------------------------------------------------------------------- Ran 7 tests in 0.202s OK RUN test_source_bundle.py .................. ---------------------------------------------------------------------- Ran 18 tests in 5.657s OK RUN test_native_flight_footprint.py .... ---------------------------------------------------------------------- Ran 4 tests in 0.247s OK RUN test_native_flight_input_diagnostics.py .... ---------------------------------------------------------------------- Ran 4 tests in 0.048s OK RUN test_mortar_logistics.py PASS: actual finite-courier age, token, exact ownership/callback and delivered-status admission reject stale, replayed, captured, canceled and ambiguous work PASS: actual native-gun ownership gate rejects player/foreign/replaced/dead occupant, faction change, missing seat and missing registry PASS: four-battery courier selection preserves pending trip/report/transfer identity, skips unavailable crews, and selects the next depleted battery without new stock RUN test_mortar_courier_storage.py PASS: 64 bounded distinct storage candidates; native gates, five-store barrier and finite-stock ownership retained; native placement pending RUN test_powered_flight_pad.py PASS: 128 coarse+80 local refinement+169 airport grid candidates retain all native clearance gates; real terrain untested RUN test_prison_escape_policy.py PASS: actual prison registration/crossing policies reject missing/duplicate/destroyed initial gate, incomplete ownership/scan, outside-only body, jumps and stale samples; physical exit independent of later gate damage PASS: actual prison door execution blocks direct AI/UI bypass while locked and delegates unchanged native action once after unlock and permission approval RUN test_powered_flight_policy.py .................. ---------------------------------------------------------------------- Ran 18 tests in 1.687s OK RUN test_flight_action_runner.py ..... ---------------------------------------------------------------------- Ran 5 tests in 1.038s OK RUN test_native_local_admission_probe.py PASS: native local-admission snapshot rejects changed life/key/body/participant/pending state; authentication is not simulated RUN test_mortar_report_ledger.py PASS: actual mortar report ledger prevents duplicate response after cancellation, expiry and interleaved reports; native scheduler separate RUN test_dedicated_native.py ......... ---------------------------------------------------------------------- Ran 9 tests in 0.013s OK RUN test_native_mortar_transfer.py .... ---------------------------------------------------------------------- Ran 4 tests in 0.123s OK RUN test_mortar_aim_renewal.py PASS: actual aim renewal requires fresh same-report solve and original-command equivalence; native firing untested RUN test_dedicated_preflight.py ......... ---------------------------------------------------------------------- Ran 9 tests in 0.057s OK RUN test_mortar_transactions.py PASS: actual startup/generation/ownership/timeout/callback policies and native-counter wait; integration preserves one-shot allocation and pending-crew cancellation PASS: rapid mortar cycle counts eight physical rounds once and waits for native completion without a ninth aim or shell RUN test_native_mortar_probe.py PASS: actual probe binds native events to fresh immutable commits, permits delayed emission, rejects unrelated expiry closure and premature stop RUN test_diagnostic_no_splash.py PASS: actual noSplash Load body requires both explicit diagnostic and noSplash, preserves vanilla otherwise, and handles repeated Load/reload RUN test_casualty_incapacitation.py PASS: actual fixture method permits one native resilience operation and restores either prior protection state, including failure paths RUN test_casualty_remove_probe.py PASS: actual safe-exit boundary policy, native action/door selection, stop/cache cleanup, separate old mechanism and opt-in runner contracts RUN test_extraction_placement_policy.py PASS: actual one-shot deadline/stability policies and preparation ownership, fuel, cleanup integration contracts RUN test_guard_cancellation_policy.py PASS: pending-only cancellation retires copied instance intent, preserves physical/control actors, and stops once RUN test_casualty_ground_policy.py PASS: actual short-cast hit, upward support normal, no self support and no dynamic support RUN test_casualty_reservation_death.py PASS: actual committed-ticket structure preserves reservation after death, rejects missing bodies/seats and ends at observation expiry PASS: actual pending callback expires an empty-server reservation once, preserves its full lease, and cancels on completion/Stop RUN test_casualty_loading_policy.py PASS: rescue lease expiry/reordering, fresh five-second settling, independent rescue ranges and grounded upright aircraft motion boundaries RUN test_initial_guard_policy.py PASS: requested guard population requires complete physical conscious membership before deadline RUN test_headless_game_runner.py ...................................... ---------------------------------------------------------------------- Ran 38 tests in 0.018s OK RUN test_vanilla_game_control.py .......... ---------------------------------------------------------------------- Ran 10 tests in 0.002s OK RUN test_archive_game_control.py ..... ---------------------------------------------------------------------- Ran 5 tests in 0.839s OK RUN test_site_discovery_policy.py PASS: authored radio/optional-site bounds and physical horizontal/vertical boundaries RUN test_faction_catalog_scope.py ... ---------------------------------------------------------------------- Ran 3 tests in 0.001s OK RUN test_mission_rules.py PASS: all phase transitions, terminal states, defence boundaries, stale/future observations, intel discovery RUN test_admin_setting_policy.py PASS: Core document-discovery alias, companion-only alias exclusion, strict integer parsing and setting boundaries 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_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_discovery_map_position.py PASS: actual discovery coordinates disclose stable 500m cell center until identified, then exact point, including negative/boundary coordinates RUN test_site_map_visibility.py PASS: hidden/anonymous/rough/identified markers, toggle transitions, prepared sites, no identity leakage, intel discovery and replicated authority wiring 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_prison_placement_policy.py PASS: prison search packs 16 unique 3m-spaced inside-wall centers, prioritizes inner/edge positions and never bypasses clearance PASS: physical body occupancy rejects overlap, permits diagonal neighboring slots, and excludes own body and unrelated broad-phase bounds RUN test_recovery_policy.py PASS: recovery state excludes dead bodies, preserves reservations, requires controlled rescuers and distinguishes empty/all-dead teams RUN test_native_inventory_hitzone.py PASS: actual native-probe lifecycle/counters with doubled boundaries; fixed deadline, exact seven sources, true forwarding, async close, no late updates and selector wiring RUN test_inventory_hitzone_compat.py PASS: actual one-argument adapter, explicit refresh, native initialization flag, duplicate/blood ownership, rebind/detach/destruction and foreign-mode transparency RUN test_player_medical.py PASS: authority-scoped slow recovery, bleeding pauses resilience, medicine unaffected, player-only lethal damage cap without healing PASS: bleeding severity survives low health, retains armour, causes no knockout and restores the actual damage/blood-loss cap PASS: viable passive recovery survives native delay; bleeding, disabled/full effects and low-blood resilience do not block defeat RUN test_time_policy.py PASS: every minute round-trips, malformed clocks rejected, defaults limited to added keys, progression bounds and day duration aligned RUN test_environment_policy.py PASS: native settings policy matches calendar boundaries 1900-2050, date/profile parsing is strict, authored defaults preserve old worlds RUN test_view_distance.py PASS: view-distance bounds, default, save failures, command parsing, temporary ownership, server/platform limits and lifecycle wiring RUN test_environment_restart_runner.py ..... ---------------------------------------------------------------------- Ran 5 tests in 0.516s OK RUN test_inventory_enumeration_policy.py . ---------------------------------------------------------------------- Ran 1 test in 0.318s OK RUN test_radio_defence_policy.py PASS: radio authorization/discovery/phase matrix, exact distance limits, defender handover, interruption, empty samples, clock regression and duration boundary RUN test_radio_feedback_policy.py PASS: actual radio feedback policy, initial wait, interruption persistence, resumption and terminal/new-round reset RUN test_performance_comparison.py ............... ---------------------------------------------------------------------- Ran 15 tests in 2.030s OK RUN test_release_check.py .............................................. ---------------------------------------------------------------------- Ran 46 tests in 0.806s OK RUN test_settings_migration.py PASS: legacy values preserved, unsupported fields reported, invalid data rejected, existing files protected, runtime bounds aligned PASS: failed initial settings promotion leaves defaults writable after restart; prior/fallback saves survive copy, readback and mismatch faults RUN hq_network_regression.py PASS: real-carrier shortest-hop paths, 500m boundary, three-hop cap, no-manpack failure, three-second originating-call interruption, unchanged downlink hop timing, completed-hop survival, interrupted final uplink, radio loss, capture, motion, timeout, reset and network bounds RUN helicopter_availability_regression.py PASS: migrated aircraft availability policy (controller migration still pending) RUN mortar_salvo_regression.py PASS: migrated salvo offsets are deterministic, spread and bounded (native firing and complete salvo qualification are separate)