test_changed_policy_or_character_cannot_continue_pending (test_bag_recovery.BagRecoveryTests.test_changed_policy_or_character_cannot_continue_pending) ... ok
test_current_typed_hold_goals_are_reserved_even_without_inventory_reservation (test_bag_recovery.BagRecoveryTests.test_current_typed_hold_goals_are_reserved_even_without_inventory_reservation) ... ok
test_disposal_unknown_receipt_never_replays (test_bag_recovery.BagRecoveryTests.test_disposal_unknown_receipt_never_replays) ... ok
test_exact_search_checkpoint_then_original_sell_tape (test_bag_recovery.BagRecoveryTests.test_exact_search_checkpoint_then_original_sell_tape) ... ok
test_explicit_policy_is_required_no_inventory_guess (test_bag_recovery.BagRecoveryTests.test_explicit_policy_is_required_no_inventory_guess) ... ok
test_geometry_requires_confirmed_current_source_context (test_bag_recovery.BagRecoveryTests.test_geometry_requires_confirmed_current_source_context) ... ok
test_no_surplus_locked_or_unsupported_item_does_not_act (test_bag_recovery.BagRecoveryTests.test_no_surplus_locked_or_unsupported_item_does_not_act) ... ok
test_original_search_reset_order_and_bounded_scroll (test_bag_recovery.BagRecoveryTests.test_original_search_reset_order_and_bounded_scroll) ... ok
test_pending_may_close_only_observed_owned_bag (test_bag_recovery.BagRecoveryTests.test_pending_may_close_only_observed_owned_bag) ... ok
test_preserve_inventory_keep_locks_reserves_and_storage (test_bag_recovery.BagRecoveryTests.test_preserve_inventory_keep_locks_reserves_and_storage) ... ok
test_provider_reports_missing_live_reader_and_checks_frame (test_bag_recovery.BagRecoveryTests.test_provider_reports_missing_live_reader_and_checks_frame) ... ok
test_recovered_requires_new_scoped_real_block_clear_not_inventory_delta (test_bag_recovery.BagRecoveryTests.test_recovered_requires_new_scoped_real_block_clear_not_inventory_delta) ... ok
test_similar_name_and_uncertain_search_do_not_select (test_bag_recovery.BagRecoveryTests.test_similar_name_and_uncertain_search_do_not_select) ... ok
test_stale_inventory_and_incomplete_protection_block (test_bag_recovery.BagRecoveryTests.test_stale_inventory_and_incomplete_protection_block) ... ok
test_stale_or_ambiguous_parent_reservation_cannot_dispose (test_bag_recovery.BagRecoveryTests.test_stale_or_ambiguous_parent_reservation_cannot_dispose) ... ok
test_warning_order_is_action_specific (test_bag_recovery.BagRecoveryTests.test_warning_order_is_action_specific) ... ok
test_changed_window_or_canvas_frame_cannot_reuse_geometry (test_bag_recovery.CurrentBagReaderTests.test_changed_window_or_canvas_frame_cannot_reuse_geometry) ... ok
test_concrete_warning_reader_provides_current_field_and_source_canvas (test_bag_recovery.CurrentBagReaderTests.test_concrete_warning_reader_provides_current_field_and_source_canvas) ... ok
test_current_frame_ocr_rows_can_be_shared_without_second_ocr (test_bag_recovery.CurrentBagReaderTests.test_current_frame_ocr_rows_can_be_shared_without_second_ocr) ... ok
test_owned_search_reads_exact_source_cells_without_ocr_click_coordinates (test_bag_recovery.CurrentBagReaderTests.test_owned_search_reads_exact_source_cells_without_ocr_click_coordinates) ... ok
test_ring_rejects_other_profile_hidden_field_or_missing_glyph (test_bag_recovery.CurrentBagReaderTests.test_ring_rejects_other_profile_hidden_field_or_missing_glyph) ... ok
test_source_glyph_and_red_or_amber_ring_prove_current_indicator (test_bag_recovery.CurrentBagReaderTests.test_source_glyph_and_red_or_amber_ring_prove_current_indicator) ... ok
test_uncertain_disposal_owns_only_observed_close_tail (test_bag_recovery.CurrentBagReaderTests.test_uncertain_disposal_owns_only_observed_close_tail) ... ok
test_unknown_dispatch_or_external_input_cannot_claim_owned_search (test_bag_recovery.CurrentBagReaderTests.test_unknown_dispatch_or_external_input_cannot_claim_owned_search) ... ok
test_warning_absence_or_early_warning_is_unknown (test_bag_recovery.CurrentBagReaderTests.test_warning_absence_or_early_warning_is_unknown) ... ok

----------------------------------------------------------------------
Ran 25 tests in 0.255s

OK


Reservation preservation update 2026-10-09T02:34:42.833137+00:00
Recorded result from successful tool unittest invocation: 33 tests in 0.317s, OK.
New cases: lost HUD after search; cap and fresh lock reduction; durable original timestamp; current/durable max dedupe; distinct scopes; owner/occurrence/source validation; explicit inactive record; matching quantity gaps.
Mode: synthetic fixtures/pixels only, no game access or actual input.
