{
  "schema": 1,
  "format": "cosom-wonderboy-walkthrough-provenance-v1",
  "gameId": "wonder-boy-in-monster-world-ue-h1",
  "walkthroughVersion": "1.1.0",
  "scope": "Read-only automatic story-goal tracking from the original game state. All 30 goals have explicit predicates; 18 travel, input and preparation tips remain advice.",
  "identity": {
    "rom": {
      "edition": "Supplied UE [h1]",
      "bytes": 786432,
      "sha256": "c4e3e9facf3f79dbe757f3090c59d09b8a8e9ddd84c8d82bb0ed10c589756385"
    },
    "core": {
      "name": "Genesis Plus GX retained WebAssembly runtime",
      "sha256": "cfec0e5915c4b3d03336482e990a7809f16b37909992f94631c2cad8e92b5aae"
    },
    "progressProfile": "cosom-wonderboy-original-progress-v1"
  },
  "sourceBindings": {
    "algorithm": "SHA-256",
    "base": "./",
    "files": {
      "walkthrough.json": "1b459e6bcb6ccbd97f8fa48b3f57ded4e17d574f24ebb5d9e779dd32bf2a79b6",
      "play/progress-rules.mjs": "df4d4a2bc2537fb88f8d77b8159d2e8aa54b4363752940cbe1008cd02abeca23",
      "play/progress-observer.mjs": "1c1aa24f175937df77f054075cd4ed75ed0194435c89b70c8ed14c49e98877d2"
    }
  },
  "coverage": {
    "automaticGoals": 30,
    "adviceTips": 18,
    "legacyIdsRetained": 48,
    "chapters": 9,
    "chapterIds": [
      "alsedo",
      "purapril",
      "lilypad",
      "poseidon",
      "desert",
      "childam",
      "volcano",
      "nightmare",
      "spaceship"
    ],
    "automaticIds": [
      "meet-elder",
      "ocarina",
      "defeat-myconid",
      "alsedo-exit",
      "rescue-princess",
      "visit-princess",
      "rescue-hotta",
      "ruins-lamp",
      "trident",
      "pygmy-armor",
      "pygmy-sword",
      "amulet",
      "poseidon-temple",
      "oasis-boots",
      "sun-key",
      "moon-key",
      "star-key",
      "pygmy-shield",
      "bracelet",
      "pygmy-boots",
      "ice-gems",
      "old-axe",
      "pygmy-form",
      "fire-urn",
      "legend-sword",
      "legend-gear",
      "demon-king",
      "boss-rematches",
      "biomeka",
      "ending"
    ],
    "adviceIds": [
      "reach-alsedo",
      "alsedo-preparations",
      "recruit-priscilla",
      "musical-doors",
      "purapril-preparations",
      "reach-lilypad",
      "ruins-heart",
      "ruins-switches",
      "swimming",
      "reach-begonia",
      "reach-childam",
      "childam-preparations",
      "dragon-grandson",
      "enter-volcano",
      "nightmare-entry",
      "castle-maze",
      "final-preparations",
      "spaceship"
    ]
  },
  "compatibility": {
    "checklistFormat": "cosom-wonder-boy-walkthrough-v1",
    "storageKey": "cosom.wonder-boy-in-monster-world.walkthrough.v1",
    "legacyIds": "All 48 existing IDs are retained.",
    "manualCorrections": "Saved manual true/false choices remain user corrections and are preserved across current automatic observations. Legacy advice annotations remain import/export compatible.",
    "automaticHistory": "Cached or imported automatic results are not evidence. Current verified state replaces them.",
    "gameSaving": "Checklist annotations are separate from original cartridge saving and portable game snapshots."
  },
  "observation": {
    "readOnly": true,
    "ramAddressing": "16-bit CPU-logical WRAM addresses; multi-byte values are big-endian.",
    "runtimeIdentity": "The provider verifies the pinned cartridge and core before reading the complete original state.",
    "normalGameplayGuard": {
      "all": [
        {
          "address": 32840,
          "type": "u16eq",
          "value": 32768
        },
        {
          "address": 32844,
          "type": "u32eq",
          "value": 1265069428,
          "tag": "Kgmt"
        },
        {
          "address": 35409,
          "type": "bit",
          "mask": 1
        },
        {
          "address": 35408,
          "type": "u8eq",
          "value": 0
        },
        {
          "address": 40704,
          "type": "u16gte",
          "value": 256
        }
      ]
    },
    "terminalGuard": {
      "all": [
        {
          "address": 32840,
          "type": "u16eq",
          "value": 32768
        },
        {
          "address": 32844,
          "type": "u32eq",
          "value": 1264936045,
          "tag": "Kedm"
        },
        {
          "address": 32872,
          "type": "u16eq",
          "value": 1
        },
        {
          "address": 38495,
          "type": "bit",
          "mask": 8
        }
      ]
    },
    "stability": "Two matching derived observations are required. Invalid modes and a changed adventure/timeline context invalidate prior automatic results.",
    "restoreBehavior": "Loading an older save, quick-load, rewind or a new adventure replaces automatic results with that current state. Pending observations from an earlier context cannot establish later progress.",
    "pausedBehavior": "A verified paused position can be read without resuming gameplay.",
    "endingMeaning": "Reach the ending confirms the original final-win handoff. The shared secondary Keds tag does not prove a win; watching the entire ending is advice."
  },
  "originalStateSemantics": {
    "monsterFlags": {
      "base": 39358,
      "byteFormula": "base + (id >> 3)",
      "bitFormula": "1 << (id & 7)",
      "addressRoutine": 10040,
      "setRoutine": 10066
    },
    "genericFlags": {
      "baseForIdsBelow32": 39354,
      "baseForOtherIds": 39358,
      "byteFormula": "selected base + (id >> 3)",
      "setRoutine": 10032,
      "warning": "Generic chest predicates use explicit byte/mask addresses so the two flag banks are not conflated."
    },
    "equipment": {
      "base": 38346,
      "addressRoutine": 9526,
      "setRoutine": 9426,
      "itemNamePointerTable": 136992
    },
    "magic": {
      "acquiredMaximumBase": 38334,
      "currentChargesBase": 38328,
      "slots": 6,
      "grantRoutine": 35332,
      "meaning": "Acquired maximum, rather than expendable current charges, proves learned magic."
    },
    "cartridgeRecord": {
      "persistentFlagStart": 39354,
      "persistentFlagBytes": 36,
      "packer": 115704,
      "meaning": "Original record packing retains quest/chest flags, acquired equipment and acquired magic."
    },
    "consumedItems": "Ocarina trade, Bracelet use and forging use verified permanent-result fallbacks after their item quantities are consumed.",
    "iceGems": "Both original chest flags prove acquisition of Gold-Gem and Blue-Gem. Gem placement is route advice; unproved placement semantics are not used as completion evidence.",
    "pygmySet": "All four original acquired equipment bits are required. This proves the complete set, while actual temporary transformation remains route advice."
  },
  "rules": [
    {
      "id": "meet-elder",
      "chapter": "alsedo",
      "optional": false,
      "predicate": {
        "op": "all",
        "children": [
          {
            "op": "flag",
            "id": 54
          },
          {
            "op": "u8gte",
            "address": 38334,
            "value": 1
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 122901,
          "detail": "The elder sets persistent flag36; the Fire Storm reward increases acquired maximum95BE. This is also observed in genuine elder and inn saves."
        }
      ]
    },
    {
      "id": "ocarina",
      "chapter": "alsedo",
      "optional": false,
      "predicate": {
        "op": "any",
        "children": [
          {
            "op": "u8gte",
            "address": 38296,
            "value": 1
          },
          {
            "op": "flag",
            "id": 90
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 9488,
          "detail": "Item28 maps to9598."
        },
        {
          "romAddress": 130329,
          "detail": "Trading the Ocarina sets5A before removing it; this preserves proof after the trade."
        }
      ]
    },
    {
      "id": "defeat-myconid",
      "chapter": "alsedo",
      "optional": false,
      "predicate": {
        "op": "flag",
        "id": 55
      },
      "evidence": [
        {
          "romAddress": 162068,
          "detail": "The Myconid room world script sets37 after its cleared-group condition; its descriptor pairs37 with name scene0051=Myconid."
        }
      ]
    },
    {
      "id": "alsedo-exit",
      "chapter": "alsedo",
      "optional": false,
      "predicate": {
        "op": "flag",
        "id": 94
      },
      "evidence": [
        {
          "romAddress": 125663,
          "detail": "Queen Eleanora’s post-Myconid thanks sets5E. Western-tree travel remains route advice."
        }
      ]
    },
    {
      "id": "rescue-princess",
      "chapter": "purapril",
      "optional": false,
      "predicate": {
        "op": "flag",
        "id": 57
      },
      "evidence": [
        {
          "romAddress": 53790,
          "detail": "Original rescue event sets39; castle guards and the returned-princess dialogue test39."
        }
      ]
    },
    {
      "id": "visit-princess",
      "chapter": "purapril",
      "optional": false,
      "predicate": {
        "op": "flag",
        "id": 91
      },
      "evidence": [
        {
          "romAddress": 132186,
          "detail": "Sheila’s first thanks conversation sets5B."
        }
      ]
    },
    {
      "id": "rescue-hotta",
      "chapter": "lilypad",
      "optional": false,
      "predicate": {
        "op": "all",
        "children": [
          {
            "op": "flag",
            "id": 56
          },
          {
            "op": "flag",
            "id": 69
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 128653,
          "detail": "Hotta’s sister first checks rescue flag38."
        },
        {
          "romAddress": 128807,
          "detail": "The post-rescue conversation sets45. Both the rescue and return are required."
        }
      ]
    },
    {
      "id": "ruins-lamp",
      "chapter": "lilypad",
      "optional": false,
      "predicate": {
        "op": "u8gte",
        "address": 38285,
        "value": 1
      },
      "evidence": [
        {
          "romAddress": 9488,
          "detail": "Item31 (Lamp) maps to958D; original removal sites do not consume the Lamp."
        }
      ]
    },
    {
      "id": "trident",
      "chapter": "lilypad",
      "optional": false,
      "predicate": {
        "op": "bit",
        "address": 38346,
        "mask": 32
      },
      "evidence": [
        {
          "romAddress": 136992,
          "detail": "The exact item-name pointer table identifies05 as Trident; owned equipment is stored at95CA+id/8."
        }
      ]
    },
    {
      "id": "pygmy-armor",
      "chapter": "poseidon",
      "optional": true,
      "predicate": {
        "op": "bit",
        "address": 38347,
        "mask": 128
      },
      "evidence": [
        {
          "romAddress": 136992,
          "detail": "Pygmy Armor equipment0F. Owned-equipment bits persist in the original save."
        }
      ]
    },
    {
      "id": "pygmy-sword",
      "chapter": "poseidon",
      "optional": true,
      "predicate": {
        "op": "bit",
        "address": 38346,
        "mask": 128
      },
      "evidence": [
        {
          "romAddress": 136992,
          "detail": "Pygmy Sword equipment07."
        }
      ]
    },
    {
      "id": "amulet",
      "chapter": "poseidon",
      "optional": false,
      "predicate": {
        "op": "u8gte",
        "address": 38286,
        "value": 1
      },
      "evidence": [
        {
          "romAddress": 9488,
          "detail": "Item32 (Amulet) maps to958E; it is not consumed by the original story removal sites."
        }
      ]
    },
    {
      "id": "poseidon-temple",
      "chapter": "poseidon",
      "optional": false,
      "predicate": {
        "op": "u8gte",
        "address": 38339,
        "value": 1
      },
      "evidence": [
        {
          "romAddress": 35332,
          "detail": "Return is magic25, acquired maximum index5 at95C3. Spending current Return charges95BD cannot undo this result."
        }
      ]
    },
    {
      "id": "oasis-boots",
      "chapter": "poseidon",
      "optional": false,
      "predicate": {
        "op": "bit",
        "address": 38349,
        "mask": 4
      },
      "evidence": [
        {
          "romAddress": 136992,
          "detail": "Oasis Boots equipment1A."
        }
      ]
    },
    {
      "id": "sun-key",
      "chapter": "desert",
      "optional": false,
      "predicate": {
        "op": "bit",
        "address": 39363,
        "mask": 16
      },
      "evidence": [
        {
          "romAddress": 198945,
          "detail": "Chest07 B6 2C 0E: generic flag2C. Reward0E resolves throughA6CA toA73C=B3, Sun Key33. Generic SetFlag2730 maps2C to99C3 bit4 and key use preserves flags."
        }
      ]
    },
    {
      "id": "moon-key",
      "chapter": "desert",
      "optional": false,
      "predicate": {
        "op": "bit",
        "address": 39363,
        "mask": 8
      },
      "evidence": [
        {
          "romAddress": 205806,
          "detail": "Chest07 88 2B 0D: generic flag2B. Reward0D resolvesA73A=B4, Moon Key34. Key consumption leaves this flag intact."
        }
      ]
    },
    {
      "id": "star-key",
      "chapter": "desert",
      "optional": false,
      "predicate": {
        "op": "bit",
        "address": 39363,
        "mask": 32
      },
      "evidence": [
        {
          "romAddress": 206037,
          "detail": "Chest07 A7 2D 0F: generic flag2D. Reward0F resolvesA73E=B5, Star Key35. This is reward acquisition, not inferred quiz answers."
        }
      ]
    },
    {
      "id": "pygmy-shield",
      "chapter": "desert",
      "optional": true,
      "predicate": {
        "op": "bit",
        "address": 38348,
        "mask": 128
      },
      "evidence": [
        {
          "romAddress": 136992,
          "detail": "Pygmy Shield equipment17."
        }
      ]
    },
    {
      "id": "bracelet",
      "chapter": "desert",
      "optional": false,
      "predicate": {
        "op": "any",
        "children": [
          {
            "op": "u8gte",
            "address": 38294,
            "value": 1
          },
          {
            "op": "flag",
            "id": 67
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 127546,
          "detail": "Elder Dragon grants item3A=Bracelet, mapped to9596."
        },
        {
          "romAddress": 55394,
          "detail": "The seal event removes Bracelet3A then sets43 atD86A, preserving proof after use."
        }
      ]
    },
    {
      "id": "pygmy-boots",
      "chapter": "childam",
      "optional": false,
      "predicate": {
        "op": "bit",
        "address": 38349,
        "mask": 128
      },
      "evidence": [
        {
          "romAddress": 136992,
          "detail": "Pygmy Boots equipment1F."
        }
      ]
    },
    {
      "id": "ice-gems",
      "chapter": "childam",
      "optional": false,
      "predicate": {
        "op": "all",
        "children": [
          {
            "op": "bit",
            "address": 39363,
            "mask": 128
          },
          {
            "op": "bit",
            "address": 39364,
            "mask": 1
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 231187,
          "detail": "Chest07 AC 2F 12: generic flag2F maps99C3 bit7; reward12 resolvesA744=B6, Gold Gem36."
        },
        {
          "romAddress": 231231,
          "detail": "Chest07 70 30 13: generic flag30 maps99C4 bit0; reward13 resolvesA746=B7, Blue Gem37. This proves acquisition of both gems; placement remains advice."
        }
      ]
    },
    {
      "id": "old-axe",
      "chapter": "childam",
      "optional": false,
      "predicate": {
        "op": "any",
        "children": [
          {
            "op": "u8gte",
            "address": 38292,
            "value": 1
          },
          {
            "op": "flag",
            "id": 77
          },
          {
            "op": "bit",
            "address": 38346,
            "mask": 1
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 9488,
          "detail": "Old Axe38 maps9594."
        },
        {
          "romAddress": 126281,
          "detail": "Forging sets4D then consumes Old Axe38 and Fire-Urn39. Legend Sword00 is the completed result."
        }
      ]
    },
    {
      "id": "pygmy-form",
      "chapter": "volcano",
      "optional": false,
      "predicate": {
        "op": "all",
        "children": [
          {
            "op": "bit",
            "address": 38346,
            "mask": 128
          },
          {
            "op": "bit",
            "address": 38347,
            "mask": 128
          },
          {
            "op": "bit",
            "address": 38348,
            "mask": 128
          },
          {
            "op": "bit",
            "address": 38349,
            "mask": 128
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 7070,
          "detail": "Extended scene command0B27 counts owned Pygmy equipment07/0F/17/1F; scene20971 branches by that count. Completion means collecting all four; visiting Birdman and transformation remain route advice."
        }
      ]
    },
    {
      "id": "fire-urn",
      "chapter": "volcano",
      "optional": false,
      "predicate": {
        "op": "any",
        "children": [
          {
            "op": "u8gte",
            "address": 38293,
            "value": 1
          },
          {
            "op": "flag",
            "id": 77
          },
          {
            "op": "bit",
            "address": 38346,
            "mask": 1
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 9488,
          "detail": "Fire-Urn39 maps9595."
        },
        {
          "romAddress": 126281,
          "detail": "Forge flag4D is written before consuming the two ingredients; Legend Sword00 is the result."
        }
      ]
    },
    {
      "id": "legend-sword",
      "chapter": "volcano",
      "optional": false,
      "predicate": {
        "op": "bit",
        "address": 38346,
        "mask": 1
      },
      "evidence": [
        {
          "romAddress": 136992,
          "detail": "Legend Sword equipment00, acquired equipment bit95CA bit0."
        }
      ]
    },
    {
      "id": "legend-gear",
      "chapter": "nightmare",
      "optional": false,
      "predicate": {
        "op": "all",
        "children": [
          {
            "op": "bit",
            "address": 38347,
            "mask": 1
          },
          {
            "op": "bit",
            "address": 38348,
            "mask": 1
          },
          {
            "op": "bit",
            "address": 38349,
            "mask": 1
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 136992,
          "detail": "The exact name table identifies Legend Armor08, Shield10 and Boots18. All three acquired bits are required."
        }
      ]
    },
    {
      "id": "demon-king",
      "chapter": "nightmare",
      "optional": false,
      "predicate": {
        "op": "flag",
        "id": 65
      },
      "evidence": [
        {
          "romAddress": 249396,
          "detail": "Area17 room13 descriptor carries completion41 and boss-name scene006A=Almighty Demon King; eventD14C sets the configured completion flag."
        }
      ]
    },
    {
      "id": "boss-rematches",
      "chapter": "spaceship",
      "optional": false,
      "predicate": {
        "op": "all",
        "children": [
          {
            "op": "flag",
            "id": 73
          },
          {
            "op": "flag",
            "id": 74
          },
          {
            "op": "flag",
            "id": 75
          },
          {
            "op": "flag",
            "id": 76
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 257466,
          "detail": "The four final barrier branches explicitly test49,4A,4B,4C at3EDBA/3EDD6/3EDF2/3EE0E. All four are required."
        }
      ]
    },
    {
      "id": "biomeka",
      "chapter": "spaceship",
      "optional": false,
      "predicate": {
        "op": "bit",
        "address": 38495,
        "mask": 8
      },
      "evidence": [
        {
          "romAddress": 104320,
          "detail": "Final event handler19710 alone sets final-win bit3 after its original final-boss handshake. Game loop9042 consumes it to begin the ending. Runtime mode must be guarded."
        }
      ]
    },
    {
      "id": "ending",
      "chapter": "spaceship",
      "optional": false,
      "predicate": {
        "op": "all",
        "children": [
          {
            "op": "u32eq",
            "address": 32844,
            "value": 1264936045
          },
          {
            "op": "u16eq",
            "address": 32872,
            "value": 1
          },
          {
            "op": "bit",
            "address": 38495,
            "mask": 8
          }
        ]
      },
      "evidence": [
        {
          "romAddress": 36930,
          "detail": "Final win bit3→ClearTaskSlot(result1)→primaryKedm. Require the exact result and win bit, not the shared secondaryKeds tag. Completion means entering the ending; watching its duration is advice."
        }
      ]
    }
  ],
  "advice": [
    {
      "id": "reach-alsedo",
      "reason": "Exact area02 is genuinely observed, but a permanent record of entering the village is not stored. Needs a durable story-result wording."
    },
    {
      "id": "alsedo-preparations",
      "reason": "Optional rest, purchases and equipment advice have no single durable completion record."
    },
    {
      "id": "recruit-priscilla",
      "reason": "The queen conversation writes transient26 and current helper0; original saves do not retain helper history."
    },
    {
      "id": "musical-doors",
      "reason": "The first three statue/melody results use transient flags. Needs a durable cave-result wording."
    },
    {
      "id": "purapril-preparations",
      "reason": "Optional purchases and rest cannot be inferred from current inventory alone."
    },
    {
      "id": "reach-lilypad",
      "reason": "A visit is not a permanent flag. Hotta’s sister follow-up45 is a later durable goal."
    },
    {
      "id": "ruins-heart",
      "reason": "Optional heart/Hard Shield advice combines independent acquisitions; current maximumHP does not identify a particular Heart."
    },
    {
      "id": "ruins-switches",
      "reason": "Exact2,3,1,4 inputs are not retained. A cleared Ruins/Trident result can be a replacement goal."
    },
    {
      "id": "swimming",
      "reason": "Owning Trident proves the ability, not whether it was equipped or a specific water route was traversed."
    },
    {
      "id": "reach-begonia",
      "reason": "A visit is not a permanent flag. Elder Dragon first meeting42 is a durable replacement goal."
    },
    {
      "id": "reach-childam",
      "reason": "Bracelet use43 proves the seal result, not a specific later room visit."
    },
    {
      "id": "childam-preparations",
      "reason": "Optional rest, purchases and current helper recruitment do not form a durable goal."
    },
    {
      "id": "dragon-grandson",
      "reason": "Current helper6 is not saved, and recruitment dialogue has no permanent first-recruit flag."
    },
    {
      "id": "enter-volcano",
      "reason": "No permanent visit flag has been proved. Fire-Urn acquisition is a later durable result."
    },
    {
      "id": "nightmare-entry",
      "reason": "The Bell Tower entry input is not permanently recorded; a route-unlock/result wording is needed."
    },
    {
      "id": "castle-maze",
      "reason": "Exact maze traversal is not stored; Legend Shield10 can be the concrete goal with route advice retained."
    },
    {
      "id": "final-preparations",
      "reason": "Optional restocking/rest is advice and does not have a durable completion flag."
    },
    {
      "id": "spaceship",
      "reason": "Exact area18 is source-bound to the rematch/final-boss rooms, but room presence alone is not a permanent visit record."
    }
  ],
  "evidence": {
    "sourceAnalysis": {
      "passed": true,
      "checks": 47,
      "codeWindows": 35,
      "originalItemNames": 21,
      "reference": {
        "url": "https://github.com/RAMPKORV/wonderboy-in-monster-world-disassembly",
        "commit": "4d8a7b5e931028ea1fd2326d244511263410656c",
        "role": "Reference disassembly; recorded original instruction/data windows were checked against the pinned supplied ROM."
      },
      "mappingSha256": "23e571541a78dc01549f0e755d029cb75c4a66798ba908593e67f819588bd900",
      "windows": [
        {
          "romAddress": 9996,
          "purpose": "Generic flag bank selector",
          "length": 44,
          "sha256": "b54d8a9cab62f1133f31f67198a97e57918d67ad8f7bdd8bccee1ad2b7ace687"
        },
        {
          "romAddress": 10040,
          "purpose": "Monster quest flag addressing and setter",
          "length": 32,
          "sha256": "0742f55b3096592a38983ee60ce0e84d1b8e43cc614db16d944fc5ec1432ddf6"
        },
        {
          "romAddress": 9526,
          "purpose": "Owned-equipment addressing",
          "length": 12,
          "sha256": "650ee9ff9016c2d0e3779e70c5ac727eecfef42930fe1fe9b09b9a69767c99b9"
        },
        {
          "romAddress": 9426,
          "purpose": "Owned-equipment setter",
          "length": 6,
          "sha256": "560583cbb7040946a1d0dd1f108bcb9774a9fa7e3fd7b217665543f48d4f8cd2"
        },
        {
          "romAddress": 9488,
          "purpose": "Inventory count addressing",
          "length": 38,
          "sha256": "c344677a5816d0ac6a38b9f61b13c4c31bc3f090ac7fddee2e812978f4de816f"
        },
        {
          "romAddress": 35332,
          "purpose": "Acquired maximum magic grant",
          "length": 54,
          "sha256": "e5f43ea35003701b8f3db05eda306330fcb855c0a361056a09c21c0ede5a94f6"
        },
        {
          "romAddress": 115616,
          "purpose": "Original save inventory and persistent-flag packing",
          "length": 112,
          "sha256": "4772252edaeb365eada8a858703582fa33f8266f9aece3772cfe66be618b5093"
        },
        {
          "romAddress": 7070,
          "purpose": "Original four-item Pygmy set count",
          "length": 48,
          "sha256": "b7e0607b1d402d2e9e3c797b9bd916255d7b95ffb25778306f12a57b003bfca1"
        },
        {
          "romAddress": 133489,
          "purpose": "Birdman branches by acquired Pygmy set count",
          "length": 12,
          "sha256": "ff10e9fcfa8523cc01779e4c50375ca601f957d92e39a58d2384c5b8c1d5cc90"
        },
        {
          "romAddress": 122901,
          "purpose": "Elder quest flag36",
          "length": 3,
          "sha256": "a36d706b1b3641f092d2236a6dd8762a1b25ddffbfa7f873e816e5822d7acc25"
        },
        {
          "romAddress": 125663,
          "purpose": "Post-Myconid Queen Eleanora flag5E",
          "length": 3,
          "sha256": "754fd9e9d1e671c59a313a1103ce046217c7f3546c9221ba628de04cf147b482"
        },
        {
          "romAddress": 128807,
          "purpose": "Hotta sister follow-up45",
          "length": 3,
          "sha256": "11de1d8fdc3ba5db592680ddacb11f0f76b8104e953d9b967dd5aa056d4401ca"
        },
        {
          "romAddress": 132186,
          "purpose": "Sheila first conversation5B",
          "length": 3,
          "sha256": "d8b65866d93f3b65e14bbb74eab7fe62d3e47f1bd071ef29da10a6ab279a0e47"
        },
        {
          "romAddress": 130329,
          "purpose": "Ocarina trade5A and consumption",
          "length": 10,
          "sha256": "949031bdd9776470c9102c3d74118de7225c95b86174f5739e9fb92e1549df0e"
        },
        {
          "romAddress": 126281,
          "purpose": "Forge begun4D",
          "length": 3,
          "sha256": "442bf997e64a00dc0227ac08db5b8191993949af114b30de06b372cbd62086cd"
        },
        {
          "romAddress": 126352,
          "purpose": "Forge consumes Old Axe and Fire-Urn",
          "length": 10,
          "sha256": "d759d8c47c141c156539b00d0eae196ea8239f4fdca44fe3cb4437519513c390"
        },
        {
          "romAddress": 53788,
          "purpose": "Princess rescue sets39",
          "length": 6,
          "sha256": "3213cbaad377a285db79c4927a8e7354ab50d8f210cb51420533bbb3de2b79f4"
        },
        {
          "romAddress": 78058,
          "purpose": "Hotta rescue sets38 via tail call",
          "length": 6,
          "sha256": "ec340bf56471f4ccf98a9270e22505b8ce86401104ef37091c7ae0d25dbe1a5e"
        },
        {
          "romAddress": 55394,
          "purpose": "Bracelet consumption and seal flag43",
          "length": 12,
          "sha256": "a2443eb953950c179865193ce0de3b640ea4181632396110edbbf5f3349d9fba"
        },
        {
          "romAddress": 42638,
          "purpose": "Chest persistent-flag callback",
          "length": 30,
          "sha256": "45d6b1892212aac5ad8db379824a9f0957bd02c9f5c3a893216495b8daa7da84"
        },
        {
          "romAddress": 42698,
          "purpose": "Chest reward pointer table and reward sequence",
          "length": 146,
          "sha256": "2ce594c9ffa0748c6396498cac86cfd3bb544089ec6e5d6a4fb54ef37a5a85ef"
        },
        {
          "romAddress": 198945,
          "purpose": "Sun Key chest",
          "length": 4,
          "sha256": "b49c5d0ee4fa18611b48ecfac8cbcb1410f95db83b6334fbdb2c3f207f50de48"
        },
        {
          "romAddress": 205806,
          "purpose": "Moon Key chest",
          "length": 4,
          "sha256": "6c7d4288fe663cc7d84a88e49f3694e4a58ce8d23db57f6d7ed69138321b2b8e"
        },
        {
          "romAddress": 206037,
          "purpose": "Star Key chest",
          "length": 4,
          "sha256": "c715a07eda091e500d44d3020aa33b6d8a2946f23a0405912db3ef6fc39071bb"
        },
        {
          "romAddress": 231187,
          "purpose": "Gold Gem chest",
          "length": 4,
          "sha256": "332d93654cfac7fbd043e60921cc3227ad028789fa7117f0f461aff5ec59b45e"
        },
        {
          "romAddress": 231231,
          "purpose": "Blue Gem chest",
          "length": 4,
          "sha256": "3a974c08f7f3d5e8080349c6e9d58aab2efc3bae7fa3293bc4b85c3a14cd3a98"
        },
        {
          "romAddress": 162050,
          "purpose": "Myconid clear-group and completion script",
          "length": 26,
          "sha256": "91e172049798c46255a09399ebdac277ef8ee4025b761b383790db145e0fcd13"
        },
        {
          "romAddress": 249396,
          "purpose": "Demon King completion flag and boss-name scene",
          "length": 4,
          "sha256": "eefb3ed598a814cc52a843ec9e16b4e07931de3cf5084fefaf9222bdbb8a4987"
        },
        {
          "romAddress": 53568,
          "purpose": "Configured event completion writer",
          "length": 28,
          "sha256": "bf3dfe4e9d0fc0db9a95cefd8abc9b9adfaea94ec2a6fa597a0042a9b502a7db"
        },
        {
          "romAddress": 257466,
          "purpose": "Four final rematch barriers",
          "length": 109,
          "sha256": "a22291a5523d551242a4b46a0cfceff889fbf458dbd2cda2f07801930b9b6146"
        },
        {
          "romAddress": 104208,
          "purpose": "Final event state handler",
          "length": 144,
          "sha256": "5336db59a8afbb160a792e76876608066ba4766cc7374bf2136e1373c4354f8e"
        },
        {
          "romAddress": 107150,
          "purpose": "Final boss death countdown and handshake writer",
          "length": 64,
          "sha256": "3642ebddd58f285aaa074aaf8ddcdae5144f5c82169f866092819fdb6396b55c"
        },
        {
          "romAddress": 36930,
          "purpose": "Final win game-loop transition",
          "length": 32,
          "sha256": "0ff133625badff0874d91129934829200c27861b06a2b4fc9e971fe64b33ca69"
        },
        {
          "romAddress": 20660,
          "purpose": "Primary ending descriptor selection",
          "length": 32,
          "sha256": "4e793fa0346991b5eab4f7d22bc0468090a80305dc9565fb29293983d6b9b843"
        },
        {
          "romAddress": 20308,
          "purpose": "Primary ending task descriptor and secondary cinematic",
          "length": 28,
          "sha256": "2aadc597f83ff5fa053effc7407f5a8f1c166f88336b539b3aa1d5e8f061c4e1"
        }
      ]
    },
    "nativeVerification": {
      "passed": true,
      "aggregateChecks": 18,
      "aggregateSha256": "4c7a5f0bd06d63d649206ac2694e39cef4e557d0220a9e97f30609efb0cb248f",
      "counts": {
        "guide": {
          "version": "1.1.0",
          "legacyIds": 48,
          "automaticGoals": 30,
          "adviceTips": 18
        },
        "genuineNativeEvidence": {
          "openingAndInnObservations": 14,
          "retainedGenuineCheckpoints": 9,
          "originalModeObservations": 30,
          "modeCheckGroups": 8
        },
        "originalNativeDiagnosticPrimitives": {
          "setterCheckGroups": 8,
          "monsterFlagIds": 256,
          "equipmentIds": 32,
          "magicSlots": 6,
          "genericFlagCheckGroups": 5,
          "genericFlagIds": 256,
          "keyConsumptionCases": 3,
          "inventoryCheckGroups": 12,
          "inventoryItemTypes": 11,
          "terminalModeCheckGroups": 6,
          "controlledNativeInputCases": 2,
          "endingPreservationObservations": 2
        },
        "readerVerification": {
          "observerCheckGroups": 16,
          "readOnlyPausedObservations": 100,
          "rules": 30,
          "positiveBranches": 36,
          "missingRequiredLeafNegatives": 49
        },
        "sourceMapping": {
          "sourceCheckGroups": 47
        },
        "fullCampaign": {
          "unassistedCompleted": false
        }
      },
      "genuineGameplay": "Retained opening, elder, Alsedo and first original inn save/reset/Continue observations. Previously authorized traversal assists were used; these are headless native observations.",
      "originalPrimitiveDiagnostics": "The retained actual WASM executes unchanged original routine windows in private diagnostic ROM copies with declared setup/entry instrumentation. These prove flag, equipment, magic, inventory and consumption mechanics rather than later campaign encounters.",
      "terminalDiagnostics": "Declared one-byte copied-state inputs followed by unchanged original code prove ending/death mode dispatch; they do not constitute an observed natural final-boss encounter.",
      "readerFixtures": "Predicate fixtures are assembled from original-instruction outputs and evaluated by the pure reader. They are not later gameplay saves and are not loaded into the native runtime.",
      "readOnlyVerification": "100 paused reader observations preserved native state, RAM, battery, controller and source-save hashes.",
      "proofDigests": [
        {
          "role": "genuine-native-opening",
          "sha256": "d58657aab49e81ac956ec5dbdd5e01e1c025331c447688b1834ccd045e4c7215"
        },
        {
          "role": "genuine-native-modes",
          "sha256": "1d60b77182dfb296e31fef75ca1a952f1724f3b151073a5704bcf728383d6772"
        },
        {
          "role": "original-setter-diagnostics",
          "sha256": "8e9e121329d86ff066646a62b1b4f0b90c1fb1cfbfebf7d7968dcccc5946b745"
        },
        {
          "role": "original-generic-flags-and-key-consumption",
          "sha256": "d9a55ae0ea428e16a1f1c1366151a8acab0a0eabde723e2320024133636ef053"
        },
        {
          "role": "original-inventory-diagnostics",
          "sha256": "839d348c330d9b3a17fbd1301e8573e4a47a80a6c9a104b124a3af981980e9bb"
        },
        {
          "role": "controlled-original-terminal-modes",
          "sha256": "96fbed640ac6e763ae58b6039d7df81d1c63a8f485c7416bac1cf52199994249"
        },
        {
          "role": "actual-native-observer-reader",
          "sha256": "8e830095ec587cf1051f43ba1108569b85f01563574932332052560ff7bc025f"
        },
        {
          "role": "assembled-original-output-reader-fixtures",
          "sha256": "f72a866b979fc5c65f8e123523585148abf4f27a2d1c2821016234df1836da1d"
        },
        {
          "role": "original-source-and-name-mapping",
          "sha256": "23e571541a78dc01549f0e755d029cb75c4a66798ba908593e67f819588bd900"
        }
      ]
    }
  },
  "limits": [
    "No completed full campaign playthrough or natural final-boss encounter is established by this evidence.",
    "Genuine gameplay evidence covers the opening and first inn; later story predicates are supported by original code/data and controlled diagnostics.",
    "The 18 tips do not claim permanent records of exact travel, puzzle inputs, helper recruitment, equipment use, shopping, resting or watching the whole ending.",
    "Current chapter follows the latest verified required goal and is a navigation aid, not an inferred room position.",
    "This provenance records source and headless native/reader evidence; it does not claim a physical-browser campaign playthrough."
  ]
}
