{
  "schema": "morphus56k/umk3-tag-preview-receipt/v1",
  "product": "umk3-tag",
  "version": "v0.4-preview",
  "internal_snapshot_version": "0.4-dev-93e2f771d958",
  "released": "2026-11-01",
  "status": "preview",
  "releaseAccepted": false,
  "base_rom": {
    "id": "umk3-rev1.2",
    "driver": "umk3",
    "description": "Ultimate Mortal Kombat 3 (rev 1.2, Midway Wolf Unit): 26 required ROM members plus one optional member",
    "clean_members_required": 26
  },
  "patch_payload": {
    "schema": "umk3-tag/patch/v1",
    "status": "development",
    "fingerprint": "e23a69ad89abb18f58af39fae87e12dc100b6bcbb71e42880fd7c1312427aea8",
    "hunk_count": 377,
    "differing_byte_totals": {
      "l1.2_mortal_kombat_3_u54_ultimate.u54": 28466,
      "l1.2_mortal_kombat_3_u63_ultimate.u63": 26839
    },
    "hunk_span_byte_totals": {
      "l1.2_mortal_kombat_3_u54_ultimate.u54": 29007,
      "l1.2_mortal_kombat_3_u63_ultimate.u63": 28944
    },
    "output_member_sha256": {
      "l1.2_mortal_kombat_3_u54_ultimate.u54": "88b7a6b807da4726119f02bcc672a2df1151ff291283f1049d229b72400be166",
      "l1.2_mortal_kombat_3_u63_ultimate.u63": "b413ad60583bda9caf09487159b20e66b3657e7fd38eb65407e2b2f895254872"
    },
    "untouched_members": 24
  },
  "candidate_reference_archive_sha256": "93e2f771d95871bb3c96b7cfcc3136845b733adb7487769ec571754ba12accd0",
  "composition": {
    "schema": "umk3-tag/candidate-composition/v1",
    "status": "PRIVATE_INTEGRATION_CANDIDATE",
    "components": [
      "runtime",
      "entry",
      "assist",
      "hud",
      "select",
      "ko",
      "timeout",
      "cpu",
      "arcade",
      "combo",
      "community",
      "ending",
      "balance",
      "stage"
    ],
    "constants": {
      "LIFE_BENCH_DELAY_TICKS": 83,
      "LIFE_HEAL_NUMERATOR": 5,
      "LIFE_HEAL_THRESHOLD": 5471,
      "TEAM_RETAG_TICKS": 110,
      "TEAM_ASSIST_TICKS": 274,
      "HUD_HUMAN_SMOKE_HEADER": 4292964352,
      "HUD_NOOB_HEADER": 4292976640
    },
    "sources": [
      {
        "path": "src/fix_input_edges.s",
        "sha256": "dde9b0ff0db67ec4c83b658bbdcb14f7c0a639c3ecae62ec8ebc63b2a16e007b"
      },
      {
        "path": "src/team_life.s",
        "sha256": "551a87a59119ff2b9ee79a0c4433e9bd3d84e41c1e8e1a0219f69cbb71aac112"
      },
      {
        "path": "src/team_palettes.s",
        "sha256": "d576c6c04f3db709b60f532afdf72e6d00cb0cd96a6b3020b3036aff3a887b29"
      },
      {
        "path": "src/team_runtime.s",
        "sha256": "e77a40d8c2baa72331e72de0162dbe2a1436fbf30daa25ba58f854866196b3cb"
      },
      {
        "path": "src/team_tag.s",
        "sha256": "75e8a6db5b4af0b76f88ad55bf50534c9ec3f5146a05c57e24d9c4bea378e963"
      },
      {
        "path": "src/team_input.s",
        "sha256": "9b1be11598124102ca28291089a6300bb239e7e2289a86295728cbe686138357"
      },
      {
        "path": "src/team_chords.s",
        "sha256": "6a2f570698fcf5a7412d5298ea624a68406769c58c7c6adf71982555e28fe987"
      },
      {
        "path": "src/team_reset.s",
        "sha256": "6be2563e4bb6411afc7a90229b61c826e9efbea019f51c20d3807b5778c05e7f"
      },
      {
        "path": "src/team_projectiles.s",
        "sha256": "726cb3823841a3c043fe751668d90353a26784b00cf4aef6f1c1ce16a00fe43b"
      },
      {
        "path": "src/v03_expansion.s",
        "sha256": "1e485c2c34f829052be311dc63475a8b3c23327ace8be4b1c036eb8775e7cdb3"
      },
      {
        "path": "src/v04_boon.s",
        "sha256": "df324f4ec259267cb9aded8c63d090ad22e98a27a190b465230ced4cdf640fde"
      },
      {
        "path": "src/v05_requests.s",
        "sha256": "a98b64ca794fb4c51347f53bfb4d57d3de527ac2f8013ca6647110e4a715e7f6"
      },
      {
        "path": "src/team_entry.s",
        "sha256": "b0bc279e58d3337b9a0bd9eedfbff6d88a66636b97a5d0f4a592fa82389fd61b"
      },
      {
        "path": "src/probe_member_health.s",
        "sha256": "1b45ded5654d835b8e83332b1b36bbc36c70235e422dc8697887fcad3581845b"
      },
      {
        "path": "src/probe_target_enumeration.s",
        "sha256": "412241361473fbf3aaf6482fed361bc70616ce79c4fedeaf7ce7f4497420cf10"
      },
      {
        "path": "src/team_assist.s",
        "sha256": "83420f23cecf9fb7625c05bfe94df98d1e0232d5ed83c151a5333dbf07d68e45"
      },
      {
        "path": "src/team_hud.s",
        "sha256": "1a53bb68394c47bd85c9e2f68f5dc7cb377bf1fd0b56d0ebdfad62b187e95b75"
      },
      {
        "path": "src/team_portraits.s",
        "sha256": "073a0f64c5b800a39cab4441470ffe8b0ed09b1742b4f609884af0667480afe9"
      },
      {
        "path": "src/team_select.s",
        "sha256": "69e266b645b64fe70ee290d661caa1e832a44d44ecb6bd82afc5d05c36b2ed24"
      },
      {
        "path": "src/team_select_animation.s",
        "sha256": "3fe6f159e594b511e0fdb105a182fda9c02c27421d28ffae5bb87f0af5017c76"
      },
      {
        "path": "src/team_stage.s",
        "sha256": "5f4d9bd3322b8d4aca9d3f368383969ba300f3eff65ec7843f8711c63b06325c"
      },
      {
        "path": "src/team_balance.s",
        "sha256": "2ce67caf1b8b30b7ce5d58c07b5bb3ebae3aeb1db7021aa9ee42d60db318362e"
      },
      {
        "path": "src/team_ending.s",
        "sha256": "db09a72040197310d7b4d49a85a571e8d1e24340ecdd06c53ed7d9832ad01618"
      },
      {
        "path": "src/community_fixes.s",
        "sha256": "f1b61f018d1759bebef190961009ac9201db98b74e4fb1c9c0d0f9d82dfe007d"
      },
      {
        "path": "src/team_combo.s",
        "sha256": "f99f0abec857d9467c4e847f2cdcfc6224576010aa430587cc6c7eef8df40062"
      },
      {
        "path": "src/team_arcade_select.s",
        "sha256": "b12f3db32fb7e76cbca1fe005032802b5cf22be5f936db35d4dd747fd99ec770"
      },
      {
        "path": "src/team_cpu.s",
        "sha256": "118231850b339f8db7688fb8d0a15e4befd3cfd1f64e0746c9bb33a12184a1d9"
      },
      {
        "path": "src/team_ko.s",
        "sha256": "b0eb44e270b20f388cf27f7ce03c349eb7e8bb99d6a846b8f3f82a25b158fa25"
      },
      {
        "path": "src/team_timeout.s",
        "sha256": "74bddb632025fccaaef7698404d0976e344553b2fa31d4f482246ae87dcf8f85"
      }
    ],
    "manifests": [
      {
        "path": "config/tag_hooks.json",
        "sha256": "7957055fed644aff2210a1ad0bc03662862c5ce12e609c4982f677c1157f2459"
      },
      {
        "path": "config/runtime_hooks.json",
        "sha256": "c279b10158059d4d6dc61757110acfd1afbc59052ca1e590fe53a15e56d835c3"
      },
      {
        "path": "config/input_hooks.json",
        "sha256": "e2bc2c0c638612473d2e88433349e816884c04359d05470ee9dbc96e2db1f587"
      },
      {
        "path": "config/projectile_hooks.json",
        "sha256": "d9652d5b390fdf7ad3a37248339a8fc48e3148b829fb7b9e77fd208ddd3cf378"
      },
      {
        "path": "config/v03_hooks.json",
        "sha256": "4d73c99ba39b6b1d4ede73c89ab24f9c0a815efb6ce98e1e89346a83d78e45b4"
      },
      {
        "path": "config/v04_hooks.json",
        "sha256": "5b1c7cd80c1496d45b75b3fa38573b6283971edfbf139e9b3de4a7d456c5d188"
      },
      {
        "path": "config/v05_hooks.json",
        "sha256": "12c1a9fe4aaff8ac8352153a8b462ebce741e2347b3c6714db98e31b3e9362bb"
      },
      {
        "path": "config/entry_hooks.json",
        "sha256": "37cc2cb9d74c4287c02660e9c5326585bedb911273bfb3676bbcf8f6f3bd28c2"
      },
      {
        "path": "config/assist_hooks.json",
        "sha256": "309c6f5190f47e906bf53c5dd5123a8d2bbfd4992d6b0f66a98ea162f96a0a3e"
      },
      {
        "path": "config/hud_hooks.json",
        "sha256": "cf3b90ab1079b755e2f58fee1060cc6abee92f5d71f68e8043179585b591b3e9"
      },
      {
        "path": "config/select_hooks.json",
        "sha256": "f9c5a61e27560194d9f2b98c8f1faafc1e803f652e7972410b19a0de22aba10c"
      },
      {
        "path": "config/stage_hooks.json",
        "sha256": "ef14755585ea0013b56fa5a6e65ad79821266d91a6db85f4c8803822b21d28d6"
      },
      {
        "path": "config/balance_hooks.json",
        "sha256": "0640c41f0b85b791af687f1b32a49eccb7dc3fe6f795c344e0d0d75ab43bff7f"
      },
      {
        "path": "config/ending_hooks.json",
        "sha256": "0cdd65896281f58a0603095c0ccae29f1bb458cd29cefe37eff4e9964ab5a5be"
      },
      {
        "path": "config/community_hooks.json",
        "sha256": "eb66e97b477995914ed2d94942098ef89d04246b47a6d3d97e9e128d1a8ffd53"
      },
      {
        "path": "config/combo_hooks.json",
        "sha256": "ed3c0c6024b110337842102d69bb4fef79102fde790452fccf7bd5f438469c93"
      },
      {
        "path": "config/arcade_select_hooks.json",
        "sha256": "0e947bf8c85a7abdac39bc74b1dea7f6cadc374e87b975b8e24735af50db5d54"
      },
      {
        "path": "config/cpu_hooks.json",
        "sha256": "f27fee97f9f755f37722f7f19e28363f2b8dd511dba08fa9db65ffc21e932539"
      },
      {
        "path": "config/ko_hooks.json",
        "sha256": "5c8d67955a83199589f23c9345fd2d6b7ec21445e67bc3f65ada4a74e4f05105"
      },
      {
        "path": "config/timeout_hooks.json",
        "sha256": "2b80695a6ddcfe7e76bd0f3396b2c6f543257b7b100ab7157bbac090d0a95638"
      }
    ],
    "rom_sha256": "93e2f771d95871bb3c96b7cfcc3136845b733adb7487769ec571754ba12accd0",
    "releaseAccepted": false,
    "limitations": [
      "All component behavior needs combined-gameplay acceptance",
      "Candidate code/RAM ownership across modes remains unverified"
    ],
    "output_archive_name": "umk3.zip"
  },
  "verified_gates": [
    {
      "gate": "clean_rom_python_reproduction_and_refusals",
      "tier": "linux_python3",
      "receipt": "evidence/v04-patcher-reproduction.json",
      "result": "PASS",
      "note": "output umk3.zip is byte-identical to the candidate archive; a one-byte-modified member and a run without --development are refused"
    },
    {
      "gate": "all_17_verification_groups_on_v04_image",
      "receipt": "evidence/v04-verify.json",
      "checks": "3054/3054",
      "result": "PASS"
    },
    {
      "gate": "v04_rain_moves_rain_wins_and_round_intro",
      "receipt": "evidence/v04-features.json",
      "checks": "6/6",
      "result": "PASS",
      "note": "ordinary input from cold boot; the bolt and orb frames read are the stock frame lists (Nightwolf's fatality bolt, Reptile's forceball); FINISH HIM reached with a disclosed member-health fixture"
    },
    {
      "gate": "v03_features_rerun_on_v04_image",
      "receipt": "evidence/v04-v03-features.json",
      "checks": "35/35",
      "result": "PASS"
    },
    {
      "gate": "v02_features_rerun_on_v04_image",
      "receipt": "evidence/v04-v02-features.json",
      "checks": "43/43",
      "result": "PASS"
    },
    {
      "gate": "native_sequence_timing_vs_v03",
      "receipt": "evidence/v04-timing.json",
      "result": "MEASURED",
      "delta_frames": {
        "intro": 0,
        "round_transitions": {
          "p1_victim": [
            2,
            1
          ],
          "p2_victim": [
            1,
            1
          ]
        },
        "match_finish": {
          "p1_victim": 3,
          "p2_victim": 2
        },
        "mercy": {
          "candidate_p1_victim": 1,
          "candidate_p2_victim": 1,
          "baseline_p1_victim": 1,
          "baseline_p2_victim": 1
        }
      },
      "note": "intro measured on each image from its own VS-screen state, made by the same ordinary input (removing the training toggle changed the VS-screen code, so one save state no longer restores into both images); KO, FINISH HIM and Mercy from shared states as before"
    },
    {
      "gate": "requests_kombo_limit_hidden_babality_rain_trilogy_kit",
      "receipt": "evidence/v04-v05-features.json",
      "checks": "10/10",
      "result": "PASS",
      "note": "rig/probe_v05_features.py. Kombo limit: disclosed victim hit-count fixture before one ordinary standing HP; Babality, orb steering and both Rain fatalities: ordinary input, FINISH HIM reached with the member-health fixture"
    }
  ],
  "unverified_preview_bounds": [
    "Patch-UMK3Tag.ps1 / BUILD UMK3 TAG PREVIEW.cmd have not been run on this payload under any PowerShell version (native Windows PowerShell 5.1 included). The Python patcher was run.",
    "The installed stock Fightcade FBNeo client was tested offline on the v0.1 image only, not on v0.4.",
    "Physical arcade controllers and original Midway Wolf Unit PCB hardware remain untested.",
    "Matched two-machine online Fightcade netplay sessions remain unverified.",
    "Full-roster competitive balance and exhaustive multi-mode RAM/cave ownership certification remain open.",
    "The tournament kombo limit has not been replayed against each documented infinite; relaunchers that reset the native hit count are not covered."
  ],
  "package": {
    "href": "/downloads/umk3-tag/umk3-tag-v0.4-preview-patch.zip",
    "filename": "umk3-tag-v0.4-preview-patch.zip",
    "bytes": 66228,
    "sha256": "39dbf734ec97f1e6588554ed510d3491a5536ebec069f9d63b5fc05f468a8594"
  }
}
