{"free":true,"input":{"contract":{"identity_field":"url","identity_mode":"url","price_field":"price","currency_field":"currency","allowed_currencies":["USD","EUR"],"unit_field":"unit","allowed_units":["each","kg"],"fields":{"url":{"type":"string","required":true},"title":{"type":"string","required":true},"price":{"type":"decimal","required":true,"decimal_places":2},"currency":{"type":"string","required":true},"unit":{"type":"string","required":true}}},"previous":[{"url":"https://store.example/p/coffee","title":"Coffee","price":"12.00","currency":"USD","unit":"each"},{"url":"https://store.example/p/tea","title":"Tea","price":"8.00","currency":"USD","unit":"each"}],"current":[{"url":"https://store.example/p/coffee","title":"Coffee","price":"13.00","currency":"USD","unit":"each"},{"url":"https://store.example/p/tea","title":"Tea","price":"8.00","currency":"USD","unit":"each"},{"url":"https://store.example/p/cocoa","title":"Cocoa","price":"9.50","currency":"USD","unit":"each"},{"url":"https://store.example/p/bad-price","title":"Bad price","price":"€19,99","currency":"EUR","unit":"each"},{"url":"https://store.example/p/no-currency","title":"Unknown money","price":"20.00","unit":"each"},{"url":"https://store.example/p/duplicate#one","title":"Variant","price":"5.00","currency":"USD","unit":"each"},{"url":"https://STORE.example:443/p/duplicate#two","title":"Variant","price":"50.00","currency":"USD","unit":"each"},{"url":"https://store.example/p/missing-title","price":"4.00","currency":"USD","unit":"each"},{"url":"https://store.example/p/drift","title":"New scraper schema","price":"4.00","currency":"USD","unit":"each","salePrice":"3.00"}]},"output":{"product":"catalog-update-gate","result":{"version":"1","status":"READY","contract_sha256":"6d0a3492c53810feaf17873a79966253cea247bfbba7da3cc550dcf4ae236541","previous_snapshot_sha256":"0d8e8ccc280a15bc58ab667f01711a534b31657a54ad6b1916a0b2a3a7300359","input_sha256":"280e43b673c52910f84bd5b9590f357c600e515959e1b6f79dde135759a401fe","accepted_inserts":[{"source_index":2,"identity":"https://store.example/p/cocoa","record":{"currency":"USD","price":"9.50","title":"Cocoa","unit":"each","url":"https://store.example/p/cocoa"},"provenance":{"currency":{"source_pointer":"/current/2/currency","normalization":"unchanged"},"price":{"source_pointer":"/current/2/price","normalization":"unchanged"},"title":{"source_pointer":"/current/2/title","normalization":"unchanged"},"unit":{"source_pointer":"/current/2/unit","normalization":"unchanged"},"url":{"source_pointer":"/current/2/url","normalization":"unchanged"}}}],"accepted_updates":[{"source_index":0,"identity":"https://store.example/p/coffee","record":{"currency":"USD","price":"13.00","title":"Coffee","unit":"each","url":"https://store.example/p/coffee"},"provenance":{"currency":{"source_pointer":"/current/0/currency","normalization":"unchanged","previous_source_pointer":"/previous/0/currency"},"price":{"source_pointer":"/current/0/price","normalization":"unchanged","previous_source_pointer":"/previous/0/price"},"title":{"source_pointer":"/current/0/title","normalization":"unchanged","previous_source_pointer":"/previous/0/title"},"unit":{"source_pointer":"/current/0/unit","normalization":"unchanged","previous_source_pointer":"/previous/0/unit"},"url":{"source_pointer":"/current/0/url","normalization":"unchanged","previous_source_pointer":"/previous/0/url"}},"expected_previous_record_sha256":"f9bb07dfd46350a89511f9a7426e1737f9aec9c03b9d829a2e535f33c99eb475"}],"unchanged_records":[{"source_index":1,"identity":"https://store.example/p/tea","record":{"currency":"USD","price":"8.00","title":"Tea","unit":"each","url":"https://store.example/p/tea"},"provenance":{"currency":{"source_pointer":"/current/1/currency","normalization":"unchanged","previous_source_pointer":"/previous/1/currency"},"price":{"source_pointer":"/current/1/price","normalization":"unchanged","previous_source_pointer":"/previous/1/price"},"title":{"source_pointer":"/current/1/title","normalization":"unchanged","previous_source_pointer":"/previous/1/title"},"unit":{"source_pointer":"/current/1/unit","normalization":"unchanged","previous_source_pointer":"/previous/1/unit"},"url":{"source_pointer":"/current/1/url","normalization":"unchanged","previous_source_pointer":"/previous/1/url"}}}],"quarantined_records":[{"source_index":3,"identity":"https://store.example/p/bad-price","record":{"currency":"EUR","title":"Bad price","unit":"each","url":"https://store.example/p/bad-price"},"provenance":{"currency":{"source_pointer":"/current/3/currency","normalization":"unchanged"},"title":{"source_pointer":"/current/3/title","normalization":"unchanged"},"unit":{"source_pointer":"/current/3/unit","normalization":"unchanged"},"url":{"source_pointer":"/current/3/url","normalization":"unchanged"}},"reasons":[{"code":"invalid_decimal_format","field":"price","source_pointer":"/current/3/price"}]},{"source_index":4,"identity":"https://store.example/p/no-currency","record":{"price":"20.00","title":"Unknown money","unit":"each","url":"https://store.example/p/no-currency"},"provenance":{"price":{"source_pointer":"/current/4/price","normalization":"unchanged"},"title":{"source_pointer":"/current/4/title","normalization":"unchanged"},"unit":{"source_pointer":"/current/4/unit","normalization":"unchanged"},"url":{"source_pointer":"/current/4/url","normalization":"unchanged"}},"reasons":[{"code":"missing_required_field","field":"currency","source_pointer":"/current/4/currency"}]},{"source_index":5,"identity":"https://store.example/p/duplicate","record":{"currency":"USD","price":"5.00","title":"Variant","unit":"each","url":"https://store.example/p/duplicate"},"provenance":{"currency":{"source_pointer":"/current/5/currency","normalization":"unchanged"},"price":{"source_pointer":"/current/5/price","normalization":"unchanged"},"title":{"source_pointer":"/current/5/title","normalization":"unchanged"},"unit":{"source_pointer":"/current/5/unit","normalization":"unchanged"},"url":{"source_pointer":"/current/5/url","normalization":"explicit_contract_normalization"}},"reasons":[{"code":"duplicate_identity_conflict","field":"url","source_pointer":"/current/5/url"}]},{"source_index":6,"identity":"https://store.example/p/duplicate","record":{"currency":"USD","price":"50.00","title":"Variant","unit":"each","url":"https://store.example/p/duplicate"},"provenance":{"currency":{"source_pointer":"/current/6/currency","normalization":"unchanged"},"price":{"source_pointer":"/current/6/price","normalization":"unchanged"},"title":{"source_pointer":"/current/6/title","normalization":"unchanged"},"unit":{"source_pointer":"/current/6/unit","normalization":"unchanged"},"url":{"source_pointer":"/current/6/url","normalization":"explicit_contract_normalization"}},"reasons":[{"code":"duplicate_identity_conflict","field":"url","source_pointer":"/current/6/url"}]},{"source_index":7,"identity":"https://store.example/p/missing-title","record":{"currency":"USD","price":"4.00","unit":"each","url":"https://store.example/p/missing-title"},"provenance":{"currency":{"source_pointer":"/current/7/currency","normalization":"unchanged"},"price":{"source_pointer":"/current/7/price","normalization":"unchanged"},"unit":{"source_pointer":"/current/7/unit","normalization":"unchanged"},"url":{"source_pointer":"/current/7/url","normalization":"unchanged"}},"reasons":[{"code":"missing_required_field","field":"title","source_pointer":"/current/7/title"}]},{"source_index":8,"identity":"https://store.example/p/drift","record":{"currency":"USD","price":"4.00","title":"New scraper schema","unit":"each","url":"https://store.example/p/drift"},"provenance":{"currency":{"source_pointer":"/current/8/currency","normalization":"unchanged"},"price":{"source_pointer":"/current/8/price","normalization":"unchanged"},"title":{"source_pointer":"/current/8/title","normalization":"unchanged"},"unit":{"source_pointer":"/current/8/unit","normalization":"unchanged"},"url":{"source_pointer":"/current/8/url","normalization":"unchanged"}},"reasons":[{"code":"unexpected_field_schema_drift","field":"salePrice","source_pointer":"/current/8/salePrice"}]}],"duplicate_resolution":[{"identity":"https://store.example/p/duplicate","source_indices":[5,6],"action":"quarantine_all_conflicting"}],"schema_drift":[{"code":"invalid_decimal_format","field":"price","source_pointer":"/current/3/price"},{"code":"missing_required_field","field":"currency","source_pointer":"/current/4/currency"},{"code":"missing_required_field","field":"title","source_pointer":"/current/7/title"},{"code":"unexpected_field_schema_drift","field":"salePrice","source_pointer":"/current/8/salePrice"}],"baseline_findings":[],"changes":[{"identity":"https://store.example/p/cocoa","operation":"insert","fields":["currency","price","title","unit","url"]},{"identity":"https://store.example/p/coffee","operation":"update","fields":[{"field":"price","before":"12.00","after":"13.00","source_pointer":"/current/0/price","previous_source_pointer":"/previous/0/price"}]}],"ingestion":{"mode":"upsert_only","deletes":[],"atomic_apply_required":true,"compare_and_swap_previous_sha256":"0d8e8ccc280a15bc58ab667f01711a534b31657a54ad6b1916a0b2a3a7300359","instructions":"Apply accepted inserts/updates only if status=READY and the previous snapshot hash still matches. Preserve unchanged, absent and quarantined products. Never infer deletion."},"counts":{"inserts":1,"updates":1,"unchanged":1,"quarantined":6,"unprocessed":0}},"evidence":[{"source":"supplied_batch","sha256":"280e43b673c52910f84bd5b9590f357c600e515959e1b6f79dde135759a401fe"}],"limitations":["No source authenticity or scraped-price truth certification.","Flat explicit catalog contracts only; no currency conversion, unit conversion, arbitrary JSON Schema, fuzzy matching or inferred deletion.","The caller must enforce the previous-snapshot hash and apply accepted operations atomically. Quarantines preserve the existing catalog.","No third-party service, dataset retrieval, payment or ingestion write is performed."],"next_actions":[]}}