Narrative/fixture date: 7 October 2026
Runtime: Python 3.14.4 on Windows

Fixture generation:
Wrote 7 fictional items to fictional-four-source-prices.csv

Checker (expected exit 1):
7 items: 2 match, 5 mismatch
DEMO-01: mismatch (page_currency_mismatch, page_market_mismatch)
DEMO-02: mismatch (page_variant_mismatch, schema_variant_mismatch, checkout_variant_mismatch)
DEMO-03: mismatch (page_price_mismatch, schema_price_mismatch, checkout_price_mismatch)
DEMO-04: match (all tuples agree)
DEMO-05: mismatch (checkout_price_mismatch)
DEMO-06: match (all tuples agree)
DEMO-07: mismatch (schema_price_mismatch)

Unit tests (exit 0):
test_all_sources_wrong_currency_still_fails_target (test_check_prices.PriceTests.test_all_sources_wrong_currency_still_fails_target) ... ok
test_bad_inputs_raise (test_check_prices.PriceTests.test_bad_inputs_raise) ... ok
test_cli_exit_codes_and_json (test_check_prices.PriceTests.test_cli_exit_codes_and_json) ... ok
test_csv_shape_empty_duplicate_and_missing (test_check_prices.PriceTests.test_csv_shape_empty_duplicate_and_missing) ... ok
test_decimal_equivalence (test_check_prices.PriceTests.test_decimal_equivalence) ... ok
test_documented_demo_boundaries (test_check_prices.PriceTests.test_documented_demo_boundaries) ... ok
test_equal_numerals_do_not_hide_currency_or_variant (test_check_prices.PriceTests.test_equal_numerals_do_not_hide_currency_or_variant) ... ok
test_one_cent_difference_is_flagged (test_check_prices.PriceTests.test_one_cent_difference_is_flagged) ... ok
test_sale_before_start_and_after_end (test_check_prices.PriceTests.test_sale_before_start_and_after_end) ... ok
test_saved_dataset_and_results_are_reproducible (test_check_prices.PriceTests.test_saved_dataset_and_results_are_reproducible) ... ok
test_seven_expected_outcomes (test_check_prices.PriceTests.test_seven_expected_outcomes) ... ok
test_timezone_equivalence (test_check_prices.PriceTests.test_timezone_equivalence) ... ok
test_undated_stale_sale_is_not_ignored (test_check_prices.PriceTests.test_undated_stale_sale_is_not_ignored) ... ok
test_url_variant_is_checked (test_check_prices.PriceTests.test_url_variant_is_checked) ... ok
test_valid_sale_uses_payable_price (test_check_prices.PriceTests.test_valid_sale_uses_payable_price) ... ok

----------------------------------------------------------------------
Ran 15 tests in 0.588s

OK
