FROM THE FIRST DASH TO THE TRILOGY

Five plans. One engine of our own.

X1, X2 and X3 keep measuring each game's fidelity. Our own engine joins the three; Extras hold the new modes and truly new content.

The 1:1 translation copies the original game’s code and is the reference; our own engine is written from scratch and compared with it frame by frame.

Two ways to measure X1

Two numbers, two questions: how much of X1’s code already exists in the 1:1 translation, and how much of X1 has been proved equal to the original. They measure different things and are never added together.

X1 in the 1:1 translation

95.8% of the code

We count the instructions of X1’s cartridge program: there are 111,511, in 2,719 pieces. Of these, 95.8% are already in the 1:1 translation, in three parts:

  • Checked: 39.1% In the recordings, every time the original game used that piece, ours gave the same result.

  • Forced: 23.4% We set up test situations to make the original piece run, with no recording needed; ours gave the same result as the cartridge’s own code.

  • Inferred: 33.2% Translated from the cartridge’s code, including pieces that sit inside others, but not compared with the original yet.

The rest still has to be translated or classified. The translated code exists, but the game does not run on it alone yet; the Own engine bar measures that separately.

X1 proved

96.20% of the checklist

This is the X1 checklist: how much of the original game has been proved, step by step, against our game. It is the measure this site already used.

126 steps are still to be proved; see the list below, grouped by reason.

Technical details

Source: knowledge_base/mmx1/rom/x1_code_map_2026-10-21_ta9.json in the game repository (file’s last commit 354d39437, task TA9-code-meter-from-the-tool, 2026-10-21). We count instructions of the original program: 111,511 in 2,719 routines. Checked 43,646 (39.14%), forced 26,131 (23.43%), inferred 37,077 (33.24%, including 1,541 instructions of 155 routines embedded in others) add up to 106,854 instructions, 95.82%. Every percentage is rounded down; the headline uses one decimal so that the three parts add up to the total shown (rounding to nearest would give 95.8% in the headline). What is missing: 4,657 instructions (4.17%): dispatch-missing 2,448 (2.19%, 206 routines), unknown 1,687 (1.51%, 67 routines), unmapped 522 (0.46%, 53 routines).

By family: instructions of the original program and how many are already in the 1:1 translation
FamilyInstructionsIn the 1:1 translation
player617617
frame and interrupts75067450
sound requests1919
picture and OAM55
objects and items19471947
stages and camera118019788
enemies by OID3174930618
bosses by OID2780627616
campaign and menus2120720447
shots and weapons43774377
shared44773970

The data is in data/x1-code-map.json; the importer is tools/sync_code_map.py.

X1 played by the 1:1 translation

How much of the 13 reference recordings the 1:1 translation already plays on its own, frame by frame

100.0%

13 of 13 recordings start to finish

The 13 reference recordings: frames to play, frames the 1:1 translation has already played, and the percentage
RecordingFramesPlayed%
Intro15,14115,141100.0%
Chill Penguin20,15320,153100.0%
Armored Armadillo14,16714,167100.0%
Boomer Kuwanger38,65838,658100.0%
Flame Mammoth19,45819,458100.0%
Launch Octopus37,43437,434100.0%
Spark Mandrill26,57626,576100.0%
Sting Chameleon24,67524,675100.0%
Storm Eagle25,02625,026100.0%
Sigma 135,39335,393100.0%
Sigma 241,08141,081100.0%
Sigma 326,12926,129100.0%
Sigma 414,41214,412100.0%
Total338,303338,303100.0%

X1 in our own engine

Each area has the same weight as in the X1 checklist and counts by the frames that equal the original game in the 13 recordings, with the engine playing on its own. Whatever never appears in the recordings is worth 0 until it is proven.

75.66%

75.66 of 100 points

AreaWeight (of 100)Points earned
X: movement and survival1212
Weapons109.45
Reusable enemies and census coverage158.05
Bosses and minibosses1814.61
All 13 stages2624.64
Upgrades, items and mechanisms76.91
Campaign, menus and presentation80
Distribution and final acceptance40
Total10075.66

Measured with the engine running from the recordings; in this version the RNG and the hits on enemies still come from the 1:1 every frame — a fully closed measurement is in progress.

Technical details

Source: docs/goal/X1-ENGINE-COMPLETION.json in the game repository, commit f18e2c927, dated 2026-10-29.

X: movement and survival
X frames equal to the original over every X window of the 13 recordings (the X meter, tools/engine/x_windows.py), engine playing alone: equal / X frames.
Weapons
Frames of X's shots (the enemy meter's pshot table) equal to the original, closed mode: equal / 1:1 frames. A weapon that never appears in the 13 recordings earns 0.
Reusable enemies and census coverage
Per feature: weight x equal / 1:1 frames of the feature's enemy/<OID> plus the eshot kinds those OIDs spawn in the ROM (tools/engine/enemy_shots.json), closed mode. An OID with no frame in the 13 recordings earns 0.
Bosses and minibosses
Per feature: weight x equal / 1:1 frames of the enemy/<OID> kinds of the feature's OIDs (boss + parts, tools/engine/boss_oids.json, from build/BOSSMAP/boss-map.md) plus the eshot kinds those OIDs spawn in the ROM (tools/engine/enemy_shots.json, E5s), closed mode. The fights are measured from the prepared fight starts of the 13 recordings (build/E6a: the 1:1 and the engine start from the same start), because the replay from the recording's start leaves the original's path before most fights. A boss not ported yet earns 0.
All 13 stages
200 per stage x camera frames equal / X frames of the stage's recording (the camera sweep: build/E3f/s24_sweep.py with mmx_camera_run).
Upgrades, items and mechanisms
Frames of the item/* kinds equal to the original, closed mode: equal / 1:1 frames (the meter reads what the engine writes today; recomputed when the item trace grows).
Campaign, menus and presentation
0 until an engine test per feature exists (E7); the features are listed.
Distribution and final acceptance
0 until the engine kit ships and David accepts.

X in our own engine

In how many frames of the 13 recordings X in our own engine does exactly what the original game does.

100.00%

307,613 of 307,613 frames equal to the original

1:1 translation: how much of each stage already runs the same as the original

Each bar is the recording of a stage played for real. The coloured part is the frames of it that the 1:1 translation already runs, from the start until the first part that is still missing, compared with the original game; the grey part still uses the cartridge’s code. A frame is each image the game draws on the screen. The bars grow with every new round of measuring.

Across all 13 recordings, 137,235 of the 138,814 coloured frames came out identical to the original game’s; the other 1,579 differ.

This measure is separate from the X1 checklist and does not change its percentage.

Technical details

The data is in data/native-census.json; the importer is tools/sync_native_census.py. Each line comes from the game’s list of measured recordings: the frames of the recording, the frames the 1:1 translation runs before it stops for the first time, and how many of them equal the original.

Own engine: the phases

Phase of the planWhat it isStatus
E0Foundationsdone
E1Graphics and maps read from the ROMdone
E2Drawing on screendone (39 of 39 points and 84 of 84 sprites equal)
E3X100.00% of frames equal
E4Stage: camera, doors, enemy spawnsdone
E5Enemies15 of 35 types ported (in progress)
E6Bossesnot started
E7Campaign: title, menus, password, endingsnot started
E8Fixing the original game’s bugsnot started
E9Extras: palace, editor, Zero, Vilefrozen until then
E10120 fps and widescreennot started
VerifiedPartial, with counted partsEach plan has its own 100%.
Mega Man XThe original campaign: from the first jump to the credits.96.2%verified + partialVerified: 85.67% · Partial: 10.53%View planClose plan

100% means a complete X1, from the opening to the credits, with verified behavior, content and presentation.

What 100% means and how we count

Weights represent each delivery's share of the X1 scope. They do not estimate remaining hours. Each step has a fixed weight and scores in full when its specific criterion is verified. Before that, it earns only the share already checked when its parts are counted.

A weapon or enemy can earn completed steps while remaining partial. Measuring the original game, having a sprite or recording a video does not by itself prove implementation.

An enemy family counts once. Stages score placement, activation and interaction in that environment; they do not earn the shared behavior points again.

X2, X3 and extra modes remain separate expansions. They do not change the X1 denominator. Final completion also requires the campaign checks and player approval defined in the plan.

The remainder includes work still to implement and existing work that needs validation. Family weights will be publicly revised if inventory classification reveals new families; the total remains 100%.

Before that, another revision replaced the scale that only counted whole blocks, which showed 8%, with steps. It was also a revision of the map, not new work.

How the previous weights were redistributed
Previously accepted deliverableBeforeNow
Pack identity and safe paths1%0.5%
Input bindings and settings data2%0.75%
Save and password data contracts3%1%
Typed boss/reward catalog1%0.5%
Extracted portable baseline package1%0.75%

Captures show the state of the identified version; they do not replace tests or prove every situation.

Download the full plan · Download the checklist data

Feature checklist.

Each row shows its state: ✓ Done when every step is verified; otherwise, how many steps are verified so far. Open a row to see its weight, what is proven and what is missing.

X: movement and survival

17 of 18 steps11.95 / 12%Items done: 8 of 9

Done in this area, with video from the game

Walk and turn✓ Done1.5 / 1.5%

Images and behavior

Walking

X walks, changes direction and fires at the enemy.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Walk startup after short or long stops0.5%
    ✓ Verified

    Walk startup after short or long stops as covered by the cited reference cases, without expanding their scope.

    Technical details

    Accepted within the cited contract scope; does not certify cases outside it.

    docs/STATE.md · tests/cpp/player_walk_start_ramp_contract_test.cpp

  • Walk and turn — complete coverage1%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (gang G2, W37's rule): X's routine 81:812E (table 81:82A6, dispatch 81:82A3) over the 62 WRAM-equal runs of enemy_evidence_v4 (1.017.907 frames), pictures exact on every counted frame. Idle $00 (81:82EE), turn $02 (81:839D) and walk $04 (81:8408): every $0BAB sub-state in both facings, plus start, stop, turn from idle, turn into a walk and walking off a ledge: 22 of 22 parts seen. Bound: state level; P50's instruction residuals (81:8478 half-rate walk on the 84:93FF floor, 81:9E58 idle in level 8) are listed in the KB under their owner steps.

    knowledge_base/mmx1/rom/player_steps_2026-09-26.json · tools/tests/test_player_steps.py

Jump and release in mid-air✓ Done1.5 / 1.5%

Images and behavior

Jumping

X jumps, lands and fires at the enemy.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Jump release restarts falling from zero vertical speed0.5%
    ✓ Verified

    Jump release restarts falling from zero vertical speed as covered by the cited reference cases, without expanding their scope.

    Technical details

    Accepted within the cited contract scope; does not certify cases outside it.

    docs/STATE.md · tests/cpp/player_jump_release_ghost_test.cpp

  • Jump and release in mid-air — complete coverage1%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (gang G2, W37's rule): X's routine 81:812E (table 81:82A6, dispatch 81:82A3) over the 62 WRAM-equal runs of enemy_evidence_v4 (1.017.907 frames), pictures exact on every counted frame. Ascending $06 (81:8486, sub-states $00/$02/$04), descending $08 (81:8522) and landing $0A (81:8600) in both facings; release in mid-air ($06->$08 with B not held, 81:84F1..81:84FA) and the apex fall with B held (81:84E7..81:84EE); take-off from idle and walk; landing: 24 of 24 parts seen. Bound: state level; P50's residuals (80:B8F2/80:B8FA on-screen test, 81:8599/81:859D $3E/$3F in the air, 81:9D11 ridden object) are listed in the KB with their owners.

    knowledge_base/mmx1/rom/player_steps_2026-09-26.json · tools/tests/test_player_steps.py

Dash and dash jump✓ Done1.5 / 1.5%

Images and behavior

Dash

X dashes forward and fires at the enemy.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Land from dash jump walking without restarting walk startup0.5%
    ✓ Verified

    Land from dash jump walking without restarting walk startup as covered by the cited reference cases, without expanding their scope.

    Technical details

    Accepted within the cited contract scope; does not certify cases outside it.

    docs/STATE.md · tests/cpp/player_dash_jump_landing_walk_ghost_test.cpp

  • Dash and dash jump — complete coverage1%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (gang G2, W37's rule): X's routine 81:812E (table 81:82A6, dispatch 81:82A3) over the 62 WRAM-equal runs of enemy_evidence_v4 (1.017.907 frames), pictures exact on every counted frame. Dash $14 (81:890E, sub-states $00/$02) and dash-out $20 (81:89AA) in both facings; dash jump $14->$06 (also in water), dash-out, dash from a walk and from idle, dashing off a ledge: 20 of 20 parts seen. Bound: state level; P50's residuals (81:94B9 charged release, 81:94EF weapon cost clamp, 82:8351 all 8 shot slots busy) belong to the weapon steps.

    knowledge_base/mmx1/rom/player_steps_2026-09-26.json · tools/tests/test_player_steps.py

Wall slide and wall jump✓ Done1 / 1%
  • Wall slide and wall jump0.8%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-24 (card L6), ROM-first mode (megaman-x.exe --rom-first): wall slide (playerState $12, 81:82B8) and wall jump ($10, 81:82B6) are the ROM's own routine 81:812E. P49 unit gate exact on every gated call (slide 70, 47 and 64; jump 65, 54 and 59 calls in CP, SE and FM); K8 WRAM equal on every frame of the three recordings (19,009, 21,058 and 30,150); pictures exact (V5: 19,006 of 19,008; V6: 21,056 of 21,057 and 30,148 of 30,149). Both walls: 67 wall jumps carry X right and 90 left; 75 and 67 slides start with X moving right and left (scan of K8's captures). W22 clips: wall-kick CP f3394..3476, wall-slide CP f9190..9249. Bound: the three recordings (X's routine ran 2,469, 3,035 and 3,013 of 5,190 instructions per movie); the legacy engine is not certified.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/x_routine_gate_2026-09-24.json · knowledge_base/mmx1/rom/site_media_2026-09-24.json · tools/tests/test_rom_frame_gate.py · tools/tests/test_gate_x_routine.py

  • Wall-jump impulse and non-climbable world boundary0.2%
    ✓ Verified

    Wall-jump impulse and non-climbable world boundary as covered by the cited reference cases, without expanding their scope.

    Technical details

    U67/U204 contract; does not close corners, all surfaces or complete presentation.

    tests/cpp/player_walljump_contract_test.cpp

Ladders and underwater movement✓ Done1 / 1%
  • Ladders and underwater movement1%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (gang G2, W37's rule): X's routine 81:812E (table 81:82A6, dispatch 81:82A3) over the 62 WRAM-equal runs of enemy_evidence_v4 (1.017.907 frames), pictures exact on every counted frame. Ladders: grab from the air $24 (81:8D33) and from the ground $28 (81:8DB5), climb up/down and hold on $2A (81:8E26/81:8E33), shoot on it (81:8E18), exit at the top $26 (81:8E4F, 81:8D73), let go with jump, run off the end and step off at the bottom (81:8E58, 81:8E6A), each state in both facings. Water ($0C18 bit 0: set 84:955E/84:9885 with weight $21, cleared 84:9530/84:96A3): idle, turn, walk, jump, fall, land, wall slide/jump, dash and dash-out in water, entering and leaving. 38 of 38 parts seen.

    knowledge_base/mmx1/rom/player_steps_2026-09-26.json · tools/tests/test_player_steps.py

Floors, slopes and platforms0 of 1 step1.45 / 1.5%
  • Floors, slopes and platforms1.5%
    ↻ Partial35 of 36 parts

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/STATE.md · tests/cpp/player_slope_seam_contract_test.cpp

Death and checkpoint return✓ Done1 / 1%
  • Death and checkpoint return1%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-10-09 (L44, LG6 s2 rule): verified. All 17 parts are resolved: those seen in the cited sources and the two death causes no recording shows (action restore and crush, P55), which count as done by David's rule of 2026-10-09 for items on docs/goal/DEEP-INVESTIGATIONS.md, each with a serious attempt recorded (knowledge_base/mmx1/rom/deep_items_declared_resolved_2026-10-09.json). Not a complete proof: counted by the owner's decision.

    docs/STATE.md · tests/cpp/player_death_burst_contract_test.cpp · knowledge_base/mmx1/rom/player_coverage_2026-09-27.json · knowledge_base/mmx1/rom/deep_items_declared_resolved_2026-10-09.json · docs/tasks/done/R111-declared-resolved-deep-items.md

X poses and sounds✓ Done1.5 / 1.5%
  • X poses and sounds1.4%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-10-13 (L174, cards R147 to R150): 42 of 42 X presentation parts seen or proven (knowledge_base/mmx1/rom/player_coverage_2026-09-27.json#/steps/player.presentation.coverage (seen 38 of parts 42); read at git eff18a3b4; plus 3 parts pose-22-00-l, pose-22-02-l, pose-22-04-l per knowledge_base/mmx1/rom/deep_items_declared_resolved_2026-10-09.json#/steps/player.presentation.coverage/parts; plus part animation-palette-catalog per knowledge_base/mmx1/rom/x_animation_palette_catalog_2026-10-13_r150.json (R150, records seen or proved)). The last, X's animation and palette catalogue, closes with 192 of 192 animations (178 seen in verified takes, 14 proven impossible from the ROM, among them the armoured kneel: Zero only plays that scene on the intro highway, where X cannot wear armour yet) and 21 of 21 palettes (knowledge_base/mmx1/rom/x_animation_palette_catalog_2026-10-13_r150.json).

    docs/STATE.md · tests/cpp/player_landing_sfx_contract_test.cpp · knowledge_base/mmx1/rom/player_coverage_2026-09-27.json · knowledge_base/mmx1/rom/deep_items_declared_resolved_2026-10-09.json · knowledge_base/mmx1/rom/x_animation_palette_catalog_2026-10-13_r150.json · docs/tasks/done/R150-armoured-kneel-level-lists.md · docs/tasks/done/R149-hadouken-witness-and-last-proofs.md · docs/tasks/done/R148-x-anim-last-seven.md · docs/tasks/done/R147-x-anim-full-trace-and-kneel.md

  • Wall-slide pose faces the wall; shot and kick face away0.1%
    ✓ Verified

    Wall-slide pose faces the wall; shot and kick face away as covered by the cited reference cases, without expanding their scope.

    Technical details

    Non-shooting slide pose measured in CP; other animations remain open.

    tests/cpp/player_wallslide_facing_contract_test.cpp

Take damage and recover control✓ Done1.5 / 1.5%
  • Damage entry without early movement0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    Measured Chill Penguin cases; other directions, walls, platforms and owner play/audio review remain separate.

    docs/STATE.md · tests/cpp/player_hurt_scene_contract_test.cpp · knowledge_base/mmx1/player/hurt_entry_2026-09-19/measurement.json

  • Armored and unarmored recoil0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    Measured Chill Penguin cases; other directions, walls, platforms and owner play/audio review remain separate.

    docs/STATE.md · tests/cpp/player_hurt_scene_contract_test.cpp · knowledge_base/mmx1/player/hurt_entry_2026-09-19/measurement.json

  • Measured recovery and invulnerability0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    Measured Chill Penguin cases; other directions, walls, platforms and owner play/audio review remain separate.

    docs/STATE.md · tests/cpp/player_hurt_scene_contract_test.cpp · knowledge_base/mmx1/player/hurt_entry_2026-09-19/measurement.json

  • Hurt landing on the measured quarter ramp0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    Measured Chill Penguin cases; other directions, walls, platforms and owner play/audio review remain separate.

    docs/STATE.md · tests/cpp/player_hurt_scene_contract_test.cpp · knowledge_base/mmx1/player/hurt_entry_2026-09-19/measurement.json · knowledge_base/mmx1/player/hurt_terrain_2026-09-19/measurement.json

  • Damage across all terrain and interactions0.9%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-10-09 (L44, LG6 s2 rule): verified. All 55 parts are resolved: those seen in the cited sources and the four rare hurt cases (P60), which count as done by David's rule of 2026-10-09 for items on docs/goal/DEEP-INVESTIGATIONS.md, each with a serious attempt recorded (knowledge_base/mmx1/rom/deep_items_declared_resolved_2026-10-09.json). Not a complete proof: counted by the owner's decision.

    docs/STATE.md · knowledge_base/mmx1/rom/player_coverage_2026-09-27.json · knowledge_base/mmx1/rom/deep_items_declared_resolved_2026-10-09.json · docs/tasks/done/R111-declared-resolved-deep-items.md

Weapons

65 of 72 steps9.93 / 10%Items done: 3 of 9
X-Buster6 of 7 steps1.99 / 2%

Images and behavior

X-Buster

X fires the Buster until the enemy ahead is defeated.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Measured medium-shot birth and follow0.3%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    Accepted within the cited contract scope; does not certify cases outside it.

    docs/STATE.md · knowledge_base/mmx1/weapons/buster/charge_l1_birth_2026-09-17.json

  • Normal shot: complete lifecycle0.3%
    ✓ Verified

    Verify normal firing in both directions: birth, speed, trajectory, lifetime and off-screen cleanup, with actual input and source comparison.

    Technical details

    W2+W5+W6+W7 (2026-09-23): birth and cadence, per-frame flight both directions, camera-relative screen-edge clear; vertical edge not exercised (level shot).

    knowledge_base/mmx1/weapons/buster/rapid_fire_cadence_2026-09-20.json · knowledge_base/mmx1/weapons/buster/shot_lifetime_2026-09-23.json · knowledge_base/mmx1/weapons/buster/shot_cull_window_2026-09-23.json · tests/cpp/buster_rapid_fire_ghost_test.cpp · tests/cpp/buster_shot_lifetime_ghost_test.cpp

  • Full charge and charge levels0.4%
    ✓ Verified

    Verify charge threshold, release, all exclusive objects/states and charged-form termination.

    Technical details

    2026-09-25 (card L10, from W32's tapes), ROM-first mode: card W32's tape buster-levels (from tools/oracle/fixtures/david_allweapons.mss): WRAM equal on 896 of 896 NMI entries, pixels exact 895 of 895, frame gate equal 896 of 896 (read-instruction mismatches 0). Charge levels (81:97D2): level 1 ($0C03 = 3) 30 frames after the press, level 2 ($0C03 = 2) 100, level 3 ($0C03 = 1) 178; level 3 only with the arm parts (81:98C6), and the save has $1F99 = $FF, so all three. Level 1: press f149, threshold f179, release f209; $01 (lemonCharged 81:A2D2) born f209, 34 frames, freed off screen left in state 8 (81:A40D). Level 2: press f299, threshold f399, release f439; $03 (lemonChargedStrong 83:8C3E) born f439, 25 frames, freed off screen left in state 8 (83:8D2F). Level 3: press f529, threshold f707, release f749; three $02 (lemonSuperCharge 83:898E) born f749, f754, f754, 48, 49 and 46 frames, freed off screen left in state 8 (83:8B65); $1D born f749, 11 frames, freed at its anim end (83:A5F9); twelve X-effects $00 born f756..762, 20 to 26 frames, freed at their script end (81:A1A1). The charge object (X-effect $01, weaponCharging 81:A1BF) lives from level 1 to the release (30, 110 and 190 frames) and frees itself once $0C00 = 0 (81:A1D9 -> 82:8398). Bound: one charge and release per level; sound belongs to the sound step.

    knowledge_base/mmx1/rom/weapon_charged_cases_2026-09-25.json · tools/oracle/showcase_tapes.py · tools/tests/test_showcase_tapes.py · docs/tasks/done/W32-weapon-charged-cases.md

  • Damage, contact and deflection0.4%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-10-09 (L39, LG6 s2 rule as in L38b): verified; knowledge_base/mmx1/rom/buster_contact_2026-10-09_r103.json marks all 12 parts seen (4 buster shots $00-$03 x damage-row matrix, contact response and negative-row deflection). The 43 rows R58 left unequal are explained by their own captured JSL 84:9B43 call (R103): callers 87:8C4E ($05), 81:C553 ($07), 81:D569 ($11) and 88:C912 ($65, deflect 84:9EEE); exit HP equals the next frame's K5 snapshot in 43 of 43.

    knowledge_base/mmx1/rom/buster_contact_2026-10-09_r103.json · tools/oracle/post/reduce_buster_contact.py · tools/tests/test_buster_contact.py · docs/tasks/done/R103-buster-contact-unequal-rows.md

  • Use across campaign situations0.25%
    ✓ Verified

    Validate use after campaign acquisition, both facings, air/ground/water and weapon-specific interactions without regressions or provisional substitutes.

    Technical details

    2026-09-26 (card W41-weapon-poses-and-buster-states, W37's rule over W40's 80 WRAM-equal takes): the buster's states listed from the ROM (X-shot OID table 80:F68F; 81:A16D is weapon__00 of another list): $00 weaponBullet_lemon_00 (81:A228, table 81:A22E: 5 states, 0 sub-tables); $01 weaponBullet_lemonCharged_01 (81:A2D2, table 81:A2DC: 5 states, 3 sub-tables); $02 weaponShot_lemonSuperCharge_02 (83:898E, table 83:899C: 5 states, 4 sub-tables); $03 weaponShot_lemonCharged_03 (83:8C3E, table 83:8C44: 5 states, 3 sub-tables); every listed state and sub-state is seen in the takes (state $00 runs in the birth frame). Parts from weapons_evidence_2026-09-26e: fired: 5,722 frames, pictures 5,721 of 5,722; facing_left: 1,247 frames, pictures 1,247 of 1,247; facing_right: 4,475 frames, pictures 4,474 of 4,475; ground: 3,078 frames, pictures 3,078 of 3,078; air: 2,596 frames, pictures 2,595 of 2,596. No water branch (W37). The only inexact frame, launch-octopus-auto f3844, is colour_math, a visual residual (L8/L29's residual rule). Bound: the recorded takes.

    knowledge_base/mmx1/rom/weapon_poses_2026-09-26.json · tools/tests/test_weapon_poses_w41.py

  • Three live normal shots without extra cooldown0.1%
    ✓ Verified

    Three live normal shots without extra cooldown as covered by the cited reference cases, without expanding their scope.

    Technical details

    A5 shot-limit contract; collision and general trajectory remain in other steps.

    tests/cpp/player_buster_ghost_test.cpp

  • Sprites, poses and sounds0.25%
    ↻ Partial125 of 126 parts

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/STATE.md · knowledge_base/mmx1/weapons/buster/weapon.json

Shotgun Ice7 of 9 steps0.98 / 1%

Images and behavior

Shotgun Ice

X fires Shotgun Ice at the enemy.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Normal shot0.15%
    ✓ Verified

    Verify normal firing in both directions: birth, speed, trajectory, lifetime and off-screen cleanup, with actual input and source comparison.

    Technical details

    2026-09-24 (card L6), ROM-first mode (megaman-x.exe --rom-first): normal shot 0x0E (mainWeaponShot_ice_0e, main 83:9807) fired by David's input in the three recordings; K8 WRAM equal on every frame (19,009, 21,058 and 30,150), so birth, speed, trajectory and lifetime equal the original's. Launched 61 times right and 73 left; freed off the screen (camera-relative) 49 times going right and 63 going left (scan of K8's captures). E34 unit gate: 881 calls exact (CP 81 of 81, SE 400 of 400, FM 400 of 400); W21 clip shotgun-ice: WRAM 503 of 503 frames, frame gate equal. Bound: E34 ran at most 665 of 1885 instructions of the shot's routine.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/object_tables_gate_2026-09-24.json · knowledge_base/mmx1/rom/showcase_clips_2026-09-24.json · tools/tests/test_rom_frame_gate.py · tools/tests/test_gate_movie_handlers.py

  • Charged shot0.2%
    ✓ Verified

    Verify charge threshold, release, all exclusive objects/states and charged-form termination.

    Technical details

    2026-10-02, T6, David's verified w-a: WRAM/frame gate 5550/5550, pixels 5549/5549. Wall breaks with left-going speed at f3918, f4386, f4773 and f5232; each creates six OID $02 pieces that fall and are freed (83:A54E..83:A596; 87:82B8..87:82C7). X takes nonlethal damage while mounted at f2055, f2175, f2756, f2999 and f3186. W35 retains charge, birth, states, riding and offscreen termination. 9/10 obligations, 0 bp: sled main state 8 missing. 84:9E6E..84:9E94 requires the ENEMY to survive projectile damage; damage received by X and sub-state 8 do not prove that branch. Action: record a charged sled hitting a surviving common enemy, then breaking and freeing all six pieces. KB knowledge_base/mmx1/rom/shotgun_ice_sled_2026-10-02.json. 2026-10-04 (W45, LG5): verified; 10 of 10 charged obligations across shotgun_ice_sled_2026-10-02.json and shotgun_ice_sled_survivor_2026-10-04.json (sigma2 f3569 damage state 8 break, six pieces freed by f3637); WRAM 41295 of 41295; pictures exact 69 of 69 over f3569..3637; test tools/tests/test_shotgun_ice_sled_capture.py.

    docs/STATE.md · knowledge_base/mmx1/weapons/shotgun-ice/weapon.json · knowledge_base/mmx1/rom/weapon_cases_w35_2026-09-25.json · knowledge_base/mmx1/rom/shotgun_ice_sled_2026-10-02.json · tools/tests/test_shotgun_ice_sled_capture.py · knowledge_base/mmx1/rom/shotgun_ice_sled_survivor_2026-10-04.json · docs/tasks/done/W45-sled-survivor-break-rereduce.md

  • Input, ammo and lifecycle0.1%
    ✓ Verified

    Verify cost, projectile limit, refill, weapon switching and behavior on pause, death or empty ammo.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): cost 3 (chill-penguin-new-game f17652), limit 219 (chill-penguin-new-game f17652), refill 1 (sigma1-zero-arm f21842), switch_pause 1 (sigma3-weapons-branch f22105), switch_lr 82 (boomer-kuwanger f7567), pause 2 (sigma-final-attempt-2 f4080), death 2 (boomer-kuwanger f33575), continue 4 (boomer-kuwanger f20844), empty 7 (sigma4-final-not-beaten f28057). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), spark-mandrill 24 (f5075, f5081), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Measured impact-effect position0.05%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    Only the accepted contact effect; remaining damage and interactions are not inferred.

    docs/STATE.md · tests/cpp/gameplay_buster_impact_contract_test.cpp

  • Collision and contact effects0.15%
    ✓ Verified

    Verify terrain, common targets and projectile contact: fragments, return, absorption or exclusive effects; boss-specific damage matrices belong to bosses.

    Technical details

    2026-09-26 (card W37, coordinator decisions 1-3, from the K5 captures of R10's WRAM-equal whole takes and R12's sigma-final-attempt-2): every part of the acceptance runs in David's takes, pictures exact on their frames (V12); parts from re/mmx1 by bank:addr in the KB. Seen (count, first take and frame): terrain 89 (boomer-kuwanger f12716), state_04 16 (launch-octopus-and-sting-flooded f11406), state_06 35 (boomer-kuwanger f8715), state_08 336 (boomer-kuwanger f11192). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26.json · tools/tests/test_weapons_evidence.py

  • Campaign use and interactions0.15%
    ✓ Verified

    Validate use after campaign acquisition, both facings, air/ground/water and weapon-specific interactions without regressions or provisional substitutes.

    Technical details

    2026-09-26 (card W38, coordinator decisions 1-3; W37's rule): every part the title needs runs in David's WRAM-equal whole takes (K5 captures of W37's 22 and R14's vile-zero-with-arm), fired shots traced by their creator, the fire path 81:9536 (OID weapon/2 + 6, +9 at level 3; a child site 83:8BA9..83:A28D runs only inside a live object of the weapon); energy drop cross-check: 202 fired frames, 3 with the exact drop. Seen (count, first take and frame): fired 202 (chill-penguin-new-game f17652), facing_left 70 (boomer-kuwanger f11192), facing_right 132 (chill-penguin-new-game f17652), ground 121 (chill-penguin-new-game f17652), air 72 (boomer-kuwanger f8715), state_00 1,164 (chill-penguin-new-game f17652), state_02 1,043 (chill-penguin-new-game f17652), state_04 16 (launch-octopus-and-sting-flooded f11406), state_06 35 (boomer-kuwanger f8715), state_08 336 (boomer-kuwanger f11192). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), spark-mandrill 24 (f5075, f5081), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json · tools/tests/test_weapons_fired_by_creator.py

  • Normal-shot parameters loaded from source measurements0.05%
    ✓ Verified

    Normal-shot parameters loaded from source measurements as covered by the cited reference cases, without expanding their scope.

    Technical details

    Engine configuration contract, not complete trajectory, every target or presentation.

    tests/cpp/weapon_kb_contract_test.cpp · knowledge_base/mmx1/weapons/shotgun-ice/weapon.json

  • Sprites and animation0.1%
    ↻ Partial12 of 13 parts

    Compare each projectile/child pose, palette, anchor and animation sequence against source.

    Technical details

    Historical campaigns have partial results and later open issues; reconciliation is required per substep.

    docs/STATE.md · knowledge_base/mmx1/weapons/shotgun-ice/weapon.json

  • Measured sound or proven silence0.05%
    ↻ Partial9 of 11 parts

    Compare firing, charging, contact and termination audio events; silence closes only with a positive capture control.

    Technical details

    Historical campaigns have partial results and later open issues; reconciliation is required per substep.

    docs/STATE.md · knowledge_base/mmx1/weapons/shotgun-ice/weapon.json

Storm Tornado✓ Done1 / 1%

Images and behavior

Storm Tornado

X launches Storm Tornado at the enemy.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Normal shot0.15%
    ✓ Verified

    Verify normal firing in both directions: birth, speed, trajectory, lifetime and off-screen cleanup, with actual input and source comparison.

    Technical details

    2026-09-24 (card L6), ROM-first mode (megaman-x.exe --rom-first): normal shot 0x0B (mainWeaponShot_storm_0b, main 83:9550) fired by David's input in the three recordings; K8 WRAM equal on every frame (19,009, 21,058 and 30,150), so birth, speed, trajectory and lifetime equal the original's. Launched 3 times right and 2 left; freed off the screen (camera-relative) 3 times going right and 2 going left (scan of K8's captures). E34 unit gate: 436 calls exact (SE 186 of 186, FM 250 of 250); W21 clip storm-tornado: WRAM 422 of 422 frames, frame gate equal. Bound: E34 ran at most 317 of 420 instructions of the shot's routine.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/object_tables_gate_2026-09-24.json · knowledge_base/mmx1/rom/showcase_clips_2026-09-24.json · tools/tests/test_rom_frame_gate.py · tools/tests/test_gate_movie_handlers.py

  • Charged shot0.2%
    ✓ Verified

    Verify charge threshold, release, all exclusive objects/states and charged-form termination.

    Technical details

    2026-09-25 (card L10, from W32's tapes), ROM-first mode: card W32's tape storm-tornado-charged-end (from tools/oracle/fixtures/david_allweapons.mss): WRAM equal on 820 of 820 NMI entries, pixels exact 819 of 819, frame gate equal 820 of 820 (read-instruction mismatches 0). Press f173, level-3 threshold f351 (178 frames), release f373. The charged form is two $14 (chargeShot_storm 83:9FAA) born at f373 at x 196, y 1087 and y 1279 (the second with +$0B set, 83:A0B5); each runs the fixed sequence (anim to its end, 83:A057; 30 frames, 83:A06C; anim to its end, 83:A097) and CODE_83A0A4 frees it at 83:A0B0 after 55 frames (f428), the second below the view. The charge object (X-effect $01) lived 170 frames, f203 to the release. Bound: one charge and release; sound belongs to the sound step.

    knowledge_base/mmx1/rom/weapon_charged_cases_2026-09-25.json · tools/oracle/showcase_tapes.py · tools/tests/test_showcase_tapes.py · docs/tasks/done/W32-weapon-charged-cases.md

  • Input, ammo and lifecycle0.1%
    ✓ Verified

    Verify cost, projectile limit, refill, weapon switching and behavior on pause, death or empty ammo.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): cost 2 (storm-eagle-and-spark-dark f15989), limit 107 (storm-eagle-and-spark-dark f15989), refill 1 (sigma1-zero-arm f21842), switch_pause 2 (sigma3-weapons-branch f23053), switch_lr 45 (storm-eagle-and-spark-dark f17555), pause 3 (sigma3-weapons-branch f23931), death 4 (sigma3 f20068), continue 2 (sigma2 f27298), empty 1 (sigma3-st-empty-weapons-branch f22561). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Collision and contact effects0.2%
    ✓ Verified

    Verify terrain, common targets and projectile contact: fragments, return, absorption or exclusive effects; boss-specific damage matrices belong to bosses.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): state_04 14 (sigma2 f5681), state_06 7 (armored-armadillo f4971), state_08 65 (armored-armadillo f4970). Terrain not applicable (decision 2): the +$2B readers among the weapons' routines are BC 82:86E8, FW 83:9E94, RS 83:93BB, SI 83:98C9 (W37, KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26.json), none in this weapon's routines, and W38 asserts the list complete (KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json: no read of +$2B in its routines, no take can show it). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Sprites and animation0.1%
    ✓ Verified

    Compare each projectile/child pose, palette, anchor and animation sequence against source.

    Technical details

    2026-09-26 (card W42-weapon-pose-draw-routines, W37's rule over W40's 80 WRAM-equal takes): every pose listed from the ROM (setSpriteAnim 84:8F07 scripts from AF:A000; branch-selected arguments listed both ways, tools/oracle/post/build_weapon_poses.py): $0B weaponShot_storm_0b (83:9550): 38 poses; $14 chargeShot_storm_14 (83:9FAA): 31 poses; all 69 seen on exact frames (15,813 frames, 15,813 exact). The 3 pairs outside the OID's own listing (17 frames, all exact) are its slot's previous occupant's pose, each an entry of a script another OID starts (set, writers: $05 $0D; $08 $00,$06; $46 $0A). Bound: the recorded takes.

    knowledge_base/mmx1/rom/weapon_poses_2026-09-26.json · tools/tests/test_weapon_poses_w41.py

  • Measured sound or proven silence0.05%
    ✓ Verified

    Compare firing, charging, contact and termination audio events; silence closes only with a positive capture control.

    Technical details

    2026-10-12 (L118, cards A31 and A32): 9 of 9 weapon sound calls, all gated: knowledge_base/mmx1/rom/weapon_sfx_2026-09-27.json#/weapons/storm-tornado/calls (status gated 6 of 9 sound calls; knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-09_r62.json#/gated 819478:17; knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a31.json#/gated 8193E6:17; knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a32.json#/gated 8197F8:17); read at git 6f62550a7. A32 fixed the owner rule at site C (81:97F8) and gated the charge-cancel call at the Sigma 2 ride-armor entry (knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a32.json).

    docs/STATE.md · knowledge_base/mmx1/weapons/storm-tornado/weapon.json · knowledge_base/mmx1/rom/weapon_sfx_2026-09-27.json · knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-09_r62.json · knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a31.json · knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a32.json · docs/tasks/done/A31-charge-cancel-remaining-sites.md · docs/tasks/done/A32-charge-cancel-site-c-owner-and-runs.md

  • Campaign use and interactions0.15%
    ✓ Verified

    Validate use after campaign acquisition, both facings, air/ground/water and weapon-specific interactions without regressions or provisional substitutes.

    Technical details

    2026-09-26 (card W38, coordinator decisions 1-3; W37's rule): every part the title needs runs in David's WRAM-equal whole takes (K5 captures of W37's 22 and R14's vile-zero-with-arm), fired shots traced by their creator, the fire path 81:9536 (OID weapon/2 + 6, +9 at level 3; a child site 83:8BA9..83:A28D runs only inside a live object of the weapon); energy drop cross-check: 30 fired frames, 2 with the exact drop. Seen (count, first take and frame): fired 30 (storm-eagle-and-spark-dark f15989), facing_left 6 (armored-armadillo f10470), facing_right 24 (storm-eagle-and-spark-dark f15989), ground 18 (storm-eagle-and-spark-dark f15989), air 12 (armored-armadillo f5187), state_00 28 (storm-eagle-and-spark-dark f15989), state_02 54 (storm-eagle-and-spark-dark f15989), state_04 1 (sigma2 f5681), state_06 3 (armored-armadillo f4971), state_08 25 (armored-armadillo f4970). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json · tools/tests/test_weapons_fired_by_creator.py

  • Normal-shot parameters loaded from source measurements0.05%
    ✓ Verified

    Normal-shot parameters loaded from source measurements as covered by the cited reference cases, without expanding their scope.

    Technical details

    Engine configuration contract, not complete trajectory, every target or presentation.

    tests/cpp/storm_tornado_kb_contract_test.cpp · knowledge_base/mmx1/weapons/storm-tornado/weapon.json

Fire Wave7 of 8 steps0.99 / 1%

Images and behavior

Fire Wave

X holds Fire Wave through the attack.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Normal shot0.15%
    ✓ Verified

    Verify normal firing in both directions: birth, speed, trajectory, lifetime and off-screen cleanup, with actual input and source comparison.

    Technical details

    2026-09-25 (card L20, from the weapon-case KBs of 2026-09-24 and W35), ROM-first mode: normal Fire Wave (object $0A, fireThrower 83:943D) fired from David's all-weapons savestate by pad-input tapes, run by the original (Mesen2) and by the generated program. Both directions: tape fire-wave-both, 43 flames left and 44 right, all on screen: WRAM equal 696 of 696, pixels exact 695 of 695, frame gate 696 of 696, APU port reads equal 22 of 22. Birth: at X's x -16 px (left) and +16 px (right); speed and trajectory: dx -7 px a frame for 5 frames; +0 px a frame for 4 frames (left) and +7 px a frame for 5 frames; +0 px a frame for 4 frames (right), dy 0, each flame's path in the KB; lifetime: 10 frames from birth to free, the one free site 83:950E at the animation's end in sub-state 2 (W35's read). Off-screen cleanup: tape fire-wave-edge, 50 flames: WRAM equal 407 of 407, pixels exact 406 of 406, frame gate 407 of 407; checkPlayerGear 82:80B4 (called at 83:94BB) found a live flame more than 32 px left of the view on 109 frames (337 flame-frames) from f191 (view x down to -67) and cleared its draw flag +$0E (82:80D6) without freeing it; flames are freed only at 83:950E, off screen too. The test is one unsigned compare per axis (x - camera + $20 >= $140), so the right side takes the same branch. Bound: the cases of these two tapes; hits (states 4, 6, 8) belong to weapon.fire-wave.interaction.

    knowledge_base/mmx1/rom/weapon_cases_2026-09-24.json · knowledge_base/mmx1/rom/weapon_cases_w35_2026-09-25.json · tools/tests/test_showcase_tapes.py

  • Charged shot0.2%
    ✓ Verified

    Verify charge threshold, release, all exclusive objects/states and charged-form termination.

    Technical details

    2026-09-26 (card W40-weapon-remaining-steps, W37's rule over 80 WRAM-equal takes incl. B6's branch takes): the charged form $13 (chargeShot_fire_13 83:9DD4, states $00 83:9DE4, $02 83:9E38, $04..$08 83:9E2A) with FW selected: threshold, 20 releases at the full charge ($0C03 $01 to $00; playerAmorAndCharge 81:97D2); births: first sigma2 f9221, 186 frames, pictures 186 of 186 (state $00 runs in the birth frame); $13 state $02: first sigma2 f9221, 382 frames, pictures 382 of 382; $13 state $04: first b6-aa-f-wave-charged-hunt f1717, 4 frames, pictures 4 of 4; $13 state $06: first sigma2 f9248, 12 frames, pictures 12 of 12; $13 state $08: first sigma2 f9244, 180 frames, pictures 180 of 180; its terrain reads (83:9E94, 83:9F1B) +$2B rising: first sigma2 f9221, 72 frames, pictures 72 of 72; termination slot freed: first sigma2 f9283, 184 frames, pictures 184 of 184. No other OID is born while it lives. Bound: the recorded takes.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26e.json · tools/tests/test_weapons_w40.py

  • Input, ammo and lifecycle0.1%
    ✓ Verified

    Verify cost, projectile limit, refill, weapon switching and behavior on pause, death or empty ammo.

    Technical details

    2026-09-26 (card W37, coordinator decisions 1-3, from the K5 captures of R10's WRAM-equal whole takes and R12's sigma-final-attempt-2): every part of the acceptance runs in David's takes, pictures exact on their frames (V12); parts from re/mmx1 by bank:addr in the KB. Seen (count, first take and frame): cost 62 (flame-mammoth-lava f21942), limit 86 (chill-penguin-new-game f12567), refill 25 (chill-penguin-new-game f12219), switch_pause 1 (spark-mandrill f2751), switch_lr 50 (chill-penguin-new-game f11649), pause 3 (sting-chameleon f9833), death 1 (boomer-kuwanger f4970), continue 4 (boomer-kuwanger f20844), empty 7 (spark-mandrill f7775). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26.json · tools/tests/test_weapons_evidence.py

  • Collision and contact effects0.2%
    ✓ Verified

    Verify terrain, common targets and projectile contact: fragments, return, absorption or exclusive effects; boss-specific damage matrices belong to bosses.

    Technical details

    2026-09-26 (card W40-weapon-remaining-steps, W37's rule over 80 WRAM-equal takes incl. B6's branch takes): every part the title needs is seen, pictures exact: terrain: first sigma2 f5184, 1,664 frames, pictures 1,664 of 1,664; state_04: first chill-penguin-new-game f14068, 581 frames, pictures 581 of 581; state_06: first chill-penguin-new-game f11697, 387 frames, pictures 387 of 387; state_08: first chill-penguin-new-game f11688, 4,982 frames, pictures 4,982 of 4,982. W38's hold (normal vs charged terrain) is resolved: the terrain reads are the charged form's (83:9E94, 83:9F1B) and $13's +$2B rises on 72 frames, pictures 72 of 72, first sigma2 f9221. Bound: the recorded takes; boss matrices belong to bosses.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26e.json · tools/tests/test_weapons_w40.py

  • Sprites and animation0.1%
    ✓ Verified

    Compare each projectile/child pose, palette, anchor and animation sequence against source.

    Technical details

    2026-10-10 (L50, LG6 s2 rule): verified; 31 of 31 parts: those already seen as before, and $0A:$46:C224:$02 declared impossible for the current score by David on 2026-10-10 (knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json, items of docs/goal/DEEP-INVESTIGATIONS.md). If someone finds a way to make it happen, the part becomes "feasible" again and needs a witness.

    docs/STATE.md · knowledge_base/mmx1/weapons/fire-wave/weapon.json · knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json · docs/goal/DEEP-INVESTIGATIONS.md · docs/tasks/done/R118-declare-r115-impossible.md · docs/tasks/done/R115-deep-rule-candidates.md

  • Campaign use and interactions0.15%
    ✓ Verified

    Validate use after campaign acquisition, both facings, air/ground/water and weapon-specific interactions without regressions or provisional substitutes.

    Technical details

    2026-09-26 (card W40-weapon-remaining-steps, W37's rule over 80 WRAM-equal takes incl. B6's branch takes): every part is seen: fired: first flame-mammoth-lava f21942, 10,641 frames, pictures 10,632 of 10,641; facing_left: first chill-penguin-new-game f12157, 3,024 frames, pictures 3,021 of 3,024; facing_right: first flame-mammoth-lava f21942, 7,617 frames, pictures 7,611 of 7,617; ground: first flame-mammoth-lava f21942, 6,153 frames, pictures 6,144 of 6,153; air: first chill-penguin-new-game f12558, 4,364 frames, pictures 4,364 of 4,364; state_00: first flame-mammoth-lava f21942, 10,623 frames, pictures 10,614 of 10,623; state_02: first flame-mammoth-lava f21942, 16,573 frames, pictures 16,558 of 16,573; state_04: first chill-penguin-new-game f14068, 581 frames, pictures 581 of 581; state_06: first chill-penguin-new-game f11697, 387 frames, pictures 387 of 387; state_08: first chill-penguin-new-game f11688, 4,982 frames, pictures 4,982 of 4,982. L29's residual rule: the only inexact pictures are 5 colour_math frames (f5081, f5085, f5388, f5396, f6129) of spark-mandrill and its two branches (the dark stage's colour math, a visual residual, not the weapon). Bound: the recorded takes.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26e.json · tools/tests/test_weapons_w40.py

  • Normal-shot parameters loaded from source measurements0.05%
    ✓ Verified

    Normal-shot parameters loaded from source measurements as covered by the cited reference cases, without expanding their scope.

    Technical details

    Engine configuration contract, not complete trajectory, every target or presentation.

    tests/cpp/fire_wave_kb_contract_test.cpp · knowledge_base/mmx1/weapons/fire-wave/weapon.json

  • Measured sound or proven silence0.05%
    ↻ Partial9 of 10 parts

    Compare firing, charging, contact and termination audio events; silence closes only with a positive capture control.

    Technical details

    Historical campaigns have partial results and later open issues; reconciliation is required per substep.

    docs/STATE.md · knowledge_base/mmx1/weapons/fire-wave/weapon.json

Electric Spark7 of 8 steps0.99 / 1%

Images and behavior

Electric Spark

X fires Electric Spark during combat.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Normal shot0.15%
    ✓ Verified

    Verify normal firing in both directions: birth, speed, trajectory, lifetime and off-screen cleanup, with actual input and source comparison.

    Technical details

    2026-09-25 (card L8), ROM-first mode: normal shot 0x0C fired by card W29's tape electric-spark-both (tools/oracle/fixtures/david_allweapons.mss): WRAM equal 672 of 672 frames, pixels exact 671 of 671, frame gate equal (read-instruction mismatches 0), APU port reads 6 of 6. Left: born f159 at x 109, 3 px per frame, freed f209 after 50 frames at x -35 (camera 0): off screen left. Right: born f429 at x 144, freed f479 after 50 frames at x 288: off screen right (X-shot slot $1228; W29 KB). Bound: one life per direction, X standing on flat ground; wall contact belongs to the interaction step.

    knowledge_base/mmx1/rom/weapon_cases_2026-09-24.json · tools/oracle/showcase_tapes.py · tools/tests/test_showcase_tapes.py · docs/tasks/done/W29-weapon-missing-cases.md

  • Charged shot0.2%
    ✓ Verified

    Verify charge threshold, release, all exclusive objects/states and charged-form termination.

    Technical details

    2026-09-25 (card L8), ROM-first mode: card W23's clip electric-spark-charged, read by W29: WRAM equal 532 of 532 frames, pixels exact 531 of 531, frame gate equal. The charged form $15 twice: born f385 at x 212, 8 px per frame right, freed f415 after 30 frames at x 356 (camera 68): off screen right; the second born f395, 8 px per frame left, freed f420 at x 28: off screen left. The hold runs through the charge thresholds to the release under the state gate (the charge counter and level are WRAM). Bound: one charge and release, X standing; sound belongs to the sound step.

    knowledge_base/mmx1/rom/weapon_cases_2026-09-24.json · tools/oracle/showcase_tapes.py · tools/tests/test_showcase_tapes.py · docs/tasks/done/W29-weapon-missing-cases.md

  • Input, ammo and lifecycle0.1%
    ✓ Verified

    Verify cost, projectile limit, refill, weapon switching and behavior on pause, death or empty ammo.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): cost 1 (spark-mandrill f26476), limit 25 (spark-mandrill f26516), refill 1 (sigma1-zero-arm f21842), switch_pause 2 (sigma3-weapons-branch f22849), switch_lr 59 (sting-chameleon f3370), pause 1 (sigma3-weapons-branch f22931), death 1 (sigma3-es-death-weapons-branch f20195), continue 2 (sigma2 f27298), empty 2 (launch-octopus-and-sting-flooded f12935). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), spark-mandrill 24 (f5075, f5081), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Collision and contact effects0.2%
    ✓ Verified

    Verify terrain, common targets and projectile contact: fragments, return, absorption or exclusive effects; boss-specific damage matrices belong to bosses.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): state_04 12 (launch-octopus-and-sting-flooded f11664), state_06 21 (sting-chameleon f18917), state_08 100 (sting-chameleon f20849), state_0A 162 (spark-mandrill f26547). Terrain not applicable (decision 2): the +$2B readers among the weapons' routines are BC 82:86E8, FW 83:9E94, RS 83:93BB, SI 83:98C9 (W37, KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26.json), none in this weapon's routines, and W38 asserts the list complete (KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json: no read of +$2B in its routines, no take can show it). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), spark-mandrill 24 (f5075, f5081), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Sprites and animation0.1%
    ✓ Verified

    Compare each projectile/child pose, palette, anchor and animation sequence against source.

    Technical details

    2026-10-03 (W44): 22 of 22 own $15 poses seen on exact frames; all 28 inherited pairs explained; entry C25E (cell $03) is replaced by the ROM before the OAM draw on every path (83:A153 -> 83:A164), excluded with the complete proof in build/W44/skipped.json; no X-effect $02 piece belongs to Electric Spark.

    knowledge_base/mmx1/rom/weapon_poses_2026-09-26.json · tools/oracle/post/build_weapon_poses.py · build/W44/skipped.json · docs/tasks/done/W44-rom-skipped-pose-entries.md

  • Campaign use and interactions0.15%
    ✓ Verified

    Validate use after campaign acquisition, both facings, air/ground/water and weapon-specific interactions without regressions or provisional substitutes.

    Technical details

    2026-09-26 (card W38, coordinator decisions 1-3; W37's rule): every part the title needs runs in David's WRAM-equal whole takes (K5 captures of W37's 22 and R14's vile-zero-with-arm), fired shots traced by their creator, the fire path 81:9536 (OID weapon/2 + 6, +9 at level 3; a child site 83:8BA9..83:A28D runs only inside a live object of the weapon); energy drop cross-check: 40 fired frames, 1 with the exact drop. Seen (count, first take and frame): fired 40 (spark-mandrill f26476), facing_left 14 (sting-chameleon f20841), facing_right 26 (spark-mandrill f26476), ground 30 (spark-mandrill f26476), air 9 (sting-chameleon f20841), state_00 100 (spark-mandrill f26476), state_02 111 (spark-mandrill f26476), state_04 11 (launch-octopus-and-sting-flooded f11664), state_06 9 (sting-chameleon f18917), state_08 48 (sting-chameleon f20849), state_0A 98 (spark-mandrill f26547). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), spark-mandrill 24 (f5075, f5081), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json · tools/tests/test_weapons_fired_by_creator.py

  • Normal-shot parameters loaded from source measurements0.05%
    ✓ Verified

    Normal-shot parameters loaded from source measurements as covered by the cited reference cases, without expanding their scope.

    Technical details

    Engine configuration contract, not complete trajectory, every target or presentation.

    tests/cpp/electric_spark_kb_contract_test.cpp · knowledge_base/mmx1/weapons/electric-spark/weapon.json

  • Measured sound or proven silence0.05%
    ↻ Partial7 of 8 parts

    Compare firing, charging, contact and termination audio events; silence closes only with a positive capture control.

    Technical details

    Historical campaigns have partial results and later open issues; reconciliation is required per substep.

    docs/STATE.md · knowledge_base/mmx1/weapons/electric-spark/weapon.json

Rolling Shield✓ Done1 / 1%

Images and behavior

Rolling Shield

X sends Rolling Shield along the ground to hit the enemy.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Normal shot0.15%
    ✓ Verified

    Verify normal firing in both directions: birth, speed, trajectory, lifetime and off-screen cleanup, with actual input and source comparison.

    Technical details

    2026-09-25 (card L8), ROM-first mode: normal shot 0x09 fired by card W29's tape rolling-shield-both (tools/oracle/fixtures/david_allweapons.mss): WRAM equal 636 of 636 frames, pixels exact 635 of 635, frame gate equal (read-instruction mismatches 0), APU port reads 4 of 4. Left: born f123 at x 109, 4 px per frame, freed f167 after 44 frames at x -35 (camera 0): off screen left. Right: born f393 at x 144, freed f436 after 43 frames at x 288: off screen right (X-shot slot $1228; W29 KB). Bound: one life per direction, X standing on flat ground; wall contact belongs to the interaction step.

    knowledge_base/mmx1/rom/weapon_cases_2026-09-24.json · tools/oracle/showcase_tapes.py · tools/tests/test_showcase_tapes.py · docs/tasks/done/W29-weapon-missing-cases.md

  • Charged shot0.2%
    ✓ Verified

    Verify charge threshold, release, all exclusive objects/states and charged-form termination.

    Technical details

    2026-09-25 (card L10, from W32's tapes), ROM-first mode: card W32's tape rolling-shield-charged-end (from tools/oracle/fixtures/david_allweapons.mss): WRAM equal on 1,066 of 1,066 NMI entries, pixels exact 1,065 of 1,065, frame gate equal 1,066 of 1,066 (read-instruction mismatches 0). Press f149, level-3 threshold f327 (178 frames), release f349. The charged form, the shield $12 (chargeShot_shild 83:9C53), is born at f349 and lives 236 frames: at f573 the enemy-shot contact check 84:9BC8 met Axe Max's log (enemy shot $08, +$28 = 0), which turns state 2 into state 8 (83:9CD5); state 8 dissolves it and frees it at the anim end, f585 (83:9D75..83:9D84). The charge object (X-effect $01) lived 170 frames, f179 to the release. Bound: one of the shield's five ends; the other four (X's action $2C, $1F23 not 0, $1F7B = 4, X's health 0; 83:9CB5..83:9CC8) enter the same state 8; sound belongs to the sound step.

    knowledge_base/mmx1/rom/weapon_charged_cases_2026-09-25.json · tools/oracle/showcase_tapes.py · tools/tests/test_showcase_tapes.py · docs/tasks/done/W32-weapon-charged-cases.md

  • Input, ammo and lifecycle0.1%
    ✓ Verified

    Verify cost, projectile limit, refill, weapon switching and behavior on pause, death or empty ammo.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): cost 2 (armored-armadillo f13215), limit 176 (armored-armadillo f13215), refill 1 (sigma1-zero-arm f21842), switch_pause 1 (sigma3-weapons-branch f21863), switch_lr 49 (sigma1-zero-arm f11680), pause 4 (sigma-final-attempt-1 f12542), death 1 (sigma-final-attempt-1 f15249), continue 2 (sigma2 f27298), empty 1 (sigma3-weapons-branch f21909). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Collision and contact effects0.2%
    ✓ Verified

    Verify terrain, common targets and projectile contact: fragments, return, absorption or exclusive effects; boss-specific damage matrices belong to bosses.

    Technical details

    2026-09-26 (card W37, coordinator decisions 1-3, from the K5 captures of R10's WRAM-equal whole takes and R12's sigma-final-attempt-2): every part of the acceptance runs in David's takes, pictures exact on their frames (V12); parts from re/mmx1 by bank:addr in the KB. Seen (count, first take and frame): terrain 62 (armored-armadillo f13216), state_04 1 (sigma-final-attempt-1 f14587), state_06 10 (sigma1-zero-arm f12332), state_08 57 (sigma1-zero-arm f11718), projectile 4 (sigma3 f13323). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26.json · tools/tests/test_weapons_evidence.py

  • Sprites and animation0.1%
    ✓ Verified

    Compare each projectile/child pose, palette, anchor and animation sequence against source.

    Technical details

    2026-09-26 (card W41-weapon-poses-and-buster-states, W37's rule over W40's 80 WRAM-equal takes): every pose listed from the ROM (animation scripts from AF:A000 via setSpriteAnim 84:8F07, tools/oracle/post/build_weapon_poses.py): $09 weaponShot_shild_09 (83:92EC): set $48, 7 poses; $12 chargeShot_shild_12 (83:9C53): set $8E, 24 poses; all 31 seen on exact frames (14,821 frames, 14,821 exact), no unlisted pose drawn. Bound: the recorded takes.

    knowledge_base/mmx1/rom/weapon_poses_2026-09-26.json · tools/tests/test_weapon_poses_w41.py

  • Measured sound or proven silence0.05%
    ✓ Verified

    Compare firing, charging, contact and termination audio events; silence closes only with a positive capture control.

    Technical details

    2026-10-12 (L118, cards A31 and A32): 11 of 11 weapon sound calls, all gated: knowledge_base/mmx1/rom/weapon_sfx_2026-09-27.json#/weapons/rolling-shield/calls (status gated 8 of 11 sound calls; knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-09_r62.json#/gated 819478:17; knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a31.json#/gated 8193E6:17; knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a32.json#/gated 8197F8:17); read at git 6f62550a7. A32 fixed the owner rule at site C (81:97F8) and gated the charge-cancel call at the Sigma 2 ride-armor entry (knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a32.json).

    docs/STATE.md · knowledge_base/mmx1/weapons/rolling-shield/weapon.json · knowledge_base/mmx1/rom/weapon_sfx_2026-09-27.json · knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-09_r62.json · knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a31.json · knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a32.json · docs/tasks/done/A31-charge-cancel-remaining-sites.md · docs/tasks/done/A32-charge-cancel-site-c-owner-and-runs.md

  • Campaign use and interactions0.15%
    ✓ Verified

    Validate use after campaign acquisition, both facings, air/ground/water and weapon-specific interactions without regressions or provisional substitutes.

    Technical details

    2026-09-26 (card W38, coordinator decisions 1-3; W37's rule): every part the title needs runs in David's WRAM-equal whole takes (K5 captures of W37's 22 and R14's vile-zero-with-arm), fired shots traced by their creator, the fire path 81:9536 (OID weapon/2 + 6, +9 at level 3; a child site 83:8BA9..83:A28D runs only inside a live object of the weapon); energy drop cross-check: 75 fired frames, 2 with the exact drop. Seen (count, first take and frame): fired 75 (armored-armadillo f13215), facing_left 32 (sigma1-zero-arm f11709), facing_right 43 (armored-armadillo f13215), ground 40 (armored-armadillo f13215), air 34 (sigma1-zero-arm f11770), state_00 72 (armored-armadillo f13215), state_02 72 (armored-armadillo f13215), state_04 1 (sigma-final-attempt-1 f14587), state_06 10 (sigma1-zero-arm f12332), state_08 57 (sigma1-zero-arm f11718). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json · tools/tests/test_weapons_fired_by_creator.py

  • Normal-shot parameters loaded from source measurements0.05%
    ✓ Verified

    Normal-shot parameters loaded from source measurements as covered by the cited reference cases, without expanding their scope.

    Technical details

    Engine configuration contract, not complete trajectory, every target or presentation.

    tests/cpp/rolling_shield_kb_contract_test.cpp · knowledge_base/mmx1/weapons/rolling-shield/weapon.json

Homing Torpedo✓ Done1 / 1%

Images and behavior

Homing Torpedo

The torpedoes track the enemy and hit it.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Normal shot0.15%
    ✓ Verified

    Verify normal firing in both directions: birth, speed, trajectory, lifetime and off-screen cleanup, with actual input and source comparison.

    Technical details

    2026-09-24 (card L6), ROM-first mode (megaman-x.exe --rom-first): normal shot 0x07 (mainWeaponShot_homing_07, main 83:8E9D) fired by David's input in the three recordings; K8 WRAM equal on every frame (19,009, 21,058 and 30,150), so birth, speed, trajectory and lifetime equal the original's. Launched 41 times right and 46 left; freed off the screen (camera-relative) 12 times going right and 4 going left (scan of K8's captures). E34 unit gate: 1200 calls exact (CP 400 of 400, SE 400 of 400, FM 400 of 400); W21 clip homing-torpedo: WRAM 374 of 374 frames, frame gate equal. Bound: E34 ran at most 796 of 951 instructions of the shot's routine.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/object_tables_gate_2026-09-24.json · knowledge_base/mmx1/rom/showcase_clips_2026-09-24.json · tools/tests/test_rom_frame_gate.py · tools/tests/test_gate_movie_handlers.py

  • Charged shot0.2%
    ✓ Verified

    Verify charge threshold, release, all exclusive objects/states and charged-form termination.

    Technical details

    2026-09-25 (card L10, from W32's tapes), ROM-first mode: card W32's tape homing-torpedo-charged-end (from tools/oracle/fixtures/david_allweapons.mss): WRAM equal on 772 of 772 NMI entries, pixels exact 771 of 771, frame gate equal 772 of 772 (read-instruction mismatches 0). Press f125, level-3 threshold f303 (178 frames), release f325. The charged form is five $10 (chargeShot_homingMissle 83:995D), all born at f325: one hit the enemy $51 and was freed after 5 frames (state 6; 83:9B3F..83:9B52); four were freed off screen after 29 to 52 frames (state 2, once checkPlayerGear left +$0E = 0; 83:9B36..83:9B3C -> 83:9B52), the last at f377. The charge object (X-effect $01) lived 170 frames, f155 to the release. Bound: one charge and release; the state-4 free (83:9B4F) did not occur; sound belongs to the sound step.

    knowledge_base/mmx1/rom/weapon_charged_cases_2026-09-25.json · tools/oracle/showcase_tapes.py · tools/tests/test_showcase_tapes.py · docs/tasks/done/W32-weapon-charged-cases.md

  • Input, ammo and lifecycle0.1%
    ✓ Verified

    Verify cost, projectile limit, refill, weapon switching and behavior on pause, death or empty ammo.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): cost 1 (sigma1-zero-arm f21137), limit 112 (storm-eagle-and-spark-dark f6240), refill 22 (sigma1-zero-arm f21362), switch_pause 1 (sigma3-weapons-branch f21455), switch_lr 73 (launch-octopus-and-sting-flooded f31853), pause 1 (sigma3-weapons-branch f21537), death 1 (sigma2 f20154), continue 2 (sigma2 f27298), empty 6 (storm-eagle-and-spark-dark f22823). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Collision and contact effects0.2%
    ✓ Verified

    Verify terrain, common targets and projectile contact: fragments, return, absorption or exclusive effects; boss-specific damage matrices belong to bosses.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): state_04 10 (sigma1-zero-arm f21252), state_06 53 (launch-octopus-and-sting-flooded f35062), state_08 127 (storm-eagle-and-spark-dark f3822). Terrain not applicable (decision 2): the +$2B readers among the weapons' routines are BC 82:86E8, FW 83:9E94, RS 83:93BB, SI 83:98C9 (W37, KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26.json), none in this weapon's routines, and W38 asserts the list complete (KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json: no read of +$2B in its routines, no take can show it). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Sprites and animation0.1%
    ✓ Verified

    Compare each projectile/child pose, palette, anchor and animation sequence against source.

    Technical details

    2026-09-26 (card W41-weapon-poses-and-buster-states, W37's rule over W40's 80 WRAM-equal takes): every pose listed from the ROM (animation scripts from AF:A000 via setSpriteAnim 84:8F07, tools/oracle/post/build_weapon_poses.py): $07 weaponShot_homing_07 (83:8E9D): set $10, 16 poses; $10 chargeShot_homingMissle_10 (83:995D): set $93, 16 poses; all 32 seen on exact frames (12,986 frames, 12,985 exact), no unlisted pose drawn. The only inexact frames are [['storm-eagle-and-spark-dark', 21065, 'colour_math']], colour_math: the stage's known residual (L8/L29's rule). Bound: the recorded takes.

    knowledge_base/mmx1/rom/weapon_poses_2026-09-26.json · tools/tests/test_weapon_poses_w41.py

  • Measured sound or proven silence0.05%
    ✓ Verified

    Compare firing, charging, contact and termination audio events; silence closes only with a positive capture control.

    Technical details

    2026-10-12 (L118, cards A31 and A32): 10 of 10 weapon sound calls, all gated: knowledge_base/mmx1/rom/weapon_sfx_2026-09-27.json#/weapons/homing-torpedo/calls (status gated 7 of 10 sound calls; knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-09_r62.json#/gated 8193E6:17, 819478:17; knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a32.json#/gated 8197F8:17); read at git 6f62550a7. A32 fixed the owner rule at site C (81:97F8) and gated the charge-cancel call at the Sigma 2 ride-armor entry (knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a32.json).

    docs/STATE.md · knowledge_base/mmx1/weapons/homing-torpedo/weapon.json · knowledge_base/mmx1/rom/weapon_sfx_2026-09-27.json · knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-09_r62.json · knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a32.json · knowledge_base/mmx1/rom/charge_cancel_sfx_2026-10-12_a31.json · docs/tasks/done/A31-charge-cancel-remaining-sites.md · docs/tasks/done/A32-charge-cancel-site-c-owner-and-runs.md

  • Campaign use and interactions0.15%
    ✓ Verified

    Validate use after campaign acquisition, both facings, air/ground/water and weapon-specific interactions without regressions or provisional substitutes.

    Technical details

    2026-09-26 (card W38, coordinator decisions 1-3; W37's rule): every part the title needs runs in David's WRAM-equal whole takes (K5 captures of W37's 22 and R14's vile-zero-with-arm), fired shots traced by their creator, the fire path 81:9536 (OID weapon/2 + 6, +9 at level 3; a child site 83:8BA9..83:A28D runs only inside a live object of the weapon); energy drop cross-check: 208 fired frames, 1 with the exact drop. Seen (count, first take and frame): fired 208 (launch-octopus-and-sting-flooded f35062), facing_left 46 (storm-eagle-and-spark-dark f14199), facing_right 162 (launch-octopus-and-sting-flooded f35062), ground 138 (launch-octopus-and-sting-flooded f35062), air 68 (storm-eagle-and-spark-dark f6231), state_00 206 (launch-octopus-and-sting-flooded f35062), state_02 181 (storm-eagle-and-spark-dark f3856), state_04 9 (sigma1-zero-arm f21252), state_06 53 (launch-octopus-and-sting-flooded f35062), state_08 111 (storm-eagle-and-spark-dark f3822). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json · tools/tests/test_weapons_fired_by_creator.py

  • Normal-shot parameters loaded from source measurements0.05%
    ✓ Verified

    Normal-shot parameters loaded from source measurements as covered by the cited reference cases, without expanding their scope.

    Technical details

    Engine configuration contract, not complete trajectory, every target or presentation.

    tests/cpp/homing_torpedo_kb_contract_test.cpp · knowledge_base/mmx1/weapons/homing-torpedo/weapon.json

Boomerang Cutter7 of 8 steps0.99 / 1%

Images and behavior

Boomerang Cutter

X uses Boomerang Cutter to hit the enemy.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Normal shot0.15%
    ✓ Verified

    Verify normal firing in both directions: birth, speed, trajectory, lifetime and off-screen cleanup, with actual input and source comparison.

    Technical details

    2026-09-25 (card L10, from W29's and W32's tapes), ROM-first mode: birth, speed, trajectory and lifetime in both directions come from W29's tapes (knowledge_base/mmx1/rom/weapon_cases_2026-09-24.json), whose pieces end on screen when they return, after 69 frames (W32). Off-screen cleanup: card W32's tape boomerang-cutter-edge (from tools/oracle/fixtures/david_allweapons.mss): WRAM equal on 371 of 371 NMI entries, pixels exact 370 of 370, frame gate equal 371 of 371 (read-instruction mismatches 0). $0D (weaponShot_cutter 82:83B0), fired at f242 at x 22, stays in state 2 for 20 frames, is last seen at x -64 (camera x 0) and is freed at f262 when initPosAllign (82:8439) sets carry -> 82:844D. The ROM's check is side-symmetric (82:806E..82:807D): x - camera + $40 >= $180 holds when x - camera is below -$40 (the sum wraps) or at least $140, more than 64 px outside the view on either side, so this left-edge tape also stands for the right edge. Bound: the routine that frees the returning pieces on screen (82:84EE for states 4 and 8, or another) was not traced (W32); sound belongs to the sound step.

    knowledge_base/mmx1/rom/weapon_charged_cases_2026-09-25.json · tools/oracle/showcase_tapes.py · tools/tests/test_showcase_tapes.py · docs/tasks/done/W32-weapon-charged-cases.md · knowledge_base/mmx1/rom/weapon_cases_2026-09-24.json · docs/tasks/done/W29-weapon-missing-cases.md

  • Charged shot0.2%
    ✓ Verified

    Verify charge threshold, release, all exclusive objects/states and charged-form termination.

    Technical details

    2026-09-25 (card L8), ROM-first mode: card W23's clip boomerang-cutter-charged, read by W29: WRAM equal 544 of 544 frames, pixels exact 543 of 543, frame gate equal. The charged form $16 is four pieces born at f397 (x 196, y 1183), each freed off screen (camera 68): f449 below (y 1307), f460 right (x 382) and left (x 9), f466 left (x 37). The hold runs through the charge thresholds to the release under the state gate (the charge counter and level are WRAM). Bound: one charge and release, X standing; sound belongs to the sound step.

    knowledge_base/mmx1/rom/weapon_cases_2026-09-24.json · tools/oracle/showcase_tapes.py · tools/tests/test_showcase_tapes.py · docs/tasks/done/W29-weapon-missing-cases.md

  • Input, ammo and lifecycle0.1%
    ✓ Verified

    Verify cost, projectile limit, refill, weapon switching and behavior on pause, death or empty ammo.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): cost 5 (boomer-kuwanger f38431), limit 136 (boomer-kuwanger f38471), refill 220 (spark-mandrill f1973), switch_pause 1 (sigma3-weapons-branch f22315), switch_lr 72 (spark-mandrill f1702), pause 3 (spark-mandrill f2382), death 1 (sting-chameleon f3951), continue 3 (spark-mandrill f12472), empty 2 (launch-octopus-and-sting-flooded f12588). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), spark-mandrill 24 (f5075, f5081), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Collision and contact effects0.2%
    ✓ Verified

    Verify terrain, common targets and projectile contact: fragments, return, absorption or exclusive effects; boss-specific damage matrices belong to bosses.

    Technical details

    2026-09-26 (card W39-bc-catch-pairing, W37's rule): every part the title needs runs in WRAM-equal takes and is seen with cites found, pictures exact on its frames: terrain: first armored-armadillo f10986, 243 frames, pictures 243 of 243; state_04: first launch-octopus-and-sting-flooded f11610, 13 frames, pictures 13 of 13; state_06: first spark-mandrill f1866, 36 frames, pictures 36 of 36; state_08: first spark-mandrill f1811, 177 frames, pictures 177 of 177; return_catch: first boomer-kuwanger f38500, 224 frames, pictures 224 of 224. W37's pair() had read $1F93, which the ROM's catch never writes (82:84D7 INC.W and 82:84DC TSB #$80 write $1F94, w_player_weaponCutter_06), so every catch counted as a BC refill (R18's Result); fixed to read $1F94, return_catch is seen 224 of 224 times and BC's refill drops to the one genuine energy-capsule pickup, sigma1-zero-arm f21842. Bound: the recorded takes; boss-specific damage matrices belong to bosses.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26d.json · tools/tests/test_bc_catch.py

  • Sprites and animation0.1%
    ✓ Verified

    Compare each projectile/child pose, palette, anchor and animation sequence against source.

    Technical details

    2026-09-26 (card W41-weapon-poses-and-buster-states, W37's rule over W40's 80 WRAM-equal takes): every pose listed from the ROM (animation scripts from AF:A000 via setSpriteAnim 84:8F07, tools/oracle/post/build_weapon_poses.py): $0D weaponShot_cutter_0d (82:83B0): set $05, 8 poses; $16 chargeShot_cutter_16 (83:A1DB): set $97, 8 poses; all 16 seen on exact frames (102,384 frames, 102,384 exact), no unlisted pose drawn. Bound: the recorded takes.

    knowledge_base/mmx1/rom/weapon_poses_2026-09-26.json · tools/tests/test_weapon_poses_w41.py

  • Campaign use and interactions0.15%
    ✓ Verified

    Validate use after campaign acquisition, both facings, air/ground/water and weapon-specific interactions without regressions or provisional substitutes.

    Technical details

    2026-09-26 (card W38, coordinator decisions 1-3; W37's rule): every part the title needs runs in David's WRAM-equal whole takes (K5 captures of W37's 22 and R14's vile-zero-with-arm), fired shots traced by their creator, the fire path 81:9536 (OID weapon/2 + 6, +9 at level 3; a child site 83:8BA9..83:A28D runs only inside a live object of the weapon); energy drop cross-check: 264 fired frames, 5 with the exact drop. Seen (count, first take and frame): fired 264 (boomer-kuwanger f38431), facing_left 94 (spark-mandrill f6457), facing_right 170 (boomer-kuwanger f38431), ground 212 (boomer-kuwanger f38431), air 51 (spark-mandrill f1943), state_00 261 (boomer-kuwanger f38431), state_02 291 (boomer-kuwanger f38431), state_04 13 (launch-octopus-and-sting-flooded f11610), state_06 32 (spark-mandrill f1866), state_08 109 (spark-mandrill f1811). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), spark-mandrill 24 (f5075, f5081), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json · tools/tests/test_weapons_fired_by_creator.py

  • Normal-shot parameters loaded from source measurements0.05%
    ✓ Verified

    Normal-shot parameters loaded from source measurements as covered by the cited reference cases, without expanding their scope.

    Technical details

    Engine configuration contract, not complete trajectory, every target or presentation.

    tests/cpp/boomerang_cutter_kb_contract_test.cpp · knowledge_base/mmx1/weapons/boomerang-cutter/weapon.json

  • Measured sound or proven silence0.05%
    ↻ Partial8 of 9 parts

    Compare firing, charging, contact and termination audio events; silence closes only with a positive capture control.

    Technical details

    Historical campaigns have partial results and later open issues; reconciliation is required per substep.

    docs/STATE.md · knowledge_base/mmx1/weapons/boomerang-cutter/weapon.json

Chameleon Sting7 of 8 steps0.99 / 1%

Images and behavior

Chameleon Sting

X fires Chameleon Sting at the enemy ahead.

Recorded on 2026-09-24 in our game running the original code

The video starts with every weapon already unlocked. It does not show how weapons are earned in the campaign, every game situation, or the wall jump.

Download this capture as a GIF
  • Normal shot0.15%
    ✓ Verified

    Verify normal firing in both directions: birth, speed, trajectory, lifetime and off-screen cleanup, with actual input and source comparison.

    Technical details

    2026-09-24 (card L6), ROM-first mode (megaman-x.exe --rom-first): normal shot 0x08 (mainWeaponShot_stinger3Way_08, main 83:91D2) fired by David's input in the three recordings; K8 WRAM equal on every frame (19,009, 21,058 and 30,150), so birth, speed, trajectory and lifetime equal the original's. Launched 35 times right and 8 left; freed off the screen (camera-relative) 23 times going right and 2 going left (scan of K8's captures). E34 unit gate: 807 calls exact (CP 301 of 301, SE 106 of 106, FM 400 of 400); W21 clip chameleon-sting: WRAM 431 of 431 frames, frame gate equal. Bound: E34 ran at most 329 of 415 instructions of the shot's routine.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/object_tables_gate_2026-09-24.json · knowledge_base/mmx1/rom/showcase_clips_2026-09-24.json · tools/tests/test_rom_frame_gate.py · tools/tests/test_gate_movie_handlers.py

  • Charged shot0.2%
    ✓ Verified

    Verify charge threshold, release, all exclusive objects/states and charged-form termination.

    Technical details

    2026-09-25 (card L8), ROM-first mode: card W29's tape chameleon-sting-charged-life (W23's charge from tools/oracle/fixtures/david_allweapons.mss, then 900 neutral frames): WRAM equal 1,234 of 1,234 frames, pixels exact 1,233 of 1,233, frame gate equal (read-instruction mismatches 0), APU port reads 6 of 6. Its only exclusive object, the charged form $11 (OID +9, 81:951C; W29), is born at f337 in X-shot slot $1228 at x 223, stays 481 frames and is freed at f818 on screen (its own termination). The hold runs through the charge thresholds to the release under the state gate (the charge counter and level are WRAM). Bound: one charge and release, X standing; sound belongs to the sound step.

    knowledge_base/mmx1/rom/weapon_cases_2026-09-24.json · tools/oracle/showcase_tapes.py · tools/tests/test_showcase_tapes.py · docs/tasks/done/W29-weapon-missing-cases.md

  • Input, ammo and lifecycle0.1%
    ✓ Verified

    Verify cost, projectile limit, refill, weapon switching and behavior on pause, death or empty ammo.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): cost 2 (sting-chameleon f24547), limit 241 (sting-chameleon f24547), refill 3 (sigma1-zero-arm f21842), switch_pause 3 (sigma3-weapons-branch f21659), switch_lr 71 (launch-octopus-and-sting-flooded f10236), pause 2 (sigma1-zero-arm f32291), death 2 (sigma3-weapons-branch f25130), continue 2 (sigma2 f27298), empty 1 (sigma2 f19767). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Collision and contact effects0.2%
    ✓ Verified

    Verify terrain, common targets and projectile contact: fragments, return, absorption or exclusive effects; boss-specific damage matrices belong to bosses.

    Technical details

    2026-09-26 (card R18, coordinator decisions 1-3; W37's rule with decision 2): every part the title needs runs in WRAM-equal whole takes: W38's 23 (K5 captures) and R18's branch takes of sigma3, its lines 1..N byte for byte then crafted inputs (tools/oracle/branch_take.py): sigma3-weapons-branch N 21330 (WRAM 25329 of 25329), sigma3-cs-death-weapons-branch N 19960 (WRAM 23161 of 23161), sigma3-es-death-weapons-branch N 19960 (WRAM 23121 of 23121), sigma3-st-empty-weapons-branch N 21330 (WRAM 23629 of 23629). Seen (count, first take and frame): state_04 16 (launch-octopus-and-sting-flooded f10580), state_06 34 (launch-octopus-and-sting-flooded f35285), state_08 208 (launch-octopus-and-sting-flooded f10492), state_0A 278 (sting-chameleon f24569). Terrain not applicable (decision 2): the +$2B readers among the weapons' routines are BC 82:86E8, FW 83:9E94, RS 83:93BB, SI 83:98C9 (W37, KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26.json), none in this weapon's routines, and W38 asserts the list complete (KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json: no read of +$2B in its routines, no take can show it). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26c.json · tools/tests/test_weapons_branch.py

  • Sprites and animation0.1%
    ✓ Verified

    Compare each projectile/child pose, palette, anchor and animation sequence against source.

    Technical details

    2026-09-26 (card W42-weapon-pose-draw-routines, follow-up G1, W37's rule over W40's 80 WRAM-equal takes): every pose listed from the ROM (setSpriteAnim 84:8F07 scripts from AF:A000; branch-selected arguments listed both ways, tools/oracle/post/build_weapon_poses.py): $08 weaponShot_stinger3Way_08 (83:91D2): 16 poses; $11 chargeShot_camaFlash_11 (83:9B7D): 0 poses; all 16 seen on exact frames (11,555 frames, 11,555 exact). The 29 pairs outside the OID's own listing (7,161 frames, all exact) are its slot's previous occupant's pose, each an entry of a script another OID starts (set, writers: $08 $00,$06; $0E $01,$1C; $0E $02; $0E $02,$02; $0F $08; $10 $07; $10 $07,$07; $44 $0E; $46 $0A; $48 $09; $54 $1D; $8C $13). Pairs with pointer 0000 cell $00 (1, 11 frames, all exact, all on slot birth frames) show a slot zeroed by CODE_FN_80DB3F (80:DB3F clears $0BA8..$1F49 on game-mode entry; despawn 82:83A3 keeps +$14/+$17) and not animated since: the slot's +$14/+$15/+$17 stayed zero from the take start, or from a frame whose whole $0BA8..$1F49 is zero (the clear), to the birth. Bound: the recorded takes.

    knowledge_base/mmx1/rom/weapon_poses_2026-09-26.json · tools/tests/test_weapon_poses_w41.py

  • Campaign use and interactions0.15%
    ✓ Verified

    Validate use after campaign acquisition, both facings, air/ground/water and weapon-specific interactions without regressions or provisional substitutes.

    Technical details

    2026-09-26 (card W38, coordinator decisions 1-3; W37's rule): every part the title needs runs in David's WRAM-equal whole takes (K5 captures of W37's 22 and R14's vile-zero-with-arm), fired shots traced by their creator, the fire path 81:9536 (OID weapon/2 + 6, +9 at level 3; a child site 83:8BA9..83:A28D runs only inside a live object of the weapon); energy drop cross-check: 212 fired frames, 2 with the exact drop. Seen (count, first take and frame): fired 212 (sting-chameleon f24547), facing_left 87 (launch-octopus-and-sting-flooded f10628), facing_right 125 (sting-chameleon f24547), ground 122 (sting-chameleon f24547), air 87 (launch-octopus-and-sting-flooded f10489), state_00 490 (sting-chameleon f24547), state_02 490 (sting-chameleon f24547), state_04 11 (launch-octopus-and-sting-flooded f10580), state_06 34 (launch-octopus-and-sting-flooded f35285), state_08 188 (launch-octopus-and-sting-flooded f10492), state_0A 257 (sting-chameleon f24569). Pictures exact on every seen frame (V12); residual pictures elsewhere in those takes, named under L29's reading (visual step): sigma2 1 (f6893), storm-eagle-and-spark-dark 1 (f21065). KB knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json.

    knowledge_base/mmx1/rom/weapons_evidence_2026-09-26b.json · tools/tests/test_weapons_fired_by_creator.py

  • Normal-shot parameters loaded from source measurements0.05%
    ✓ Verified

    Normal-shot parameters loaded from source measurements as covered by the cited reference cases, without expanding their scope.

    Technical details

    Engine configuration contract, not complete trajectory, every target or presentation.

    tests/cpp/chameleon_sting_kb_contract_test.cpp · knowledge_base/mmx1/weapons/chameleon-sting/weapon.json

  • Measured sound or proven silence0.05%
    ↻ Partial9 of 10 parts

    Compare firing, charging, contact and termination audio events; silence closes only with a positive capture control.

    Technical details

    Historical campaigns have partial results and later open issues; reconciliation is required per substep.

    docs/STATE.md · knowledge_base/mmx1/weapons/chameleon-sting/weapon.json

Reusable enemies and census coverage

249 of 319 steps14.2 / 15%Items done: 86 of 128
Flying spike ball5 of 6 steps0.33 / 0.34%

Images and behavior

Project artwork; a still image does not prove behavior.

X defeats the Spiked sphere in Chill Penguin’s stage

Generated on 2026-09-24 by our game, which runs the original cartridge’s code translated to C++, replaying a recorded playthrough of Chill Penguin’s stage. Every frame of this clip matches the original game.

  1. 0–2 s — X defeats the Spiked sphere

The video has no sound and shows only this moment of the playthrough; it does not show all of the enemy’s attacks or every situation in which it appears.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.03%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x15 (census label spiky, main 82:9BD2) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, chill-penguin-new-game_1_21068, chill-penguin_2_19010, intro-highway_1_15577, sigma1-zero-arm_2_35588, sigma2_2_41296), 4,348 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Motion: 5 state words (+$01, +$02); ROM placements on screen 20 of 20 (M4 entries matched by OID and finder 3, first-frame offset 0 px). By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Attacks and projectiles, or proven absence0.07%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x15 (census label spiky, main 82:9BD2) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, chill-penguin-new-game_1_21068, chill-penguin_2_19010, intro-highway_1_15577, sigma1-zero-arm_2_35588, sigma2_2_41296), 4,348 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Attack: no child observed, and its handler reaches neither findEnemyShotEmptySlot (82:8358) nor loadEnitySlotBase (82:8321) (census routines): no-attack backed by source. Judgment (E35, accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Contact, HP and weapon response0.07%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x15 (census label spiky, main 82:9BD2) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, chill-penguin-new-game_1_21068, chill-penguin_2_19010, intro-highway_1_15577, sigma1-zero-arm_2_35588, sigma2_2_41296), 4,348 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Contact: HP drops 49 (buster 30, fire-wave 6, homing-torpedo 10, chameleon-sting 3); deaths 23 (buster 14, fire-wave 4, homing-torpedo 4, chameleon-sting 1); X damaged within 32 px of it 5 times (e.g. armored-armadillo-auto_1_7731 f4264). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35, accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Death, drops, culling and respawn0.07%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x15 (census label spiky, main 82:9BD2) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, chill-penguin-new-game_1_21068, chill-penguin_2_19010, intro-highway_1_15577, sigma1-zero-arm_2_35588, sigma2_2_41296), 4,348 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Lifecycle: deaths 23 (finder-1 blasts 0x02 x24, 0x09 x4); drops 0x01 x3, 0x02 x3 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; no child: its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches), so surviving children do not apply; off-screen frees 19; respawned placements 11; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35, accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Constant leftward drift without vertical bobbing0.03%
    ✓ Verified

    Constant leftward drift without vertical bobbing as covered by the cited reference cases, without expanding their scope.

    Technical details

    Measured speed and configured HP/contact; animation, hitbox and drops remain partial.

    tests/cpp/intro_highway_enemy_contract_test.cpp

  • Rendering, animation and audio0.07%
    ↻ Partial39 of 40 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.34% total, not 0.34% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Cannon robot OID 0x295 of 6 steps0.28 / 0.29%

Images and behavior

Project artwork; a still image does not prove behavior.

X defeats the Blue Highway robot in Storm Eagle’s stage

Generated on 2026-09-24 by our game, which runs the original cartridge’s code translated to C++, replaying a recorded playthrough of Storm Eagle’s stage. Every frame of this clip matches the original game.

  1. 0–2 s — X defeats the Blue Highway robot

The video has no sound and shows only this moment of the playthrough; it does not show all of the enemy’s attacks or every situation in which it appears.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.06%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x29 (census label gunVolt, main 82:D9EF) ran in 6 verified runs (intro-highway_1_15577, sigma1-zero-arm_2_35588, spark-mandrill-auto_1_2901, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 6,811 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Motion: 4 state words (+$01, +$02); ROM placements on screen 14 of 14 (M4 entries matched by OID and finder 3, first-frame offset 0 px); spawned runs 2, by 0x41 x2. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Attacks and projectiles, or proven absence0.02%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x29 (census label gunVolt, main 82:D9EF) ran in 6 verified runs (intro-highway_1_15577, sigma1-zero-arm_2_35588, spark-mandrill-auto_1_2901, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 6,811 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x0E x39; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35, accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Contact, HP and weapon response0.06%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x29 (census label gunVolt, main 82:D9EF) ran in 6 verified runs (intro-highway_1_15577, sigma1-zero-arm_2_35588, spark-mandrill-auto_1_2901, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 6,811 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Contact: HP drops 370 (buster 100, fire-wave 229, boomerang-cutter 23, homing-torpedo 3, shotgun-ice 9, electric-spark 6); deaths 27 (buster 6, fire-wave 15, boomerang-cutter 4, shotgun-ice 1, electric-spark 1); X damaged within 32 px of it 2 times (e.g. spark-mandrill-auto_1_2901 f1395). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35, accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Death, drops, culling and respawn0.06%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x29 (census label gunVolt, main 82:D9EF) ran in 6 verified runs (intro-highway_1_15577, sigma1-zero-arm_2_35588, spark-mandrill-auto_1_2901, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 6,811 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Lifecycle: deaths 27 (finder-1 blasts 0x02 x27, 0x09 x4, 0x10 x2); drops 0x01 x1, 0x02 x4, 0x0F x1 (finder-0 objects, 1..55 frames after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 13, still alive 2+ frames later 12; off-screen frees 11; respawned placements 10; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35, accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Stationary attack with shot at the measured instant0.03%
    ✓ Verified

    Stationary attack with shot at the measured instant as covered by the cited reference cases, without expanding their scope.

    Technical details

    91-update action6, shot at +80; complete scheduler/RNG and range not certified.

    tests/cpp/intro_highway_enemy_contract_test.cpp · knowledge_base/mmx1/enemies/intro_robot/shot_visual.json

  • Rendering, animation and audio0.06%
    ↻ Partial42 of 43 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.29% total, not 0.29% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Helicopter OID 0x0F1 of 5 steps0.14 / 0.18%

Images and behavior

Project artwork; a still image does not prove behavior.

A behavior capture is not available for this entry yet. The thumbnail above only shows the artwork.

  • Death, drops, culling and respawn0.03%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x0F (census label crusher, main 82:9689) ran in 1 verified runs (intro-highway_1_15577), 1,233 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Lifecycle: deaths 8 (finder-1 blasts 0x09 x1, 0x02 x3); drops 0x02 x4 (finder-0 objects, 0..106 frames after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 8, still alive 2+ frames later 5; off-screen frees 3; respawned placements 1; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35, accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Activation, movement and facing0.04%
    ↻ Partial16 of 17 parts

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    Reusable family: 0.18% total, not 0.18% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

  • Attacks and projectiles, or proven absence0.04%
    ↻ Partial17 of 18 parts

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    Reusable family: 0.18% total, not 0.18% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

  • Contact, HP and weapon response0.04%
    ↻ Partial18 of 19 parts

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    Reusable family: 0.18% total, not 0.18% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

  • Rendering, animation and audio0.03%
    ↻ Partial62 of 64 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.18% total, not 0.18% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Axe Max7 of 8 steps0.23 / 0.24%

Images and behavior

Project artwork; a still image does not prove behavior.

Axe Max in the Chill Penguin stage

Recorded on 2026-09-24 in our game running the original cartridge’s code, translated to C++, during David’s playthrough of the Chill Penguin stage. Every frame of this clip is identical to the original game’s. The sound also comes from the original code.

  1. 0–3 s — Segment of the recorded playthrough

It runs on the original code in this recording but does not count as verified yet: the same enemy appears in other stages that have not been checked.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.05%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x0B (census label axeMax, main 81:D033) ran in 5 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010, launch-octopus-and-sting-flooded_2_38342, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 6,833 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Motion: 15 state words (+$01, +$02); ROM placements on screen 5 of 5 (M4 entries matched by OID and finder 3, first-frame offset 0 px). By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Attacks and projectiles, or proven absence0.01%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x0B (census label axeMax, main 81:D033) ran in 5 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010, launch-octopus-and-sting-flooded_2_38342, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 6,833 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x08 x107; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35, accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Contact, HP and weapon response0.02%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x0B (census label axeMax, main 81:D033) ran in 5 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010, launch-octopus-and-sting-flooded_2_38342, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 6,833 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Contact: HP drops 92 (buster 74, fire-wave 18); deaths 9 (buster 8, fire-wave 1); X damaged within 32 px of it 1 times (e.g. launch-octopus-and-sting-flooded_2_38342 f29516). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35, accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Body and axe: composition and anchor0.04%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    FE5.7B/C: accepted body/axe composition and anchors. Stack/logs belong to still-partial contact/attack.

    content/x1/enemies/enemy_defs.json · docs/STATE.md · docs/evidence/2026-07-22-fe57bc-axemax-composition-runtime/verdict.json · tests/cpp/axemax_body_axe_contract_test.cpp · tests/cpp/axemax_ground_anchor_contract_test.cpp

  • Death, drops, culling and respawn0.05%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    Reusable family: 0.24% total, not 0.24% per stage. An existing definition does not prove every case. 2026-10-04 (E47, LG5): verified; every part seen or excluded by source (6 seen, 1 excluded, of 7); drop excluded: no path to 84:A384 (enemy_drop_reach_2026-10-04.json, 0 soundness hits); enemy_step_sweep summary.complete_candidates.

    content/x1/enemies/enemy_defs.json · docs/STATE.md · knowledge_base/mmx1/rom/enemy_step_sweep_2026-09-30.json · knowledge_base/mmx1/rom/enemy_drop_reach_2026-10-04.json · docs/tasks/done/E47-drop-reach-exclusion.md

  • Opening-stack collision through measured log boxes0.02%
    ✓ Verified

    Opening-stack collision through measured log boxes as covered by the cited reference cases, without expanding their scope.

    Technical details

    Only the measured CP stack; visual alignment and other placements await owner review.

    tests/cpp/cp_opening_enemy_contract_test.cpp · tools/tests/test_axemax_stack_runtime.py · docs/STATE.md

  • Two-log volley sequence and flight speed0.03%
    ✓ Verified

    Two-log volley sequence and flight speed as covered by the cited reference cases, without expanding their scope.

    Technical details

    Measured cadence and flight contract; restock cases and full interactions remain partial.

    tests/cpp/cp_opening_enemy_contract_test.cpp

  • Body, launch and death sounds, or proven silence0.02%
    ○ Pending3 of 4 parts

    Compare firing, charging, contact and termination audio events; silence closes only with a positive capture control.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/STATE.md

Walker5 of 6 steps0.11 / 0.12%

Images and behavior

Project artwork; a still image does not prove behavior.

Walker in the Chill Penguin stage

Recorded on 2026-09-24 in our game running the original cartridge’s code, translated to C++, during David’s playthrough of the Chill Penguin stage. Every frame of this clip is identical to the original game’s. The sound also comes from the original code.

  1. 0–3 s — Segment of the recorded playthrough

Movement, attack and contact were checked in this recording. The look-and-sound, defeat and respawn steps are not credited yet.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.02%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): OID 0x51's generated handler exact on 400 of 400 gated calls (966 seen; 1,301 of 2,628 instructions run; E30), WRAM equal on every frame of the CP recording (K8), its 5 ROM placements (M4, CP only) on screen and pixel-exact (V5, F7). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_chill-penguin_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Attacks and projectiles, or proven absence0.02%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): OID 0x51's generated handler exact on 400 of 400 gated calls (966 seen; 1,301 of 2,628 instructions run; E30), WRAM equal on every frame of the CP recording (K8), its 5 ROM placements (M4, CP only) on screen and pixel-exact (V5, F7); every enemy-shot handler the movie runs exact (E33, 7 of 7). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_chill-penguin_2026-09-23.json · knowledge_base/mmx1/rom/shot_gate_2026-09-24.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Contact, HP and weapon response0.02%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): OID 0x51's generated handler exact on 400 of 400 gated calls (966 seen; 1,301 of 2,628 instructions run; E30), WRAM equal on every frame of the CP recording (K8), its 5 ROM placements (M4, CP only) on screen and pixel-exact (V5, F7). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_chill-penguin_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Death, drops, culling and respawn0.02%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    E44: every lifecycle part seen under the E40 rule. e43-walker-death-child-hunt: deaths f5570/7736/7834; children alive through f5579/7797/7859, attributed to their parent at birth. WRAM 9479/9479 and pictures 9478/9478; T2 retains identical bytes. ROM 80:FB46 -> 87:D607. Family counted once.

    content/x1/enemies/enemy_defs.json · docs/STATE.md · knowledge_base/mmx1/rom/enemy_evidence_v4_2026-09-26.json · tools/tests/test_overnight_hunt_credit.py · docs/tasks/done/E44-overnight-hunt-credit.md

  • Measured first hop, initial facing and support0.02%
    ✓ Verified

    Measured first hop, initial facing and support as covered by the cited reference cases, without expanding their scope.

    Technical details

    T1.7l accepted; firing, shared RNG and death mismatch remain pending.

    tests/cpp/cp_opening_enemy_contract_test.cpp · docs/STATE.md

  • Rendering, animation and audio0.02%
    ↻ Partial19 of 24 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.12% total, not 0.12% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Mine-dropping bat (0x19)6 of 7 steps0.16 / 0.17%

Images and behavior

Project artwork; a still image does not prove behavior.

X defeats the Mine-dropping bat in Chill Penguin’s stage

Generated on 2026-09-24 by our game, which runs the original cartridge’s code translated to C++, replaying a recorded playthrough of Chill Penguin’s stage. Every frame of this clip matches the original game.

  1. 0–2 s — X defeats the Mine-dropping bat

The video has no sound and shows only this moment of the playthrough; it does not show all of the enemy’s attacks or every situation in which it appears.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.02%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x19 (census label bombBeen, main 82:9F52) ran in 3 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010, intro-highway_1_15577), 2,314 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Motion: 8 state words (+$01, +$02); ROM placements on screen 10 of 10 (M4 entries matched by OID and finder 3, first-frame offset 0 px). By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Attacks and projectiles, or proven absence0.02%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x19 (census label bombBeen, main 82:9F52) ran in 3 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010, intro-highway_1_15577), 2,314 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x0B x23; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35, accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Contact, HP and weapon response0.03%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x19 (census label bombBeen, main 82:9F52) ran in 3 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010, intro-highway_1_15577), 2,314 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Contact: HP drops 18 (buster 18); deaths 6 (buster 6); X damaged within 32 px of it 2 times (e.g. intro-highway_1_15577 f6186). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35, accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Death, drops, culling and respawn0.03%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    Reusable family: 0.17% total, not 0.17% per stage. An existing definition does not prove every case. 2026-10-04 (E47, LG5): verified; every part seen or excluded by source (6 seen, 1 excluded, of 7); drop excluded: no path to 84:A384 (enemy_drop_reach_2026-10-04.json, 0 soundness hits); enemy_step_sweep summary.complete_candidates.

    content/x1/enemies/enemy_defs.json · docs/STATE.md · knowledge_base/mmx1/rom/enemy_step_sweep_2026-09-30.json · knowledge_base/mmx1/rom/enemy_drop_reach_2026-10-04.json · docs/tasks/done/E47-drop-reach-exclusion.md

  • Horizontal patrol and mine-dropping hover0.02%
    ✓ Verified

    Horizontal patrol and mine-dropping hover as covered by the cited reference cases, without expanding their scope.

    Technical details

    Measured U19 FSM; activation and repetition in every context are not yet closed.

    tests/cpp/cp_opening_enemy_contract_test.cpp

  • Two mines at the measured hover moments0.02%
    ✓ Verified

    Two mines at the measured hover moments as covered by the cited reference cases, without expanding their scope.

    Technical details

    Mine birth and configured damage accepted; landing across all slopes and lifecycle remain separate.

    tests/cpp/cp_opening_enemy_contract_test.cpp

  • Rendering, animation and audio0.03%
    ↻ Partial37 of 45 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.17% total, not 0.17% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Drifting bat (0x2D)5 of 6 steps0.87 / 0.88%

Images and behavior

Project artwork; a still image does not prove behavior.

Bat in the Chill Penguin stage

Recorded on 2026-09-24 in our game running the original cartridge’s code, translated to C++, during David’s playthrough of the Chill Penguin stage. Every frame of this clip is identical to the original game’s.

  1. 0–3 s — Segment of the recorded playthrough

It runs on the original code in this recording but does not count as verified yet: the same enemy appears in other stages that have not been checked.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.06%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-10-10 (L50, LG6 s2 rule): verified; 89 of 89 parts: those already seen as before, and placement:armored-armadillo:0, placement:armored-armadillo:62 declared impossible for the current score by David on 2026-10-10 (knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json, items of docs/goal/DEEP-INVESTIGATIONS.md). If someone finds a way to make it happen, the part becomes "feasible" again and needs a witness.

    content/x1/enemies/enemy_defs.json · docs/STATE.md · knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json · docs/goal/DEEP-INVESTIGATIONS.md · docs/tasks/done/R118-declare-r115-impossible.md · docs/tasks/done/R115-deep-rule-candidates.md

  • Attacks and projectiles, or proven absence0.18%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-10-10 (L50, LG6 s2 rule): verified; 90 of 90 parts: those already seen as before, and placement:armored-armadillo:0, placement:armored-armadillo:62 declared impossible for the current score by David on 2026-10-10 (knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json, items of docs/goal/DEEP-INVESTIGATIONS.md). If someone finds a way to make it happen, the part becomes "feasible" again and needs a witness.

    content/x1/enemies/enemy_defs.json · docs/STATE.md · knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json · docs/goal/DEEP-INVESTIGATIONS.md · docs/tasks/done/R118-declare-r115-impossible.md · docs/tasks/done/R115-deep-rule-candidates.md

  • Contact, HP and weapon response0.18%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-10-10 (L50, LG6 s2 rule): verified; 91 of 91 parts: those already seen as before, and placement:armored-armadillo:0, placement:armored-armadillo:62 declared impossible for the current score by David on 2026-10-10 (knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json, items of docs/goal/DEEP-INVESTIGATIONS.md). If someone finds a way to make it happen, the part becomes "feasible" again and needs a witness.

    content/x1/enemies/enemy_defs.json · docs/STATE.md · knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json · docs/goal/DEEP-INVESTIGATIONS.md · docs/tasks/done/R118-declare-r115-impossible.md · docs/tasks/done/R115-deep-rule-candidates.md

  • Death, drops, culling and respawn0.17%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x2D (census label batBone, main 87:A07F) ran in 6 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, chill-penguin-new-game_1_21068, chill-penguin_2_19010, sigma2_2_41296, sigma3_2_26312), 30,959 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Lifecycle: deaths 60 (finder-1 blasts 0x02 x73, 0x09 x28, 0x10 x4); drops 0x01 x8, 0x02 x4 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; no child: its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches), so surviving children do not apply; off-screen frees 90; respawned placements 13; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35, accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Hang and drift along measured directions0.12%
    ✓ Verified

    Hang and drift along measured directions as covered by the cited reference cases, without expanding their scope.

    Technical details

    Accepted ghost and direction distribution; activation and complete behavior in other stages remain open.

    tests/cpp/enemy_bat_drift_ghost_test.cpp · knowledge_base/mmx1/enemies/oid_0x2D_bat_family_pending/direction_law.json

  • Rendering, animation and audio0.17%
    ↻ Partial53 of 55 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.88% total, not 0.88% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Snow Shooter4 of 5 steps0.09 / 0.1%

Images and behavior

Project artwork; a still image does not prove behavior.

Snow Shooter in the Chill Penguin stage

Recorded on 2026-09-24 in our game running the original cartridge’s code, translated to C++, during David’s playthrough of the Chill Penguin stage. Every frame of this clip is identical to the original game’s.

  1. 0–3 s — Segment of the recorded playthrough

Movement, attack and contact were checked in this recording. The look-and-sound, defeat and respawn steps are not credited yet.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.02%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): OID 0x53's generated handler exact on 400 of 400 gated calls (690 seen; 871 of 1,206 instructions run; E30), WRAM equal on every frame of the CP recording (K8), its 5 ROM placements (M4, CP only) on screen and pixel-exact (V5, F7). Bound: observed states only; lifecycle, visuals and sound stay open. Name from the ending credits (84:E3B6); id kept.

    knowledge_base/mmx1/rom/handler_gate_chill-penguin_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Attacks and projectiles, or proven absence0.02%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): OID 0x53's generated handler exact on 400 of 400 gated calls (690 seen; 871 of 1,206 instructions run; E30), WRAM equal on every frame of the CP recording (K8), its 5 ROM placements (M4, CP only) on screen and pixel-exact (V5, F7); every enemy-shot handler the movie runs exact (E33, 7 of 7). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_chill-penguin_2026-09-23.json · knowledge_base/mmx1/rom/shot_gate_2026-09-24.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Contact, HP and weapon response0.02%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): OID 0x53's generated handler exact on 400 of 400 gated calls (690 seen; 871 of 1,206 instructions run; E30), WRAM equal on every frame of the CP recording (K8), its 5 ROM placements (M4, CP only) on screen and pixel-exact (V5, F7). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_chill-penguin_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Death, drops, culling and respawn0.02%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    Reusable family: 0.10% total, not 0.10% per stage. An existing definition does not prove every case.

    knowledge_base/mmx1/rom/enemy_seeded_drops_2026-09-30.json · knowledge_base/mmx1/rom/enemy_step_sweep_2026-09-30.json · docs/tasks/done/E46-seeded-enemy-drops.md

  • Rendering, animation and audio0.02%
    ↻ Partial16 of 18 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.10% total, not 0.10% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Rotor drone (0x49)5 of 6 steps0.37 / 0.38%

Images and behavior

Project artwork; a still image does not prove behavior.

X defeats the Drone rotor in Storm Eagle’s stage

Generated on 2026-09-24 by our game, which runs the original cartridge’s code translated to C++, replaying a recorded playthrough of Storm Eagle’s stage. Every frame of this clip matches the original game.

  1. 0–2 s — X defeats the Drone rotor

The video has no sound and shows only this moment of the playthrough; it does not show all of the enemy’s attacks or every situation in which it appears.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.02%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x49 (census label skyClaw, main 87:C387) ran in 7 verified runs (flame-mammoth-arm-capsule_1_13555, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104, launch-octopus-and-sting-flooded_2_38342, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 13,254 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Motion: 7 state words (+$01, +$02); ROM placements on screen 20 of 20 (M4 entries matched by OID and finder 3, first-frame offset 0 px); spawned runs 12, by 0x28 x12. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Attacks and projectiles, or proven absence0.08%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x49 (census label skyClaw, main 87:C387) ran in 7 verified runs (flame-mammoth-arm-capsule_1_13555, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104, launch-octopus-and-sting-flooded_2_38342, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 13,254 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: en:0x4A x3; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35, accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Contact, HP and weapon response0.08%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x49 (census label skyClaw, main 87:C387) ran in 7 verified runs (flame-mammoth-arm-capsule_1_13555, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104, launch-octopus-and-sting-flooded_2_38342, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 13,254 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Contact: HP drops 56 (buster 40, fire-wave 9, homing-torpedo 2, boomerang-cutter 5); deaths 42 (buster 25, fire-wave 7, homing-torpedo 4, boomerang-cutter 6); X damaged within 32 px of it 7 times (e.g. flame-mammoth_2_30151 f4043). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35, accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Death, drops, culling and respawn0.07%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x49 (census label skyClaw, main 87:C387) ran in 7 verified runs (flame-mammoth-arm-capsule_1_13555, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104, launch-octopus-and-sting-flooded_2_38342, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 13,254 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Lifecycle: deaths 42 (finder-1 blasts 0x02 x40, 0x2B x336, 0x09 x12); drops 0x03 x1 (finder-0 objects, 124 frames after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 2, still alive 2+ frames later 2; off-screen frees 56; respawned placements 27; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35, accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Horizontal flight in both directions without duplicate movement0.05%
    ✓ Verified

    Horizontal flight in both directions without duplicate movement as covered by the cited reference cases, without expanding their scope.

    Technical details

    Only measured initialization and horizontal movement; contact and lifecycle remain separate.

    tests/cpp/enemy_se_drone_motion_contract_test.cpp · tests/cpp/enemy_se_drone_integration_contract_test.cpp

  • Rendering, animation and audio0.08%
    ↻ Partial19 of 20 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.38% total, not 0.38% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Shielded Met (0x2E)4 of 5 steps0.32 / 0.33%

Images and behavior

Project artwork; a still image does not prove behavior.

X defeats the Shielded Met in Storm Eagle’s stage

Generated on 2026-09-24 by our game, which runs the original cartridge’s code translated to C++, replaying a recorded playthrough of Storm Eagle’s stage. Every frame of this clip matches the original game.

  1. 0–2 s — X defeats the Shielded Met

The video has no sound and shows only this moment of the playthrough; it does not show all of the enemy’s attacks or every situation in which it appears.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.07%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x2E (census label metC15, main 83:C387) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, flame-mammoth_2_30151, items-collection_2_15104, sigma1-zero-arm_2_35588, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 7,856 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Motion: 10 state words (+$01, +$02); ROM placements on screen 20 of 20 (M4 entries matched by OID and finder 3, first-frame offset 0 px). By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Attacks and projectiles, or proven absence0.07%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x2E (census label metC15, main 83:C387) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, flame-mammoth_2_30151, items-collection_2_15104, sigma1-zero-arm_2_35588, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 7,856 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x10 x6; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35, accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Contact, HP and weapon response0.07%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x2E (census label metC15, main 83:C387) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, flame-mammoth_2_30151, items-collection_2_15104, sigma1-zero-arm_2_35588, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 7,856 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Contact: HP drops 19 (buster 4, fire-wave 8, shotgun-ice 1, homing-torpedo 4, boomerang-cutter 2); deaths 15 (fire-wave 4, shotgun-ice 1, homing-torpedo 6, buster 1, boomerang-cutter 3); X damaged within 32 px of it 7 times (e.g. armored-armadillo-auto_1_7731 f2873). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35, accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Death, drops, culling and respawn0.06%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x2E (census label metC15, main 83:C387) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, flame-mammoth_2_30151, items-collection_2_15104, sigma1-zero-arm_2_35588, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 7,856 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Lifecycle: deaths 15 (finder-1 blasts 0x02 x16, 0x09 x8); drops 0x01 x1 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 3, still alive 2+ frames later 3; off-screen frees 20; respawned placements 3; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35, accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Rendering, animation and audio0.06%
    ↻ Partial22 of 23 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.33% total, not 0.33% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Stretch bird OID 0x044 of 5 steps0.46 / 0.47%

Images and behavior

Project artwork; a still image does not prove behavior.

X defeats the Stretch Bird in Chill Penguin’s stage

Generated on 2026-09-24 by our game, which runs the original cartridge’s code translated to C++, replaying a recorded playthrough of Chill Penguin’s stage. Every frame of this clip matches the original game.

  1. 0–2 s — X defeats the Stretch Bird

The video has no sound and shows only this moment of the playthrough; it does not show all of the enemy’s attacks or every situation in which it appears.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.1%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x04 (census label flamingle, main 81:C034) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, chill-penguin-new-game_1_21068, chill-penguin_2_19010, sigma2_2_41296, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 22,821 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Motion: 7 state words (+$01, +$02); ROM placements on screen 17 of 17 (M4 entries matched by OID and finder 3, first-frame offset 0 px). By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Attacks and projectiles, or proven absence0.1%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x04 (census label flamingle, main 81:C034) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, chill-penguin-new-game_1_21068, chill-penguin_2_19010, sigma2_2_41296, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 22,821 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x03 x3; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35, accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Contact, HP and weapon response0.09%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x04 (census label flamingle, main 81:C034) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, chill-penguin-new-game_1_21068, chill-penguin_2_19010, sigma2_2_41296, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 22,821 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Contact: HP drops 204 (buster 87, boomerang-cutter 9, fire-wave 108); deaths 34 (buster 17, boomerang-cutter 2, fire-wave 15); X damaged within 32 px of it 4 times (e.g. armored-armadillo-auto_1_7731 f1687). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35, accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Death, drops, culling and respawn0.09%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x04 (census label flamingle, main 81:C034) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, chill-penguin-new-game_1_21068, chill-penguin_2_19010, sigma2_2_41296, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 22,821 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Lifecycle: deaths 34 (finder-1 blasts 0x02 x103, 0x09 x12, 0x10 x1); drops 0x01 x3, 0x02 x3 (finder-0 objects, 1..57 frames after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 1, still alive 2+ frames later 1; off-screen frees 6; respawned placements 9; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35, accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Rendering, animation and audio0.09%
    ↻ Partial56 of 57 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.47% total, not 0.47% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Strider OID 0x275 of 6 steps0.25 / 0.27%

Images and behavior

Project artwork; a still image does not prove behavior.

X defeats the Strider in Storm Eagle’s stage

Generated on 2026-09-24 by our game, which runs the original cartridge’s code translated to C++, replaying a recorded playthrough of Storm Eagle’s stage. Every frame of this clip matches the original game.

  1. 0–2 s — X defeats the Strider

The video has no sound and shows only this moment of the playthrough; it does not show all of the enemy’s attacks or every situation in which it appears.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.02%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x27 (census label deerball, main 82:D1E5) ran in 5 verified runs (intro-highway_1_15577, sigma1-zero-arm_2_35588, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 2,781 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Motion: 8 state words (+$01, +$02); ROM placements on screen 10 of 10 (M4 entries matched by OID and finder 3, first-frame offset 0 px); spawned runs 3, by 0x22 x3. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Attacks and projectiles, or proven absence0.06%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x27 (census label deerball, main 82:D1E5) ran in 5 verified runs (intro-highway_1_15577, sigma1-zero-arm_2_35588, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 2,781 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x0D x49; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35, accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Contact, HP and weapon response0.05%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-30 (E45): 14/14 contact parts in verified takes (pictures and WRAM exact, E35 attribution), including Spark Mandrill placements 85/89 and contact with X at f4676.

    knowledge_base/mmx1/rom/enemy_step_sweep_2026-09-30.json · tools/oracle/post/enemy_step_sweep.py · tools/tests/test_enemy_step_sweep.py · docs/tasks/done/E45-enemy-step-sweep.md

  • Death, drops, culling and respawn0.05%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x27 (census label deerball, main 82:D1E5) ran in 5 verified runs (intro-highway_1_15577, sigma1-zero-arm_2_35588, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 2,781 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Lifecycle: deaths 15 (finder-1 blasts 0x02 x15, 0x09 x3); drops 0x01 x3 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 2, still alive 2+ frames later 2; off-screen frees 6; respawned placements 3; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35, accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Walk in pose-linked steps and choose facing at birth0.04%
    ✓ Verified

    Walk in pose-linked steps and choose facing at birth as covered by the cited reference cases, without expanding their scope.

    Technical details

    Per-cell displacement and spawn hop; test does not certify every cell duration or full activation.

    tests/cpp/enemy_se_strider_ghost_test.cpp

  • Rendering, animation and audio0.05%
    ↻ Partial44 of 57 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.27% total, not 0.27% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Robot OID 0x41 — identity under review0 of 5 steps0.07 / 0.13%
  • Activation, movement and facing0.03%
    ↻ Partial4 of 5 parts

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    Reusable family: 0.13% total, not 0.13% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

  • Attacks and projectiles, or proven absence0.03%
    ↻ Partial5 of 6 parts

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    Reusable family: 0.13% total, not 0.13% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

  • Contact, HP and weapon response0.03%
    ↻ Partial4 of 7 parts

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    Reusable family: 0.13% total, not 0.13% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

  • Rendering, animation and audio0.02%
    ↻ Partial62 of 79 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.13% total, not 0.13% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

  • Death, drops, culling and respawn0.02%
    ↻ Partial5 of 7 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    Reusable family: 0.13% total, not 0.13% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Turret OID 0x503 of 5 steps0.07 / 0.09%

Images and behavior

Project artwork; a still image does not prove behavior.

X defeats the Armored turret in Storm Eagle’s stage

Generated on 2026-09-24 by our game, which runs the original cartridge’s code translated to C++, replaying a recorded playthrough of Storm Eagle’s stage. Every frame of this clip matches the original game.

  1. 0–2 s — X defeats the Armored turret

The video has no sound and shows only this moment of the playthrough; it does not show all of the enemy’s attacks or every situation in which it appears.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.02%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-24 (card L4), ROM-first mode (megaman-x.exe --rom-first): OID 0x50's generated handler exact on 204 of 204 gated calls, every call of the SE recording (779 of 1,141 instructions run; E31), WRAM equal on every frame of the SE recording (K8), its 2 ROM placements (M4, SE only) on screen and pixel-exact (V6: 90 of 90 and 102 of 102 frames; F7). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_storm-eagle_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Attacks and projectiles, or proven absence0.02%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-24 (card L4), ROM-first mode (megaman-x.exe --rom-first): OID 0x50's generated handler exact on 204 of 204 gated calls, every call of the SE recording (779 of 1,141 instructions run; E31), WRAM equal on every frame of the SE recording (K8), its 2 ROM placements (M4, SE only) on screen and pixel-exact (V6: 90 of 90 and 102 of 102 frames; F7); every enemy-shot handler the movie runs exact (E33, 4 of 4). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_storm-eagle_2026-09-23.json · knowledge_base/mmx1/rom/shot_gate_2026-09-24.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Contact, HP and weapon response0.02%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-24 (card L4), ROM-first mode (megaman-x.exe --rom-first): OID 0x50's generated handler exact on 204 of 204 gated calls, every call of the SE recording (779 of 1,141 instructions run; E31), WRAM equal on every frame of the SE recording (K8), its 2 ROM placements (M4, SE only) on screen and pixel-exact (V6: 90 of 90 and 102 of 102 frames; F7). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_storm-eagle_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Rendering, animation and audio0.02%
    ↻ Partial30 of 31 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.09% total, not 0.09% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

  • Death, drops, culling and respawn0.01%
    ↻ Partial5 of 7 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    Reusable family: 0.09% total, not 0.09% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Storm Eagle eaglet4 of 5 steps0.04 / 0.05%

Images and behavior

Project artwork; a still image does not prove behavior.

A behavior capture is not available for this entry yet. The thumbnail above only shows the artwork.

  • Activation, movement and facing0.01%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x56 (census label stormEagle, main 87:E2B9) ran in 3 verified runs (sigma2_2_41296, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 1,341 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Motion: 2 state words (+$01, +$02); no ROM placement; spawned runs 20, by 0x55 x20. By the state gate, every observed state, facing and transition is the ROM routine's own. Judgment (E35, accepted by the coordinator): it has no ROM placement; its motion, and all its evidence here, comes from its spawned instances (0x55 spawns it; spawned runs 20). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Attacks and projectiles, or proven absence0.01%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x56 (census label stormEagle, main 87:E2B9) ran in 3 verified runs (sigma2_2_41296, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 1,341 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Attack: no child observed, and its handler reaches neither findEnemyShotEmptySlot (82:8358) nor loadEnitySlotBase (82:8321) (census routines): no-attack backed by source. Judgment (E35, accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E35, accepted by the coordinator): it has no ROM placement; its motion, and all its evidence here, comes from its spawned instances (0x55 spawns it; spawned runs 20). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Contact, HP and weapon response0.01%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x56 (census label stormEagle, main 87:E2B9) ran in 3 verified runs (sigma2_2_41296, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 1,341 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Contact: HP drops 0 (none); deaths 4 (chameleon-sting 2, electric-spark 2); X damaged within 32 px of it 4 times (e.g. sigma2_2_41296 f11771). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35, accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E35, accepted by the coordinator): it has no ROM placement; its motion, and all its evidence here, comes from its spawned instances (0x55 spawns it; spawned runs 20). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Death, drops, culling and respawn0.01%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    Storm Eagle attack child with its own runtime definition. This row owns the eaglet; boss credit covers attack creation/selection only, without duplicate AI. 2026-10-04 (E47, LG5): verified; every part seen or excluded by source (4 seen, 3 excluded, of 7); drop excluded: no path to 84:A384 (enemy_drop_reach_2026-10-04.json, 0 soundness hits); enemy_step_sweep summary.complete_candidates.

    content/x1/enemies/enemy_defs.json · docs/STATE.md · knowledge_base/mmx1/rom/enemy_step_sweep_2026-09-30.json · knowledge_base/mmx1/rom/enemy_drop_reach_2026-10-04.json · docs/tasks/done/E47-drop-reach-exclusion.md

  • Rendering, animation and audio0.01%
    ↻ Partial5 of 7 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Storm Eagle attack child with its own runtime definition. This row owns the eaglet; boss credit covers attack creation/selection only, without duplicate AI.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Snowball OID 0x544 of 5 steps0.11 / 0.12%

Images and behavior

Project artwork; a still image does not prove behavior.

Snowball in the Chill Penguin stage

Recorded on 2026-09-24 in our game running the original cartridge’s code, translated to C++, during David’s playthrough of the Chill Penguin stage. Every frame of this clip is identical to the original game’s.

  1. 0–1.5 s — Segment of the recorded playthrough

Movement, attack and contact were checked in this recording. The look-and-sound, defeat and respawn steps are not credited yet.

Technical details

ROM-first mode: the game’s code is generated from the original ROM; the picture is drawn by the LakeSnes video core.

Download this capture as a GIF
  • Activation, movement and facing0.03%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): OID 0x54's generated handler exact on 302 of 302 gated calls (302 seen; 1,313 of 2,437 instructions run; E30), WRAM equal on every frame of the CP recording (K8), its 5 ROM placements (M4, CP only) on screen and pixel-exact (V5, F7). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_chill-penguin_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Attacks and projectiles, or proven absence0.03%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): OID 0x54's generated handler exact on 302 of 302 gated calls (302 seen; 1,313 of 2,437 instructions run; E30), WRAM equal on every frame of the CP recording (K8), its 5 ROM placements (M4, CP only) on screen and pixel-exact (V5, F7); every enemy-shot handler the movie runs exact (E33, 7 of 7). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_chill-penguin_2026-09-23.json · knowledge_base/mmx1/rom/shot_gate_2026-09-24.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Contact, HP and weapon response0.02%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): OID 0x54's generated handler exact on 302 of 302 gated calls (302 seen; 1,313 of 2,437 instructions run; E30), WRAM equal on every frame of the CP recording (K8), its 5 ROM placements (M4, CP only) on screen and pixel-exact (V5, F7). Bound: observed states only; lifecycle, visuals and sound stay open.

    knowledge_base/mmx1/rom/handler_gate_chill-penguin_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/placements_coverage_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · tools/tests/test_gate_movie_handlers.py

  • Death, drops, culling and respawn0.02%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    Reusable family: 0.12% total, not 0.12% per stage. An existing definition does not prove every case. 2026-10-04 (E49, LG6): verified; every part seen or excluded by source (5 seen, 2 excluded, of 7); drop excluded: member 0x54 has no path to 84:A384, 0 soundness hits, D trace checked (19 sites, 0 unbalanced callees) in enemy_drop_reach_2026-10-04.json; enemy_step_sweep summary.complete_candidates.

    content/x1/enemies/enemy_defs.json · docs/STATE.md · knowledge_base/mmx1/rom/enemy_step_sweep_2026-09-30.json · knowledge_base/mmx1/rom/enemy_drop_reach_2026-10-04.json · tools/tests/test_enemy_drop_reach.py · docs/tasks/done/E49-drop-reach-id-store-sites.md

  • Rendering, animation and audio0.02%
    ↻ Partial19 of 20 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.12% total, not 0.12% per stage. An existing definition does not prove every case.

    content/x1/enemies/enemy_defs.json · docs/STATE.md

FM blue robot / junk heap (0x2A, two subtypes)4 of 5 steps0.32 / 0.33%
  • Activation, movement and facing0.07%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    ROM-first mode (card L5): 0x2A (main 87:9B70) is spawned only by FM's 9 0x1C emitters (table 80F59A, main 83:FEA0; list 85:8EBE params 0x03 x6, 0x00 x3; no other stage). Each child's subtype (slot +$0B, read at 87:9BC1) is set at 83:FF25..83:FF30 from RNG bit 1: 0x00 or 0x01 for every emitter. E32: 400 of 7,290 calls exact, subtype 0x00 in 384 and 0x01 in 16; K8 30,150 of 30,150 frames equal (0x2A slots hold only 0x00 and 0x01, to f19541); V6 9 of 9 emitters on screen exact; E33 FM shots 6 of 6. The emitter has no unit gate (frame gate only).

    knowledge_base/mmx1/rom/handler_gate_flame-mammoth_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/rom/shot_gate_2026-09-24.json

  • Attacks and projectiles, or proven absence0.07%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    ROM-first mode (card L5): 0x2A (main 87:9B70) is spawned only by FM's 9 0x1C emitters (table 80F59A, main 83:FEA0; list 85:8EBE params 0x03 x6, 0x00 x3; no other stage). Each child's subtype (slot +$0B, read at 87:9BC1) is set at 83:FF25..83:FF30 from RNG bit 1: 0x00 or 0x01 for every emitter. E32: 400 of 7,290 calls exact, subtype 0x00 in 384 and 0x01 in 16; K8 30,150 of 30,150 frames equal (0x2A slots hold only 0x00 and 0x01, to f19541); V6 9 of 9 emitters on screen exact; E33 FM shots 6 of 6. The emitter has no unit gate (frame gate only).

    knowledge_base/mmx1/rom/handler_gate_flame-mammoth_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/rom/shot_gate_2026-09-24.json

  • Contact, HP and weapon response0.07%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    ROM-first mode (card L5): 0x2A (main 87:9B70) is spawned only by FM's 9 0x1C emitters (table 80F59A, main 83:FEA0; list 85:8EBE params 0x03 x6, 0x00 x3; no other stage). Each child's subtype (slot +$0B, read at 87:9BC1) is set at 83:FF25..83:FF30 from RNG bit 1: 0x00 or 0x01 for every emitter. E32: 400 of 7,290 calls exact, subtype 0x00 in 384 and 0x01 in 16; K8 30,150 of 30,150 frames equal (0x2A slots hold only 0x00 and 0x01, to f19541); V6 9 of 9 emitters on screen exact; E33 FM shots 6 of 6. The emitter has no unit gate (frame gate only).

    knowledge_base/mmx1/rom/handler_gate_flame-mammoth_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/rom/shot_gate_2026-09-24.json

  • Death, drops, culling and respawn0.06%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-25 (card L15, from E35), ROM-first mode: OID 0x2A (census label utuborosBrokHead, main 87:9B70) ran in 4 verified runs (flame-mammoth-arm-capsule_1_13555, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104), 13,413 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among V12's not-exact pictures. Lifecycle: deaths 21 (finder-1 blasts 0x28 x70, 0x02 x21, 0x09 x13); drops 0x02 x6, 0x01 x1 (finder-0 objects, 1..81 frames after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 2, still alive 2+ frames later 1; off-screen frees 54; respawned placements 0 (it has no ROM placement; see the judgment below); duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35, accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E35, accepted by the coordinator): it has no ROM placement (spawned only by FM's finder-2 0x1C emitters; spawned runs 90), so its respawn is the emitters spawning it again. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md

  • Rendering, animation and audio0.06%
    ↻ Partial76 of 79 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    Reusable family: 0.33% total, not 0.33% per stage. An existing definition does not prove every case. Includes FM's internal 0x1C emitter (no family of its own).

    content/x1/enemies/enemy_defs.json · docs/STATE.md

Object 0x01 (label hoganmer): SC, FM, SE, BK, Sigma 1, Sigma 24 of 5 steps0.38 / 0.4%
  • Activation, movement and facing0.08%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_01 (members 0x01; granular-v3, L18). Creation and placement contexts: all 18 of its ROM placements (sting-chameleon 1, flame-mammoth 4, storm-eagle 3, boomer-kuwanger 2, sigma-1 6, sigma-2 2) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 9, bottom 2, top 7. Members ran in verified runs (E35): 0x01 in 10 runs, 12,639 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.08%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26, E41/W37: every part seen under unchanged E40 attribution rules over 77 WRAM-equal runs; pictures exact on cited frames. enemy.oid_01, stub 80:F9B6, main 83:AE81. storm-eagle entry 21, first on screen f2785; 80:F9B6 -> 83:AE81

    knowledge_base/mmx1/rom/enemy_evidence_v4_2026-09-26.json · tools/tests/test_enemy_evidence_v4.py · docs/tasks/done/E41-hunt-batch-enemy-gaps.md

  • Contact, HP and weapon response0.08%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26, E41/W37: every part seen under unchanged E40 attribution rules over 77 WRAM-equal runs; pictures exact on cited frames. enemy.oid_01, stub 80:F9B6, main 83:AE81. storm-eagle entry 21, first on screen f2785; 80:F9B6 -> 83:AE81

    knowledge_base/mmx1/rom/enemy_evidence_v4_2026-09-26.json · tools/tests/test_enemy_evidence_v4.py · docs/tasks/done/E41-hunt-batch-enemy-gaps.md

  • Death, drops, culling and respawn0.08%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_01, OID 0x01 (census label hoganmer, main 83:AE81) ran in 10 verified runs (boomer-kuwanger_1_40070, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296, sting-chameleon-auto_1_5497, sting-chameleon_1_25606, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 12,639 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 13 (finder-1 blasts 0x02 x13, 0x04 x36, 0x09 x12); drops 0x02 x1, 0x01 x1 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 9, still alive 2+ frames later 9; off-screen frees 27; respawned placements 9; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.08%
    ○ Pending23 of 28 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x01 (E36); 0.40% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x06 (label boomerKuwanger): SC4 of 5 steps0.13 / 0.14%
  • Activation, movement and facing0.03%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_06 (members 0x06; granular-v3, L18). Creation and placement contexts: all 4 of its ROM placements (sting-chameleon 4) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 4. Members ran in verified runs (E35): 0x06 in 3 runs, 4,211 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.03%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_06, OID 0x06 (census label boomerKuwanger, main 81:C24B) ran in 3 verified runs (launch-octopus-and-sting-flooded_2_38342, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 4,211 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x05 x22; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.03%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_06, OID 0x06 (census label boomerKuwanger, main 81:C24B) ran in 3 verified runs (launch-octopus-and-sting-flooded_2_38342, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 4,211 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 5 (fire-wave 1, buster 4); deaths 0 (none); X damaged within 32 px of it 2 times (e.g. launch-octopus-and-sting-flooded_2_38342 f31333). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Death, drops, culling and respawn0.02%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-29 (T1A): 7/7 obligations in verified takes (WRAM 290/290, pictures 289/289): 2 deaths, 2 drops, 4 parent-linked children and 0 survivors, 24 off-screen frees, 6 respawns without duplicates. E35 rules.

    knowledge_base/mmx1/rom/oid06_lifecycle_2026-09-29.json · tools/oracle/post/oid06_lifecycle.py · docs/tasks/done/T1A-oid06-lifecycle-intake.md

  • Rendering, animation and audio0.03%
    ○ Pending49 of 53 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x06 (E36; the label is not BK's boss (0x05)); 0.14% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x0D (label rushRoader): SM, Sigma 34 of 5 steps0.21 / 0.22%
  • Activation, movement and facing0.05%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_0d (members 0x0D; granular-v3, L18). Creation and placement contexts: all 8 of its ROM placements (spark-mandrill 7, sigma-3 1) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 5, bottom 3. Members ran in verified runs (E35): 0x0D in 3 runs, 3,343 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.05%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_0d, OID 0x0D (census label rushRoader, main 88:8F2A) ran in 3 verified runs (sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 3,343 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: no child observed, and its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches): no-attack backed by source. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.04%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_0d, OID 0x0D (census label rushRoader, main 88:8F2A) ran in 3 verified runs (sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 3,343 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 41 (boomerang-cutter 5, shotgun-ice 7, buster 16, homing-torpedo 8, chameleon-sting 5); deaths 17 (electric-spark 1, boomerang-cutter 2, shotgun-ice 2, buster 6, homing-torpedo 4, chameleon-sting 2); X damaged within 32 px of it 6 times (e.g. spark-mandrill_1_27368 f9093). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Death, drops, culling and respawn0.04%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_0d, OID 0x0D (census label rushRoader, main 88:8F2A) ran in 3 verified runs (sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 3,343 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 17 (finder-1 blasts 0x02 x17, 0x09 x14); drops 0x01 x1 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; no child: its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches), so surviving children do not apply; off-screen frees 9; respawned placements 7; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.04%
    ○ Pending16 of 19 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x0D (E36; not enemy.rush_roader (0x2A)); 0.22% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x10 (label sineFaller): BK, Sigma 1, Sigma 2, Sigma 34 of 5 steps0.25 / 0.26%
  • Activation, movement and facing0.06%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_10 (members 0x10; granular-v3, L18); its placements include the entries of finder-2 emitter 0x05 (table 80:F59A), which makes 0x10 (E36), as L18 counts them. Creation and placement contexts: all 12 of its ROM placements (boomer-kuwanger 2, sigma-1 3, sigma-2 4, sigma-3 3) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 9, top 3. Members ran in verified runs (E35): 0x10 in 5 runs, 5,325 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.05%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_10, OID 0x10 (census label sineFaller, main 81:D2DF) ran in 5 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296, sigma3_2_26312), 5,325 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: en:0x10 x1, es:0x27 x1; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator, as L15 judged rush_roader): it has no finder-3 ROM placement (KB rom_placements empty); its ledger placements (boomer-kuwanger 2, sigma-1 3, sigma-2 4, sigma-3 3) are emitter entries, and the KB records its spawns by the emitters (finder-2 0x05 x13) and by enemies 0x10 x1, 0x13 x1, 0x17 x1, spawned runs 33; so E35's on-screen placement check has nothing to test. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.05%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_10, OID 0x10 (census label sineFaller, main 81:D2DF) ran in 5 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296, sigma3_2_26312), 5,325 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 14 (buster 9, fire-wave 5); deaths 8 (buster 5, fire-wave 3); X damaged within 32 px of it 10 times (e.g. boomer-kuwanger_1_40070 f22259). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator, as L15 judged rush_roader): it has no finder-3 ROM placement (KB rom_placements empty); its ledger placements (boomer-kuwanger 2, sigma-1 3, sigma-2 4, sigma-3 3) are emitter entries, and the KB records its spawns by the emitters (finder-2 0x05 x13) and by enemies 0x10 x1, 0x13 x1, 0x17 x1, spawned runs 33; so E35's on-screen placement check has nothing to test. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Death, drops, culling and respawn0.05%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_10, OID 0x10 (census label sineFaller, main 81:D2DF) ran in 5 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296, sigma3_2_26312), 5,325 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 8 (finder-1 blasts 0x02 x8, 0x09 x2, 0x10 x1); drops 0x01 x1 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 1, still alive 2+ frames later 1; off-screen frees 20; respawned placements 0 (it has no finder-3 ROM placement; see the judgment below); duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator, as L15 judged rush_roader): it has no finder-3 ROM placement (KB rom_placements empty); its ledger placements (boomer-kuwanger 2, sigma-1 3, sigma-2 4, sigma-3 3) are emitter entries, and the KB records its spawns by the emitters (finder-2 0x05 x13) and by enemies 0x10 x1, 0x13 x1, 0x17 x1, spawned runs 33; so E35's on-screen placement check has nothing to test, and its respawn is the emitters spawning it again. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.05%
    ○ Pending41 of 42 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x10 (E36); 0.26% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x11 (label roadAttacker) with 0x1A, 0x12, 0x1B: IH3 of 5 steps0.55 / 0.61%
  • Activation, movement and facing0.13%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_11 (members 0x11, 0x1A, 0x12, 0x1B; granular-v3, L18); its placements include the entries of finder-2 emitter 0x0E (table 80:F59A), which makes 0x1A (E36), as L18 counts them. Creation and placement contexts: all 4 of its ROM placements (intro-highway 4) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 4. Members ran in verified runs (E35): 0x11 in 1 runs, 3,146 slot-frames; 0x1A in 1 runs, 5,508 slot-frames; 0x12 in 1 runs, 3,142 slot-frames; 0x1B in 1 runs, 676 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.12%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_11, member OIDs 0x11, 0x1A, 0x12, 0x1B (census labels roadAttacker, roadAttackDeploy, -, -; mains 81:D551, 88:93A4, 81:DCD0, 82:A0E5) ran in 1 verified run (intro-highway_1_15577), 12,472 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: en:0x12 x7, en:0x11 x4, en:0x1B x4, en:0x3C x1, es:0x0A x6; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator): the family is judged on the union of its member OIDs (granular-v3, L18), and every member ran in a verified run (KB runtime.members: 0x11 runs 7, slot-frames 3,146, deaths 5; 0x1A runs 1, slot-frames 5,508, deaths 0; 0x12 runs 7, slot-frames 3,142, deaths 2; 0x1B runs 4, slot-frames 676, deaths 0). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.12%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_11, member OIDs 0x11, 0x1A, 0x12, 0x1B (census labels roadAttacker, roadAttackDeploy, -, -; mains 81:D551, 88:93A4, 81:DCD0, 82:A0E5) ran in 1 verified run (intro-highway_1_15577), 12,472 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 41 (buster 41); deaths 7 (buster 7); X damaged within 32 px of it 2 times (e.g. intro-highway_1_15577 f8047). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator): the family is judged on the union of its member OIDs (granular-v3, L18), and every member ran in a verified run (KB runtime.members: 0x11 runs 7, slot-frames 3,146, deaths 5; 0x1A runs 1, slot-frames 5,508, deaths 0; 0x12 runs 7, slot-frames 3,142, deaths 2; 0x1B runs 4, slot-frames 676, deaths 0). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.12%
    ○ Pending313 of 379 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x11, 0x1A, 0x12, 0x1B (E36); 0.61% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Death, drops, culling and respawn0.12%
    ○ Pending8 of 10 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x11, 0x1A, 0x12, 0x1B (E36); 0.61% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x13 (label dodgeBlaster): BK, Sigma 1, Sigma 24 of 5 steps0.33 / 0.34%
  • Activation, movement and facing0.07%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_13 (members 0x13; granular-v3, L18). Creation and placement contexts: all 13 of its ROM placements (boomer-kuwanger 5, sigma-1 5, sigma-2 3) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): top 13. Members ran in verified runs (E35): 0x13 in 4 runs, 13,108 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.07%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_13, OID 0x13 (census label dodgeBlaster, main 82:99A6) ran in 4 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296), 13,108 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x02 x40, en:0x10 x1; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.07%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_13, OID 0x13 (census label dodgeBlaster, main 82:99A6) ran in 4 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296), 13,108 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 30 (buster 28, fire-wave 1, rolling-shield 1); deaths 14 (buster 14); X damaged within 32 px of it 7 times (e.g. boomer-kuwanger_1_40070 f6369). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Death, drops, culling and respawn0.06%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_13, OID 0x13 (census label dodgeBlaster, main 82:99A6) ran in 4 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296), 13,108 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 14 (finder-1 blasts 0x02 x14, 0x09 x4); drops 0x02 x1 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 3, still alive 2+ frames later 3; off-screen frees 24; respawned placements 13; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.07%
    ○ Pending18 of 19 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x13 (E36); 0.34% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x17 (label turnCanon): SM, BK, Sigma 1, Sigma 2, Sigma 3✓ Done1.09 / 1.09%
  • Activation, movement and facing0.22%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_17 (members 0x17; granular-v3, L18). Creation and placement contexts: all 24 of its ROM placements (spark-mandrill 8, boomer-kuwanger 1, sigma-1 5, sigma-2 2, sigma-3 8) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 19, top 5. Members ran in verified runs (E35): 0x17 in 7 runs, 69,949 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.22%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_17, OID 0x17 (census label turnCanon, main 87:9944) ran in 7 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296, sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 69,949 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x27 x600, es:0x13 x536, en:0x10 x1; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.22%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_17, OID 0x17 (census label turnCanon, main 87:9944) ran in 7 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296, sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 69,949 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 92 (buster 34, boomerang-cutter 9, fire-wave 36, homing-torpedo 13); deaths 23 (buster 10, fire-wave 7, boomerang-cutter 1, homing-torpedo 5); X damaged within 32 px of it 9 times (e.g. boomer-kuwanger_1_40070 f30609). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.22%
    ✓ Verified

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    2026-10-14 (L235, cards AI8b, AI8c, AI8d): 49 of 49 parts seen or proven (knowledge_base/mmx1/rom/enemy_visual_catalogue_2026-10-13_e54.json#/steps/enemy.oid_17.visual (picture parts seen 43 of parts_total 49; 2 sound parts whose witness frame lies inside a whole APU-gated window of the same take (2 in knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json#/results/sigma2_2_41296); other sound parts count unseen, rules R3/R38/R140); read at git 335da1734; plus 1 method-f parts sound:849F0B per knowledge_base/mmx1/rom/enemy_deflect_sound_unreachable_2026-10-12_e51.json#/steps/enemy.oid_17.visual/parts (exclusion_proof cites the ROM by bank:addr, card E51); plus 1 method-f parts sound:849E6A per knowledge_base/mmx1/rom/ride_armor_reach_2026-10-14_ai8c.json#/steps/enemy.oid_17.visual/parts (exclusion_proof cites the ROM by bank:addr, card AI8c); plus 2 method-f parts 17:cell:8D:AFDD33, 17:cell:8D:AFDD91 per knowledge_base/mmx1/rom/enemy_visual_unreachable_2026-10-13_e55.json#/steps/enemy.oid_17.visual/parts (exclusion_proof cites the ROM by bank:addr, card E55)); the Ride Armor punch sound (84:9E6A) reaches no OID $17: every spawn site of $17 and every writer of a slot's +09/+0A was read from the ROM, and the Sigma 2 $17s sit 257 px above the armor.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/enemy_visual_catalogue_2026-10-13_e54.json · knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json · knowledge_base/mmx1/rom/enemy_deflect_sound_unreachable_2026-10-12_e51.json · knowledge_base/mmx1/rom/ride_armor_reach_2026-10-14_ai8c.json · knowledge_base/mmx1/rom/enemy_visual_unreachable_2026-10-13_e55.json · docs/tasks/done/AI8b-ride-armor-reach-proof.md · docs/tasks/done/AI8c-oid-17-spawn-sites.md · docs/tasks/done/E54-enemy-sound-parts-windows.md · docs/tasks/done/KB1-enemy-visual-catalogue-h42.md · docs/tasks/done\E51-deflect-sound-method-f-kb.md

  • Death, drops, culling and respawn0.21%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_17, OID 0x17 (census label turnCanon, main 87:9944) ran in 7 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296, sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 69,949 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 23 (finder-1 blasts 0x09 x17, 0x02 x16); drops 0x02 x1 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 32, still alive 2+ frames later 32; off-screen frees 33; respawned placements 12; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

Object 0x18 (label fallingRocks): SC4 of 5 steps0.4 / 0.41%
  • Activation, movement and facing0.09%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_18 (members 0x18; granular-v3, L18). Creation and placement contexts: all 2 of its ROM placements (sting-chameleon 2) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 2. Members ran in verified runs (E35): 0x18 in 3 runs, 23,385 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.08%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_18, OID 0x18 (census label fallingRocks, main 83:BBD2) ran in 3 verified runs (launch-octopus-and-sting-flooded_2_38342, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 23,385 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: en:0x18 x13, en:0x4D x1; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.08%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_18, OID 0x18 (census label fallingRocks, main 83:BBD2) ran in 3 verified runs (launch-octopus-and-sting-flooded_2_38342, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 23,385 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 0 (none); deaths 15 (fire-wave 1, electric-spark 2, boomerang-cutter 1, shotgun-ice 1, buster 10); X damaged within 32 px of it 8 times (e.g. launch-octopus-and-sting-flooded_2_38342 f33693). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Death, drops, culling and respawn0.08%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26, E41/W37: every part seen under unchanged E40 attribution rules over 77 WRAM-equal runs; pictures exact on cited frames. enemy.oid_18, stub 80:FA29, main 83:BBD2. E40 unchanged death/drop proximity attribution: finder-0 $01 f2814, $02 f3170; 80:FA29 -> 83:BBD2

    knowledge_base/mmx1/rom/enemy_evidence_v4_2026-09-26.json · tools/tests/test_enemy_evidence_v4.py · docs/tasks/done/E41-hunt-batch-enemy-gaps.md

  • Rendering, animation and audio0.08%
    ○ Pending16 of 18 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x18 (E36); 0.41% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x1C (label seaAttacker): LO4 of 5 steps0.11 / 0.12%
  • Activation, movement and facing0.03%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_1c (members 0x1C; granular-v3, L18); its placements include the entries of finder-2 emitter 0x0F (table 80:F59A), which makes 0x1C (E36), as L18 counts them. Creation and placement contexts: all 5 of its ROM placements (launch-octopus 5) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): bottom 1, right 4. Members ran in verified runs (E35): 0x1C in 2 runs, 3,454 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.03%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_1c, OID 0x1C (census label seaAttacker, main 82:A190) ran in 2 verified runs (launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717), 3,454 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: no child observed, and its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches): no-attack backed by source. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator, as L15 judged rush_roader): it has no finder-3 ROM placement (KB rom_placements empty); its ledger placements (launch-octopus 5) are emitter entries, and the KB records its spawns by the emitters (finder-2 0x0F x34), spawned runs 34; so E35's on-screen placement check has nothing to test. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.02%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_1c, OID 0x1C (census label seaAttacker, main 82:A190) ran in 2 verified runs (launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717), 3,454 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 8 (buster 8); deaths 8 (buster 8); X damaged within 32 px of it 4 times (e.g. launch-octopus-and-sting-flooded_2_38342 f3172). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator, as L15 judged rush_roader): it has no finder-3 ROM placement (KB rom_placements empty); its ledger placements (launch-octopus 5) are emitter entries, and the KB records its spawns by the emitters (finder-2 0x0F x34), spawned runs 34; so E35's on-screen placement check has nothing to test. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Death, drops, culling and respawn0.02%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_1c, OID 0x1C (census label seaAttacker, main 82:A190) ran in 2 verified runs (launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717), 3,454 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 8 (finder-1 blasts 0x02 x8, 0x09 x2); drops 0x02 x3, 0x01 x2 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; no child: its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches), so surviving children do not apply; off-screen frees 26; respawned placements 0 (it has no finder-3 ROM placement; see the judgment below); duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator, as L15 judged rush_roader): it has no finder-3 ROM placement (KB rom_placements empty); its ledger placements (launch-octopus 5) are emitter entries, and the KB records its spawns by the emitters (finder-2 0x0F x34), spawned runs 34; so E35's on-screen placement check has nothing to test, and its respawn is the emitters spawning it again. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.02%
    ○ Pending18 of 19 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x1C (E36); 0.12% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x1D (label gulpferd): LO, Sigma 34 of 5 steps0.34 / 0.35%
  • Activation, movement and facing0.07%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_1d (members 0x1D; granular-v3, L18). Creation and placement contexts: all 14 of its ROM placements (launch-octopus 9, sigma-3 5) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 12, bottom 2. Members ran in verified runs (E35): 0x1D in 2 runs, 5,381 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.07%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_1d, OID 0x1D (census label gulpferd, main 82:A341) ran in 2 verified runs (launch-octopus-and-sting-flooded_2_38342, sigma3_2_26312), 5,381 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: no child observed, and its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches): no-attack backed by source. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.07%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_1d, OID 0x1D (census label gulpferd, main 82:A341) ran in 2 verified runs (launch-octopus-and-sting-flooded_2_38342, sigma3_2_26312), 5,381 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 75 (buster 75); deaths 10 (buster 10); X damaged within 32 px of it 4 times (e.g. launch-octopus-and-sting-flooded_2_38342 f5506). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Death, drops, culling and respawn0.07%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x1D (E36); 0.35% in total, once, not per stage. Pending: nothing credited; the references are context. 2026-10-04 (E49, LG6): verified; every part seen or excluded by source (5 seen, 2 excluded, of 7); drop excluded: member 0x1D has no path to 84:A384, 0 soundness hits, D trace checked (19 sites, 0 unbalanced callees) in enemy_drop_reach_2026-10-04.json; enemy_step_sweep summary.complete_candidates.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/enemy_step_sweep_2026-09-30.json · knowledge_base/mmx1/rom/enemy_drop_reach_2026-10-04.json · tools/tests/test_enemy_drop_reach.py · docs/tasks/done/E49-drop-reach-id-store-sites.md

  • Rendering, animation and audio0.07%
    ○ Pending65 of 67 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x1D (E36); 0.35% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Mad Pecker (0x1E) with its worms (0x1F): SC3 of 5 steps0.17 / 0.19%
  • Activation, movement and facing0.04%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_1e (members 0x1E, 0x1F; granular-v3, L18). Creation and placement contexts: all 3 of its ROM placements (sting-chameleon 3) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 3. Members ran in verified runs (E35): 0x1E in 2 runs, 1,508 slot-frames; 0x1F in 2 runs, 1,672 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified. Name from the ending credits (84:E68F); id kept.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.04%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_1e, member OIDs 0x1E, 0x1F (census labels madPeker, creeper; mains 82:A7DB, 82:A990) ran in 2 verified runs (sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 3,180 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: en:0x1F x8; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator): the family is judged on the union of its member OIDs (granular-v3, L18), and every member ran in a verified run (KB runtime.members: 0x1E runs 6, slot-frames 1,508, deaths 2; 0x1F runs 8, slot-frames 1,672, deaths 0). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.04%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_1e, member OIDs 0x1E, 0x1F (census labels madPeker, creeper; mains 82:A7DB, 82:A990) ran in 2 verified runs (sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 3,180 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 11 (buster 11); deaths 2 (buster 2); X damaged within 32 px of it 3 times (e.g. sting-chameleon_1_25606 f14168). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator): the family is judged on the union of its member OIDs (granular-v3, L18), and every member ran in a verified run (KB runtime.members: 0x1E runs 6, slot-frames 1,508, deaths 2; 0x1F runs 8, slot-frames 1,672, deaths 0). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.04%
    ○ Pending36 of 37 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x1E, 0x1F (E36; not enemy.mad_pecker (0x53)); 0.19% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Death, drops, culling and respawn0.03%
    ○ Pending6 of 8 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x1E, 0x1F (E36; not enemy.mad_pecker (0x53)); 0.19% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x20 (label amenHopper): LO, SC4 of 5 steps0.27 / 0.28%
  • Activation, movement and facing0.06%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_20 (members 0x20; granular-v3, L18). Creation and placement contexts: all 15 of its ROM placements (launch-octopus 4, sting-chameleon 11) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 15. Members ran in verified runs (E35): 0x20 in 4 runs, 5,296 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.06%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_20, OID 0x20 (census label amenHopper, main 82:AAD7) ran in 4 verified runs (launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 5,296 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x08 x6, es:0x0C x7; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.06%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_20, OID 0x20 (census label amenHopper, main 82:AAD7) ran in 4 verified runs (launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 5,296 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 20 (buster 15, fire-wave 4, electric-spark 1); deaths 21 (buster 16, fire-wave 4, electric-spark 1); X damaged within 32 px of it 8 times (e.g. launch-octopus-and-sting-flooded_2_38342 f1561). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Death, drops, culling and respawn0.05%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_20, OID 0x20 (census label amenHopper, main 82:AAD7) ran in 4 verified runs (launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 5,296 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 21 (finder-1 blasts 0x02 x21, 0x09 x5); drops 0x02 x6, 0x01 x1 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 5, still alive 2+ frames later 4; off-screen frees 11; respawned placements 7; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.05%
    ○ Pending32 of 39 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x20 (E36); 0.28% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x2F (label armorSoldir): SC, CP, Sigma 22 of 5 steps0.3 / 0.34%
  • Activation, movement and facing0.07%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_2f (members 0x2F; granular-v3, L18). Creation and placement contexts: all 10 of its ROM placements (sting-chameleon 3, chill-penguin 2, sigma-2 5) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 10. Members ran in verified runs (E35): 0x2F in 4 runs, 3,812 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Death, drops, culling and respawn0.06%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x2F (E36); 0.34% in total, once, not per stage. Pending: nothing credited; the references are context. 2026-10-04 (E49, LG6): verified; every part seen or excluded by source (5 seen, 2 excluded, of 7); drop excluded: member 0x2F has no path to 84:A384, 0 soundness hits, D trace checked (19 sites, 0 unbalanced callees) in enemy_drop_reach_2026-10-04.json; enemy_step_sweep summary.complete_candidates.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/enemy_step_sweep_2026-09-30.json · knowledge_base/mmx1/rom/enemy_drop_reach_2026-10-04.json · tools/tests/test_enemy_drop_reach.py · docs/tasks/done/E49-drop-reach-id-store-sites.md

  • Attacks and projectiles, or proven absence0.07%
    ○ Pending11 of 13 parts

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x2F (E36); 0.34% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Contact, HP and weapon response0.07%
    ○ Pending13 of 14 parts

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x2F (E36); 0.34% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Rendering, animation and audio0.07%
    ○ Pending106 of 118 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x2F (E36); 0.34% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x30 (label digLouber): AA, FM, Sigma 2, Sigma 3✓ Done0.48 / 0.48%
  • Activation, movement and facing0.1%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_30 (members 0x30; granular-v3, L18). Creation and placement contexts: all 36 of its ROM placements (armored-armadillo 16, flame-mammoth 13, sigma-2 3, sigma-3 4) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 28, left 4, top 2, bottom 2. Members ran in verified runs (E35): 0x30 in 7 runs, 15,106 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.1%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_30, OID 0x30 (census label digLouber, main 83:CE03) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104, sigma2_2_41296, sigma3_2_26312), 15,106 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x14 x101; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.1%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_30, OID 0x30 (census label digLouber, main 83:CE03) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104, sigma2_2_41296, sigma3_2_26312), 15,106 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 178 (buster 40, storm-tornado 2, boomerang-cutter 40, shotgun-ice 17, homing-torpedo 19, fire-wave 57, rolling-shield 1, electric-spark 2); deaths 72 (buster 11, storm-tornado 4, boomerang-cutter 27, shotgun-ice 10, homing-torpedo 3, fire-wave 13, rolling-shield 2, electric-spark 2); X damaged within 32 px of it 5 times (e.g. flame-mammoth-lava_2_23048 f8141). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.09%
    ✓ Verified

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    2026-10-12 (L138, cards E50 and E51): 23 of 23 drawing, animation and sound parts of enemy 0x30 seen or proven (knowledge_base/mmx1/rom/enemy_visual_catalogue_2026-10-11_r132.json#/steps/enemy.oid_30.visual (picture parts seen 19 of parts_total 23; 3 sound parts whose witness frame lies inside a whole APU-gated window of the same take (1 in knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json#/results/armored-armadillo_1_15055, 2 in knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json#/results/sigma2_2_41296); other sound parts count unseen, rules R3/R38/R140); read at git abdfbe94c; plus 1 method-f parts sound:849F0B per knowledge_base/mmx1/rom/enemy_deflect_sound_unreachable_2026-10-12_e51.json#/steps/enemy.oid_30.visual/parts (exclusion_proof cites the ROM by bank:addr, card E51)). The last, the deflect sound $10 (84:9F0B), is proven from the ROM: only a $80 byte in the damage row reaches it (84:9E45-84:9E4D), and this enemy's rows hold no $80 for any X shot (knowledge_base/mmx1/rom/enemy_deflect_sound_unreachable_2026-10-12_e51.json).

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/enemy_visual_catalogue_2026-10-11_r132.json · knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json · knowledge_base/mmx1/rom/enemy_deflect_sound_unreachable_2026-10-12_e51.json · docs/tasks/done/E51-deflect-sound-method-f-kb.md · docs/tasks/done/E50-owner-damage-row-deflects.md

  • Death, drops, culling and respawn0.09%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_30, OID 0x30 (census label digLouber, main 83:CE03) ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104, sigma2_2_41296, sigma3_2_26312), 15,106 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 72 (finder-1 blasts 0x02 x75, 0x09 x29, 0x10 x1); drops 0x02 x9 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 19, still alive 2+ frames later 18; off-screen frees 49; respawned placements 26; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

Object 0x34 (label cragMan): SC3 of 5 steps0.15 / 0.17%
  • Activation, movement and facing0.04%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_34 (members 0x34; granular-v3, L18). Creation and placement contexts: all 5 of its ROM placements (sting-chameleon 5) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 5. Members ran in verified runs (E35): 0x34 in 2 runs, 2,923 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.04%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_34, OID 0x34 (census label cragMan, main 83:D85C) ran in 2 verified runs (sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 2,923 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: en:0x18 x3, es:0x17 x2; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.03%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_34, OID 0x34 (census label cragMan, main 83:D85C) ran in 2 verified runs (sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 2,923 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 30 (buster 30); deaths 2 (buster 2); X damaged within 32 px of it 4 times (e.g. sting-chameleon-auto_1_5497 f2510). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.03%
    ○ Pending40 of 43 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x34 (E36); 0.17% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Death, drops, culling and respawn0.03%
    ○ Pending5 of 7 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x34 (E36); 0.17% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x35 (label metalWing): AA4 of 5 steps0.16 / 0.17%
  • Activation, movement and facing0.04%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_35 (members 0x35; granular-v3, L18). Creation and placement contexts: all 9 of its ROM placements (armored-armadillo 9) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 9. Members ran in verified runs (E35): 0x35 in 1 runs, 2,882 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.04%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card E40, E37's rule over 62 runs WRAM equal on every frame, R14, R15 and the branch and hunt takes included), ROM-first: family enemy.oid_35 (0x35 stub 80:FABA, main 83:DB9B). ran in 5 verified runs, 25085 slot-frames (armored-armadillo-death-branch_1_11865 f6733..7450, armored-armadillo_1_15055 f6733..7450, b6-aa-f-wave-normal-hunt_1_9233 f6733..7450 ...), WRAM equal on every frame of each (V12 wram_equal = frames + 1; R8, R9, R12, R14, R15 intake wram_equal N of N; branch and hunt takes WRAM equal N of N, pictures exact on every frame) no child observed, and its handler reaches neither findEnemyShotEmptySlot (82:8358) nor loadEnitySlotBase (82:8321) (census routines): no-attack backed by source Pictures exact on its frames; every part of the criterion seen.

    knowledge_base/mmx1/rom/enemy_evidence_v4_2026-09-26.json · tools/tests/test_enemy_evidence_v4.py · docs/tasks/done/E40-enemy-remaining-steps.md

  • Contact, HP and weapon response0.03%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card E40, E37's rule over 62 runs WRAM equal on every frame, R14, R15 and the branch and hunt takes included), ROM-first: family enemy.oid_35 (0x35 stub 80:FABA, main 83:DB9B). ran in 5 verified runs, 25085 slot-frames (armored-armadillo-death-branch_1_11865 f6733..7450, armored-armadillo_1_15055 f6733..7450, b6-aa-f-wave-normal-hunt_1_9233 f6733..7450 ...), WRAM equal on every frame of each (V12 wram_equal = frames + 1; R8, R9, R12, R14, R15 intake wram_equal N of N; branch and hunt takes WRAM equal N of N, pictures exact on every frame) HP drops 37 {'boomerang-cutter': 12, 'fire-wave': 13, 'rolling-shield': 2, 'chameleon-sting': 2, 'buster': 8}; deaths 17 {'boomerang-cutter': 4, 'fire-wave': 6, 'chameleon-sting': 2, 'buster': 5}; X damaged <= 32 px from it 5 times [('armored-armadillo-death-branch_1_11865', 7152, 2), ('armored-armadillo_1_15055', 7152, 2)] Pictures exact on its frames; every part of the criterion seen.

    knowledge_base/mmx1/rom/enemy_evidence_v4_2026-09-26.json · tools/tests/test_enemy_evidence_v4.py · docs/tasks/done/E40-enemy-remaining-steps.md

  • Death, drops, culling and respawn0.03%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x35 (E36); 0.17% in total, once, not per stage. Pending: nothing credited; the references are context. 2026-10-04 (E49, LG6): verified; every part seen or excluded by source (5 seen, 2 excluded, of 7); drop excluded: member 0x35 has no path to 84:A384, 0 soundness hits, D trace checked (19 sites, 0 unbalanced callees) in enemy_drop_reach_2026-10-04.json; enemy_step_sweep summary.complete_candidates.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/enemy_step_sweep_2026-09-30.json · knowledge_base/mmx1/rom/enemy_drop_reach_2026-10-04.json · tools/tests/test_enemy_drop_reach.py · docs/tasks/done/E49-drop-reach-id-store-sites.md

  • Rendering, animation and audio0.03%
    ○ Pending59 of 61 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x35 (E36); 0.17% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x36 (label jamminger): IH, SC, BK, CP, Sigma 1✓ Done0.37 / 0.37%
  • Activation, movement and facing0.08%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_36 (members 0x36; granular-v3, L18). Creation and placement contexts: all 31 of its ROM placements (intro-highway 5, sting-chameleon 3, boomer-kuwanger 6, chill-penguin 6, sigma-1 11) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 24, top 6, left 1. Members ran in verified runs (E35): 0x36 in 7 runs, 4,697 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.08%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-30 HN3: T1 existing observed-case coverage plus the last missing placement (CP entry 43, finder 3 OID $36, record $FAD9, on screen). The unchanged E35/T1 reducer now has all acceptance parts: attack 34/34, contact 35/35. Winning branch hn3-hn2-t1-oid36-chill-entry43-hunt verifies 309/309 WRAM frames and 308/308 pixels. Scope is the observed ROM-first cases; no legacy-engine certification.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · build/HN3/session8-oid36-reduction.json · docs/tasks/done/HN3-port-planner.md

  • Contact, HP and weapon response0.07%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-30 HN3: T1 existing observed-case coverage plus the last missing placement (CP entry 43, finder 3 OID $36, record $FAD9, on screen). The unchanged E35/T1 reducer now has all acceptance parts: attack 34/34, contact 35/35. Winning branch hn3-hn2-t1-oid36-chill-entry43-hunt verifies 309/309 WRAM frames and 308/308 pixels. Scope is the observed ROM-first cases; no legacy-engine certification.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · build/HN3/session8-oid36-reduction.json · docs/tasks/done/HN3-port-planner.md

  • Rendering, animation and audio0.07%
    ✓ Verified

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    2026-10-12 (L138, cards E50 and E51): 14 of 14 drawing, animation and sound parts of enemy 0x36 seen or proven (knowledge_base/mmx1/rom/enemy_visual_catalogue_2026-10-11_r132.json#/steps/enemy.oid_36.visual (picture parts seen 10 of parts_total 14; 3 sound parts whose witness frame lies inside a whole APU-gated window of the same take (2 in knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json#/results/intro-highway_1_15577, 1 in knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json#/results/sting-chameleon_1_25606); other sound parts count unseen, rules R3/R38/R140); read at git abdfbe94c; plus 1 method-f parts sound:849F0B per knowledge_base/mmx1/rom/enemy_deflect_sound_unreachable_2026-10-12_e51.json#/steps/enemy.oid_36.visual/parts (exclusion_proof cites the ROM by bank:addr, card E51)). The last, the deflect sound $10 (84:9F0B), is proven from the ROM: only a $80 byte in the damage row reaches it (84:9E45-84:9E4D), and this enemy's rows hold no $80 for any X shot (knowledge_base/mmx1/rom/enemy_deflect_sound_unreachable_2026-10-12_e51.json).

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/enemy_visual_catalogue_2026-10-11_r132.json · knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json · knowledge_base/mmx1/rom/enemy_deflect_sound_unreachable_2026-10-12_e51.json · docs/tasks/done/E51-deflect-sound-method-f-kb.md · docs/tasks/done/E50-owner-damage-row-deflects.md

  • Death, drops, culling and respawn0.07%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_36, OID 0x36 (census label jamminger, main 83:DD67) ran in 7 verified runs (boomer-kuwanger_1_40070, chill-penguin-new-game_1_21068, chill-penguin_2_19010, intro-highway_1_15577, items-collection_2_15104, sigma1-zero-arm_2_35588, sting-chameleon_1_25606), 4,697 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 27 (finder-1 blasts 0x02 x29, 0x09 x7); drops 0x02 x3, 0x01 x4 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; no child: its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches), so surviving children do not apply; off-screen frees 16; respawned placements 9; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

Object 0x37 (label hotarion): SM3 of 5 steps0.23 / 0.25%
  • Activation, movement and facing0.05%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-10-10 (L50, LG6 s2 rule): verified; 12 of 12 parts: those already seen as before, and placement:spark-mandrill:84 declared impossible for the current score by David on 2026-10-10 (knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json, items of docs/goal/DEEP-INVESTIGATIONS.md). If someone finds a way to make it happen, the part becomes "feasible" again and needs a witness.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json · docs/goal/DEEP-INVESTIGATIONS.md · docs/tasks/done/R118-declare-r115-impossible.md · docs/tasks/done/R115-deep-rule-candidates.md

  • Attacks and projectiles, or proven absence0.05%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-10-10 (L50, LG6 s2 rule): verified; 13 of 13 parts: those already seen as before, and placement:spark-mandrill:84 declared impossible for the current score by David on 2026-10-10 (knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json, items of docs/goal/DEEP-INVESTIGATIONS.md). If someone finds a way to make it happen, the part becomes "feasible" again and needs a witness.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json · docs/goal/DEEP-INVESTIGATIONS.md · docs/tasks/done/R118-declare-r115-impossible.md · docs/tasks/done/R115-deep-rule-candidates.md

  • Contact, HP and weapon response0.05%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-10-10 (L50, LG6 s2 rule): verified; 14 of 14 parts: those already seen as before, and placement:spark-mandrill:84 declared impossible for the current score by David on 2026-10-10 (knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json, items of docs/goal/DEEP-INVESTIGATIONS.md). If someone finds a way to make it happen, the part becomes "feasible" again and needs a witness.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json · docs/goal/DEEP-INVESTIGATIONS.md · docs/tasks/done/R118-declare-r115-impossible.md · docs/tasks/done/R115-deep-rule-candidates.md

  • Rendering, animation and audio0.05%
    ○ Pending7 of 8 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x37 (E36); 0.25% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Death, drops, culling and respawn0.05%
    ○ Pending6 of 7 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x37 (E36); 0.25% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x3B (label ladderJadder): BK4 of 5 steps0.14 / 0.15%
  • Activation, movement and facing0.03%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_3b (members 0x3B; granular-v3, L18). Creation and placement contexts: all 4 of its ROM placements (boomer-kuwanger 4) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): top 4. Members ran in verified runs (E35): 0x3B in 2 runs, 3,747 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.03%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_3b, OID 0x3B (census label ladderJadder, main 87:A9DF) ran in 2 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104), 3,747 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: no child observed, and its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches): no-attack backed by source. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.03%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-10-15 (L258, card H45b): 8 of 8 parts (knowledge_base/mmx1/rom/enemy_step_sweep_2026-10-08-r60.json#/steps/enemy.oid_3b.contact (seen 7 of parts_total 8); read at git db50620f5; plus 1 parts contact-X per knowledge_base/mmx1/rom/h45b_found_takes_2026-10-15.json#/rows/enemy.oid_3b.contact/parts); the missing one, OID $3B's contact with X, was seen in the verified hunt take h45-20-oid-3b-contact-hunt at f11312.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/enemy_step_sweep_2026-10-08-r60.json · knowledge_base/mmx1/rom/h45b_found_takes_2026-10-15.json

  • Death, drops, culling and respawn0.03%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x3B (E36); 0.15% in total, once, not per stage. Pending: nothing credited; the references are context. 2026-10-04 (E49, LG6): verified; every part seen or excluded by source (5 seen, 2 excluded, of 7); drop excluded: member 0x3B has no path to 84:A384, 0 soundness hits, D trace checked (19 sites, 0 unbalanced callees) in enemy_drop_reach_2026-10-04.json; enemy_step_sweep summary.complete_candidates.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/enemy_step_sweep_2026-09-30.json · knowledge_base/mmx1/rom/enemy_drop_reach_2026-10-04.json · tools/tests/test_enemy_drop_reach.py · docs/tasks/done/E49-drop-reach-id-store-sites.md

  • Rendering, animation and audio0.03%
    ○ Pending19 of 20 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x3B (E36); 0.15% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x3F (label slidePlatform): BK3 of 5 steps0.38 / 0.41%
  • Activation, movement and facing0.09%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_3f (members 0x3F; granular-v3, L18); its placements include the entries of finder-2 emitter 0x1E (table 80:F59A), which makes 0x3F (E36), as L18 counts them. Creation and placement contexts: all 8 of its ROM placements (boomer-kuwanger 8) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): top 8. Members ran in verified runs (E35): 0x3F in 2 runs, 26,791 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.08%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_3f, OID 0x3F (census label slidePlatform, main 87:B216) ran in 2 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104), 26,791 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x13 x34; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator, as L15 judged rush_roader): it has no finder-3 ROM placement (KB rom_placements empty); its ledger placements (boomer-kuwanger 8) are emitter entries, and the KB records its spawns by the emitters (finder-2 0x1E x76), spawned runs 76; so E35's on-screen placement check has nothing to test. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.08%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_3f, OID 0x3F (census label slidePlatform, main 87:B216) ran in 2 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104), 26,791 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 38 (shotgun-ice 11, fire-wave 5, buster 22); deaths 15 (shotgun-ice 7, fire-wave 1, buster 7); X damaged within 32 px of it 2 times (e.g. boomer-kuwanger_1_40070 f13479). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator, as L15 judged rush_roader): it has no finder-3 ROM placement (KB rom_placements empty); its ledger placements (boomer-kuwanger 8) are emitter entries, and the KB records its spawns by the emitters (finder-2 0x1E x76), spawned runs 76; so E35's on-screen placement check has nothing to test. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.08%
    ○ Pending14 of 15 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x3F (E36); 0.41% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Death, drops, culling and respawn0.08%
    ○ Pending6 of 7 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x3F (E36); 0.41% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x40 (label spring): Sigma 12 of 5 steps0.05 / 0.08%
  • Activation, movement and facing0.02%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_40 (members 0x40; granular-v3, L18). Creation and placement contexts: all 6 of its ROM placements (sigma-1 6) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 6. Members ran in verified runs (E35): 0x40 in 1 runs, 1,214 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.02%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_40, OID 0x40 (census label spring, main 87:B443) ran in 1 verified run (sigma1-zero-arm_2_35588), 1,214 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: no child observed, and its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches): no-attack backed by source. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.02%
    ○ Pending9 of 10 parts

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x40 (E36); 0.08% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Rendering, animation and audio0.01%
    ○ Pending27 of 30 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x40 (E36); 0.08% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Death, drops, culling and respawn0.01%
    ○ Pending5 of 7 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x40 (E36); 0.08% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x44 (label laserTrap): BK, Sigma 1, Sigma 32 of 5 steps0.18 / 0.22%
  • Activation, movement and facing0.05%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_44 (members 0x44; granular-v3, L18). Creation and placement contexts: all 11 of its ROM placements (boomer-kuwanger 5, sigma-1 3, sigma-3 3) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 11. Members ran in verified runs (E35): 0x44 in 4 runs, 7,148 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.05%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_44, OID 0x44 (census label laserTrap, main 87:BA72) ran in 4 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma3_2_26312), 7,148 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: es:0x1C x37; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.04%
    ○ Pending14 of 15 parts

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x44 (E36); 0.22% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Rendering, animation and audio0.04%
    ○ Pending20 of 26 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x44 (E36); 0.22% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Death, drops, culling and respawn0.04%
    ○ Pending5 of 7 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x44 (E36); 0.22% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x46 (label airPortGasTank): SE0 of 5 steps0.02 / 0.07%
  • Activation, movement and facing0.02%
    ○ Pending6 of 7 parts

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x46 (E36); 0.07% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/census_annotated_2026-09-23.json

  • Attacks and projectiles, or proven absence0.02%
    ○ Pending7 of 8 parts

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x46 (E36); 0.07% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/census_annotated_2026-09-23.json

  • Contact, HP and weapon response0.01%
    ○ Pending7 of 9 parts

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x46 (E36); 0.07% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/census_annotated_2026-09-23.json

  • Rendering, animation and audio0.01%
    ○ Pending

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x46 (E36); 0.07% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/census_annotated_2026-09-23.json

  • Death, drops, culling and respawn0.01%
    ○ Pending5 of 7 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x46 (E36); 0.07% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/census_annotated_2026-09-23.json

Object 0x4F (label rollingGabyool): FM3 of 5 steps0.18 / 0.2%
  • Activation, movement and facing0.04%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_4f (members 0x4F; granular-v3, L18). Creation and placement contexts: all 7 of its ROM placements (flame-mammoth 7) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 7. Members ran in verified runs (E35): 0x4F in 2 runs, 7,103 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.04%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_4f, OID 0x4F (census label rollingGabyool, main 87:D119) ran in 2 verified runs (flame-mammoth-lava_2_23048, flame-mammoth_2_30151), 7,103 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: no child observed, and its handler reaches neither findEnemyShotEmptySlot nor loadEnitySlotBase (KB identity.reaches): no-attack backed by source. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.04%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_4f, OID 0x4F (census label rollingGabyool, main 87:D119) ran in 2 verified runs (flame-mammoth-lava_2_23048, flame-mammoth_2_30151), 7,103 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 5 (buster 3, chameleon-sting 2); deaths 0 (none); X damaged within 32 px of it 2 times (e.g. flame-mammoth_2_30151 f20330). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.04%
    ○ Pending11 of 14 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x4F (E36); 0.20% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Death, drops, culling and respawn0.04%
    ○ Pending6 of 7 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x4F (E36); 0.20% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x57 (label igloo) with 0x3A: CP3 of 5 steps0.2 / 0.22%
  • Activation, movement and facing0.05%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_57 (members 0x57, 0x3A; granular-v3, L18). Creation and placement contexts: all 7 of its ROM placements (chill-penguin 7) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 7. Members ran in verified runs (E35): 0x57 in 2 runs, 1,696 slot-frames; 0x3A in 2 runs, 538 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Rendering, animation and audio0.04%
    ✓ Verified

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    2026-10-13 (L196, card E55): 49 of 49 parts seen or proven (knowledge_base/mmx1/rom/enemy_visual_catalogue_2026-10-13_e54.json#/steps/enemy.oid_57.visual (picture parts seen 44 of parts_total 49; 4 sound parts whose witness frame lies inside a whole APU-gated window of the same take (4 in knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json#/results/chill-penguin-new-game_1_21068); other sound parts count unseen, rules R3/R38/R140); read at git 1a92dbe8c; plus 1 method-f parts 3A:cell:64:AFCEB8 per knowledge_base/mmx1/rom/enemy_visual_unreachable_2026-10-13_e55.json#/steps/enemy.oid_57.visual/parts (exclusion_proof cites the ROM by bank:addr, card E55)): 44 cells seen in verified takes, 4 sounds inside chill-penguin-new-game's whole audio window, and cell AF:CEB8 the ROM never draws (state 8 at 83:E631 replaces the animation in the same call).

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/enemy_visual_catalogue_2026-10-13_e54.json · knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json · knowledge_base/mmx1/rom/enemy_visual_unreachable_2026-10-13_e55.json · docs/tasks/done/E55-enemy-cells-rest.md · docs/tasks/done/A27-enemy-sfx-per-family.md · docs/tasks/done/R140-enemy-sound-parts-gated.md · docs/tasks/done/KB1-enemy-visual-catalogue-h42.md

  • Death, drops, culling and respawn0.04%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_57, member OIDs 0x57, 0x3A (census labels igloo, tomBot; mains 87:E354, 83:E404) ran in 2 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010), 2,234 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 9 (finder-1 blasts 0x2B x149, 0x02 x13); drops 0x02 x1 (finder-0 objects, 1 frame after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 1, still alive 2+ frames later 1; off-screen frees 5; respawned placements 1; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator): the family is judged on the union of its member OIDs (granular-v3, L18), and every member ran in a verified run (KB runtime.members: 0x57 runs 6, slot-frames 1,696, deaths 6; 0x3A runs 10, slot-frames 538, deaths 3). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Attacks and projectiles, or proven absence0.05%
    ○ Pending10 of 11 parts

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x57, 0x3A (E36); 0.22% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Contact, HP and weapon response0.04%
    ○ Pending10 of 12 parts

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x57, 0x3A (E36); 0.22% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x59 (label longPillar) with 0x58, 0x5A: SE2 of 5 steps0.17 / 0.2%
  • Activation, movement and facing0.04%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_59 (members 0x59, 0x58, 0x5A; granular-v3, L18). Creation and placement contexts: all 1 of its ROM placements (storm-eagle 1) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 1. Members ran in verified runs (E35): 0x59 in 2 runs, 759 slot-frames; 0x58 in 2 runs, 57 slot-frames; 0x5A in 2 runs, 757 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.04%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_59, member OIDs 0x59, 0x58, 0x5A (census labels longPillar, -, -; mains 87:E7D4, 87:E547, 87:EB09) ran in 2 verified runs (storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 1,573 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: en:0x58 x2; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator): the family is judged on the union of its member OIDs (granular-v3, L18), and every member ran in a verified run (KB runtime.members: 0x59 runs 2, slot-frames 759, deaths 0; 0x58 runs 2, slot-frames 57, deaths 1; 0x5A runs 2, slot-frames 757, deaths 0). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.04%
    ○ Pending6 of 7 parts

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x59, 0x58, 0x5A (E36); 0.20% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Rendering, animation and audio0.04%
    ○ Pending25 of 29 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x59, 0x58, 0x5A (E36); 0.20% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Death, drops, culling and respawn0.04%
    ○ Pending7 of 9 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x59, 0x58, 0x5A (E36); 0.20% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x5B (label megaTortoise): LO, SM, BK, Sigma 1, Sigma 34 of 5 steps0.3 / 0.31%
  • Activation, movement and facing0.07%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_5b (members 0x5B; granular-v3, L18). Creation and placement contexts: all 15 of its ROM placements (launch-octopus 2, spark-mandrill 3, boomer-kuwanger 4, sigma-1 5, sigma-3 1) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): right 10, top 5. Members ran in verified runs (E35): 0x5B in 8 runs, 8,273 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.06%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_5b, OID 0x5B (census label megaTortoise, main 87:EBFE) ran in 8 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717, sigma1-zero-arm_2_35588, sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 8,273 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: en:0x4A x5, es:0x25 x83; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.06%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_5b, OID 0x5B (census label megaTortoise, main 87:EBFE) ran in 8 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717, sigma1-zero-arm_2_35588, sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 8,273 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 377 (buster 191, fire-wave 149, shotgun-ice 14, homing-torpedo 3, chameleon-sting 20); deaths 24 (buster 10, fire-wave 10, shotgun-ice 1, chameleon-sting 3); X damaged within 32 px of it 3 times (e.g. boomer-kuwanger_1_40070 f22698). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Death, drops, culling and respawn0.06%
    ✓ Verified

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_5b, OID 0x5B (census label megaTortoise, main 87:EBFE) ran in 8 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717, sigma1-zero-arm_2_35588, sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 8,273 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1); no frame of its windows is among the runs' not-exact pictures. Lifecycle: deaths 24 (finder-1 blasts 0x02 x24, 0x09 x14); drops 0x02 x7, 0x01 x2, 0x13 x1 (finder-0 objects, 1..217 frames after the death), the RNG ($0BA6) inside the equal WRAM; children alive at its death 33, still alive 2+ frames later 32; off-screen frees 6; respawned placements 7; duplicates 0; with WRAM equal on every frame the object slots equal the original's, so no duplicate or orphan object. Judgment (E35's rule, run by E37; accepted by the coordinator): drops (a finder-0 object born within 48 px of a death, within 240 frames), children (born within 48 px) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.06%
    ○ Pending28 of 29 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x5B (E36); 0.31% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object 0x6A (label vileFinalForm) with 0x68: Sigma 43 of 5 steps0.17 / 0.19%
  • Activation, movement and facing0.04%
    ✓ Verified

    Validate creation, camera/player activation, every observed movement state, facing and transition; repeat in representative placement contexts.

    Technical details

    2026-09-25 (card L19, from S30, E35 and E36 on granular-v3), ROM-first mode: family enemy.oid_6a (members 0x6A, 0x68; granular-v3, L18). Creation and placement contexts: all 2 of its ROM placements (sigma-4 2) spawned at their ROM position (slot +$0C = WRAM record $7E:FA02 + 5 * i, 80:DD91; offset 0 px on the first frame) in a verified run (S30). Activation: each first spawn's trigger is the camera window that held the entry (80:DC36): top 2. Members ran in verified runs (E35): 0x6A in 1 runs, 1,680 slot-frames; 0x68 in 1 runs, 2,757 slot-frames; WRAM equal on every frame of each (E35 runs: wram_equal = frames). Rule: L15's placement rule (every placement spawned at its ROM position in a verified run), applied by the coordinator's decision of 2026-09-25 16:55. By the state gate, every observed state, facing and transition is the ROM routine's own. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_stage_population.py

  • Attacks and projectiles, or proven absence0.04%
    ✓ Verified

    Map and integrate every observed attack and condition, spawn positions, children and RNG rules; no-attack behavior requires supporting source evidence.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_6a, member OIDs 0x6A, 0x68 (census labels vileFinalForm, vile; mains 88:D942, 88:D8A9) ran in 4 verified runs (sigma-final-attempt-1_1_15997, sigma-final-attempt-2_1_22929, sigma-final-win_2_44618, sigma4-final-not-beaten_2_37016), 9,188 slot-frames, WRAM equal on every frame of each (sigma-final-attempt-1_1_15997 (R8): intake wram_equal 15,997 of 15,997; sigma-final-attempt-2_1_22929 (R12): intake wram_equal 22,929 of 22,929; sigma-final-win_2_44618 (R9): intake wram_equal 44,617 of 44,617; V12 wram_equal = frames + 1 for the other 1); no frame of its windows is among the runs' not-exact pictures. Attack: shots and spawned enemies born within 48 px of it: en:0x6A x44; their spawn positions and the RNG ($0BA6) are inside the equal WRAM. Judgment (E35's rule, run by E37; accepted by the coordinator): children (born within 48 px) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator): the family is judged on the union of its member OIDs (granular-v3, L18), and every member ran in a verified run (KB runtime.members: 0x6A runs 44, slot-frames 3,816, deaths 0; 0x68 runs 20, slot-frames 5,372, deaths 0). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Contact, HP and weapon response0.04%
    ✓ Verified

    Verify boxes, HP, contact damage, weapon responses, immunities and terrain collision in observed situations.

    Technical details

    2026-09-26 (card L28, from E37), ROM-first mode: family enemy.oid_6a, member OIDs 0x6A, 0x68 (census labels vileFinalForm, vile; mains 88:D942, 88:D8A9) ran in 4 verified runs (sigma-final-attempt-1_1_15997, sigma-final-attempt-2_1_22929, sigma-final-win_2_44618, sigma4-final-not-beaten_2_37016), 9,188 slot-frames, WRAM equal on every frame of each (sigma-final-attempt-1_1_15997 (R8): intake wram_equal 15,997 of 15,997; sigma-final-attempt-2_1_22929 (R12): intake wram_equal 22,929 of 22,929; sigma-final-win_2_44618 (R9): intake wram_equal 44,617 of 44,617; V12 wram_equal = frames + 1 for the other 1); no frame of its windows is among the runs' not-exact pictures. Contact: HP drops 8 (buster 8); deaths 0 (none); X damaged within 32 px of it 2 times (e.g. sigma4-final-not-beaten_2_37016 f7084). By the state gate, the boxes, immunities and terrain collision of these situations are the ROM routine's own. Judgment (E35's rule, run by E37; accepted by the coordinator): contact with X (X's health drops within 32 px of it, nearer than any enemy shot) and deaths (freed on screen with an X shot live and a finder-1 blast within 32 px, within 2 frames) are assigned to the nearest enemy by proximity; this is an analysis rule, not a ROM pointer, and the behaviour itself is proven by the whole-run state gate. Judgment (E37, accepted by the coordinator): the family is judged on the union of its member OIDs (granular-v3, L18), and every member ran in a verified run (KB runtime.members: 0x6A runs 44, slot-frames 3,816, deaths 0; 0x68 runs 20, slot-frames 5,372, deaths 0). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/enemy_evidence_v3_2026-09-26.json · tools/tests/test_enemy_evidence_v3.py · docs/tasks/done/E37-enemy-evidence-v3-families.md

  • Rendering, animation and audio0.04%
    ○ Pending19 of 22 parts

    Compare all poses, palettes, anchors and animations and attribute entity sounds without approximate art/audio substitutes.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x6A, 0x68 (E36); 0.19% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Death, drops, culling and respawn0.03%
    ○ Pending7 of 8 parts

    Validate death, drops with correct RNG, surviving children, off-screen culling and respawn without duplicate or orphan objects.

    Technical details

    ROM family, revision granular-v3 (card L18, 2026-09-25): ids 0x6A, 0x68 (E36); 0.19% in total, once, not per stage. Pending: nothing credited; the references are context.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Object inventory still under review✓ Done

These records may be enemies, mechanisms, projectiles or effects. Identifying and checking their coverage prevents missing content; they are not automatically counted as new families.

Census object 0x01 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x01 of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9B6, main 83:AE81 (census label hoganmer). Owning feature: enemy.oid_01 (granular-v3 feature, L18; members 0x01); E36: shootable; placed (stage lists). Runtime coverage: ran in 10 verified runs (boomer-kuwanger_1_40070, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296, sting-chameleon-auto_1_5497, sting-chameleon_1_25606, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 12,639 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_01 with redistributed weight (40 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x02 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x02 of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9BB, main 81:B516 (census label chillPingu). Owning feature: boss.chill-penguin (only enemy ids active at $1F0C f16125 of chill-penguin-new-game, knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json). Runtime coverage: ran in 3 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010, sigma2_2_41296), 16,087 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json

Census object 0x03 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x03 of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9C0, main 84:AE47 (census label slimVolt). Owning feature: boss.thunder-slimer (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 2 verified runs (spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 5,078 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x05 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x05 of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9CA, main 87:8A7E (census label flammingle). Owning feature: boss.boomer-kuwanger (only enemy ids active at $1F0C f36858 of boomer-kuwanger, knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json). Runtime coverage: ran in 2 verified runs (boomer-kuwanger_1_40070, sigma1-zero-arm_2_35588), 9,102 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json

Census object 0x06 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x06 of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9CF, main 81:C24B (census label boomerKuwanger). Owning feature: enemy.oid_06 (granular-v3 feature, L18; members 0x06); E36: shootable; placed (stage lists). Runtime coverage: ran in 3 verified runs (launch-octopus-and-sting-flooded_2_38342, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 4,211 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_06 with redistributed weight (14 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x07 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x07 of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9D4, main 81:C433 (census label planty). Owning feature: boss.launch-octopus (only enemy ids active at $1F0C f26872 of launch-octopus-and-sting-flooded, knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json). Runtime coverage: ran in 2 verified runs (launch-octopus-and-sting-flooded_2_38342, sigma3_2_26312), 10,127 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json

Census object 0x08 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x08 of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9D9, main 81:CB06 (census label lunchOctopus). Owning feature: boss.launch-octopus. E36: child of 0x07, subtype copied from 0x07's +$0B (sites 81:C8F6 JSL.L loadEnitySlotBase; 81:C8FF LDA.B #$08; 81:C901 STA.W $000A,X; 81:C906 STA.W $000B,X); 0x07 is boss.launch-octopus's owner (L15); the only enemy-table write of 0x08 is 0x07's. The parent's census row (census.0x07.ownership) is verified with owner boss.launch-octopus. Runtime coverage (E35): ran in 2 verified runs (launch-octopus-and-sting-flooded_2_38342, sigma3_2_26312), 1,280 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x0A — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x0A of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9E3, main 88:853E (census label stingCameleon). Owning feature: boss.sting-chameleon. E36: a Maverick: it reaches the shared boss routine 84:A677 (STZ w_bossDefeatInvFlag $1F0C at 84:AA56), which only 0x02 0x05 0x07 0x0A 0x0C 0x14 0x31 0x52 0x65 reach; placed at sting-chameleon entry 74 and sigma-3 entry 23: the SC stage's only 84:A677 id, and its sigma-3 rematch placement. Runtime coverage (E35): ran in 2 verified runs (sigma3_2_26312, sting-chameleon_1_25606), 6,352 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x0C — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x0C of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9ED, main 87:91A7 (census label mammoth). Owning feature: boss.flame-mammoth (only enemy ids active at $1F0C f20359 of flame-mammoth-lava, knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json). Runtime coverage: ran in 3 verified runs (flame-mammoth-lava_2_23048, flame-mammoth_2_30151, sigma3_2_26312), 14,231 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json

Census object 0x0D — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x0D of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9F2, main 88:8F2A (census label rushRoader). Owning feature: enemy.oid_0d (granular-v3 feature, L18; members 0x0D); E36: shootable; placed (stage lists). Runtime coverage: ran in 3 verified runs (sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 3,343 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_0d with redistributed weight (22 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x0E — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x0E of 80:F8DD mainEventTable (JMP 80:D544), stub 80F9F7, main 82:95A4 (census label mammothTrunk). Owning feature: boss.flame-mammoth (only enemy ids active at $1F0C f20359 of flame-mammoth-lava, knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json). Runtime coverage: ran in 3 verified runs (flame-mammoth-lava_2_23048, flame-mammoth_2_30151, sigma3_2_26312), 13,429 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here. Judgment (E35, accepted by the coordinator): 0x0E shares Flame Mammoth's defeat with 0x0C (both are the only enemy ids active at $1F0C f20359 of flame-mammoth-lava), so it is credited to Flame Mammoth's feature, as 0x0C is.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json

Census object 0x10 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x10 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA01, main 81:D2DF (census label sineFaller). Owning feature: enemy.oid_10 (granular-v3 feature, L18; members 0x10); E36: shootable; made by finder-2 emitter 0x05 (table 80:F59A). Runtime coverage: ran in 5 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296, sigma3_2_26312), 5,325 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_10 with redistributed weight (26 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x11 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x11 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA06, main 81:D551 (census label roadAttacker). Owning feature: enemy.oid_11 (granular-v3 feature, L18; members 0x11, 0x1A, 0x12, 0x1B); E36: shootable; placed in the intro, also made by 0x1A; makes 0x12 and 0x1B. Runtime coverage: ran in 1 verified runs (intro-highway_1_15577), 3,146 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_11 with redistributed weight (61 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x12 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x12 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA0B, main 81:DCD0 (census label ). Owning feature: enemy.oid_11 (granular-v3 feature, L18; members 0x11, 0x1A, 0x12, 0x1B); E36: child of 0x11, not shootable. Runtime coverage: ran in 1 verified runs (intro-highway_1_15577), 3,142 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_11 with redistributed weight (61 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x13 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x13 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA10, main 82:99A6 (census label dodgeBlaster). Owning feature: enemy.oid_13 (granular-v3 feature, L18; members 0x13); E36: shootable; placed (stage lists). Runtime coverage: ran in 4 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296), 13,108 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_13 with redistributed weight (34 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x14 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x14 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA15, main 83:B144 (census label armadillo). Owning feature: boss.armored-armadillo (only enemy ids active at $1F0C f11646 of armored-armadillo, knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json). Runtime coverage: ran in 2 verified runs (armored-armadillo_1_15055, sigma3_2_26312), 5,882 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json

Census object 0x16 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-26 (card S31, creator trace over 27 WRAM-equal whole takes; L16's rule): type and table: OID 0x16 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA1F, main 87:9794 (census label floatPlatform). Owning feature: object.moving-platforms, by the coordinator's ruling of 2026-09-26 on decision 2, whose test is behaviour: 0x16's routine reaches 84:AB81, where 84:AB94-84:ABA9 add the object's own movement ($05 - $22, $08 - $24) to w_player_xPos and w_player_yPos, so it carries X on its surface; O1's verified moving-platforms step names 87:9794, 0x16's main; the same routine as 82:C715 (reached by 0x3F, 0x48, 0x3D) is not required. Every 0x16 birth is a placement of the BK or sigma-2 list (slot +$0C = its WRAM record); the other writes of the value are other finders' (83:A27F projectile, 83:D725 and 83:EE93 enemy shot). Runtime coverage: ran in 3 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma2_2_41296) (E35); S31 traced its 22 births in 3 takes (all 22 placements of the stage lists), WRAM equal on every frame of each. Not a new family: the owners are existing ledger features. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/stage_population_2026-09-26.json · tools/tests/test_stage_population_owners.py · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json

Census object 0x17 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x17 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA24, main 87:9944 (census label turnCanon). Owning feature: enemy.oid_17 (granular-v3 feature, L18; members 0x17); E36: shootable; placed in 5 stages, also carried by 0x16. Runtime coverage: ran in 7 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma2_2_41296, sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 69,949 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_17 with redistributed weight (109 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x18 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x18 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA29, main 83:BBD2 (census label fallingRocks). Owning feature: enemy.oid_18 (granular-v3 feature, L18; members 0x18); E36: shootable; placed in SC, also made by enemy shot 0x0D's handler (80:F320 index 0x0D), a shot only 0x22 writes. Runtime coverage: ran in 3 verified runs (launch-octopus-and-sting-flooded_2_38342, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 23,385 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_18 with redistributed weight (41 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x1A — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x1A of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA33, main 88:93A4 (census label roadAttackDeploy). Owning feature: enemy.oid_11 (granular-v3 feature, L18; members 0x11, 0x1A, 0x12, 0x1B); E36: not shootable; made by finder-2 emitter 0x0E in the intro; makes 0x11 and 0x3C. Runtime coverage: ran in 1 verified runs (intro-highway_1_15577), 5,508 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_11 with redistributed weight (61 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x1B — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x1B of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA38, main 82:A0E5 (census label ). Owning feature: enemy.oid_11 (granular-v3 feature, L18; members 0x11, 0x1A, 0x12, 0x1B); E36: child of 0x11, not shootable. Runtime coverage: ran in 1 verified runs (intro-highway_1_15577), 676 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_11 with redistributed weight (61 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x1C — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x1C of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA3D, main 82:A190 (census label seaAttacker). Owning feature: enemy.oid_1c (granular-v3 feature, L18; members 0x1C); E36: shootable; made by finder-2 emitter 0x0F's routine (state table 82:FB8A) in LO. Runtime coverage: ran in 2 verified runs (launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717), 3,454 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_1c with redistributed weight (12 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x1D — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x1D of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA42, main 82:A341 (census label gulpferd). Owning feature: enemy.oid_1d (granular-v3 feature, L18; members 0x1D); E36: shootable; placed (stage lists). Runtime coverage: ran in 2 verified runs (launch-octopus-and-sting-flooded_2_38342, sigma3_2_26312), 5,381 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_1d with redistributed weight (35 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x1E — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x1E of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA47, main 82:A7DB (census label madPeker). Owning feature: enemy.oid_1e (granular-v3 feature, L18; members 0x1E, 0x1F); E36: shootable; placed (stage lists). Runtime coverage: ran in 2 verified runs (sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 1,508 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_1e with redistributed weight (19 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x1F — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x1F of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA4C, main 82:A990 (census label creeper). Owning feature: enemy.oid_1e (granular-v3 feature, L18; members 0x1E, 0x1F); E36: shootable child of 0x1E. Runtime coverage: ran in 2 verified runs (sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 1,672 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_1e with redistributed weight (19 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x20 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x20 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA51, main 82:AAD7 (census label amenHopper). Owning feature: enemy.oid_20 (granular-v3 feature, L18; members 0x20); E36: shootable; placed (stage lists). Runtime coverage: ran in 4 verified runs (launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717, sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 5,296 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_20 with redistributed weight (28 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x21 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x21 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA56, main 82:AE18 (census label angler). Owning feature: boss.lo-midboss-0x21 (granular-v3 feature, L18; members 0x21); E36: shootable, placed twice in LO, fires enemy shot 0x0F. Runtime coverage: ran in 2 verified runs (launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717), 3,307 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added boss.lo-midboss-0x21 with redistributed weight (78 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x22 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x22 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA5B, main 82:B896 (census label beeBlader). Owning feature: boss.highway-giant-bee (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (intro-highway_1_15577), 1,213 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x26 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x26 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA6F, main 82:C83A (census label velguarderDog). Owning feature: boss.velguarder (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma4-final-not-beaten_2_37016), 9,390 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x28 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x28 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA79, main 82:D520 (census label cruizler). Owning feature: boss.submarine, E35's owner candidate from B2; B2's alternative (the submarine is 0x28 or 0x21) is decided by granular-v3, which gives 0x21 its own feature boss.lo-midboss-0x21 (L18); in launch-octopus-and-sting-flooded_2_38342 0x21 is alive f3472..6768 and 0x28 f7348..10402, separate encounters (E35). Runtime coverage: ran in 1 verified runs (launch-octopus-and-sting-flooded_2_38342), 3,055 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). Not a new family: boss.submarine is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x2B — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x2B of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA88, main 88:97BA (census label mineCart). Owning feature: stage.armored-armadillo. E36: stage prop: placed in one stage only, does not reach the enemy hit routine 84:9B43 (placed at armored-armadillo entries 1, 24, 125 only; 84:9B43 is bossHealthupdate_hitDetect, reached by all 17 family ids, and an id that does not reach it cannot be damaged); a stage prop goes to the stage (card rule). Prop test (coordinator decision 2026-09-25 14:05): placed in one stage's list only and never reaching 84:9B43, so it cannot be damaged: a one-stage prop, linked to that stage's feature. Runtime coverage (E35): ran in 2 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055), 3,983 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x2C — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x2C of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA8D, main 83:BF44 (census label moleBorer). Owning feature: boss.armadillo-digging-machines (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 2 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055), 3,688 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x2F — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x2F of 80:F8DD mainEventTable (JMP 80:D544), stub 80FA9C, main 83:C5AB (census label armorSoldir). Owning feature: enemy.oid_2f (granular-v3 feature, L18; members 0x2F); E36: shootable; placed (stage lists). Runtime coverage: ran in 4 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010, sigma2_2_41296, sting-chameleon_1_25606), 3,812 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_2f with redistributed weight (34 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x30 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x30 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAA1, main 83:CE03 (census label digLouber). Owning feature: enemy.oid_30 (granular-v3 feature, L18; members 0x30); E36: shootable; placed (stage lists). Runtime coverage: ran in 7 verified runs (armored-armadillo-auto_1_7731, armored-armadillo_1_15055, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104, sigma2_2_41296, sigma3_2_26312), 15,106 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_30 with redistributed weight (48 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x31 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x31 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAA6, main 88:9BE1 (census label sparkMandrill). Owning feature: boss.spark-mandrill. E36: a Maverick: it reaches the shared boss routine 84:A677 (STZ w_bossDefeatInvFlag $1F0C at 84:AA56), which only 0x02 0x05 0x07 0x0A 0x0C 0x14 0x31 0x52 0x65 reach; placed at spark-mandrill entry 94 and sigma-3 entry 36: the SM stage's only 84:A677 id, and its sigma-3 rematch placement. Runtime coverage (E35): ran in 3 verified runs (sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 5,436 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x32 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x32 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAAB, main 83:CF70 (census label mechVile). Owning feature: boss.vile-intro (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (intro-highway_1_15577), 2,257 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x33 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x33 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAB0, main 88:A382 (census label zero). Owning feature: boss.vile-intro. E36: created by 0x32 in the opening; writes $1F9B = 4 at 88:A700 (B2: ends the opening); also placed in sigma-1 (sites 83:D78A JSL.L loadEnitySlotBase; 83:D793 LDA.B #$33; 83:D795 STA.W $000A,X; 88:A700 STA.W w_intro_levelClearFlag; placed at sigma-1 entries 2, 3); 0x32 is boss.vile-intro's owner (B2); alternative owner for the sigma-1 scene: campaign.intro-story. The parent's census row (census.0x32.ownership) is verified with owner boss.vile-intro. Coordinator decision (2026-09-25 14:05): linked to boss.vile-intro, as E36 chose; campaign.intro-story is noted as the alternative owner. Runtime coverage (E35): ran in 4 verified runs (armored-armadillo_1_15055, flame-mammoth_2_30151, intro-highway_1_15577, sigma1-zero-arm_2_35588), 3,819 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x34 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x34 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAB5, main 83:D85C (census label cragMan). Owning feature: enemy.oid_34 (granular-v3 feature, L18; members 0x34); E36: shootable; placed (stage lists). Runtime coverage: ran in 2 verified runs (sting-chameleon-auto_1_5497, sting-chameleon_1_25606), 2,923 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_34 with redistributed weight (17 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x35 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x35 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FABA, main 83:DB9B (census label metalWing). Owning feature: enemy.oid_35 (granular-v3 feature, L18; members 0x35); E36: shootable; placed (stage lists). Runtime coverage: ran in 1 verified runs (armored-armadillo_1_15055), 2,882 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_35 with redistributed weight (17 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x36 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x36 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FABF, main 83:DD67 (census label jamminger). Owning feature: enemy.oid_36 (granular-v3 feature, L18; members 0x36); E36: shootable; placed (stage lists). Runtime coverage: ran in 7 verified runs (boomer-kuwanger_1_40070, chill-penguin-new-game_1_21068, chill-penguin_2_19010, intro-highway_1_15577, items-collection_2_15104, sigma1-zero-arm_2_35588, sting-chameleon_1_25606), 4,697 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_36 with redistributed weight (37 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x37 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x37 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAC4, main 87:A45F (census label hotarion). Owning feature: enemy.oid_37 (granular-v3 feature, L18; members 0x37); E36: shootable; placed (stage lists). Runtime coverage: ran in 2 verified runs (spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 1,777 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_37 with redistributed weight (25 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x38 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-10-16 (L273; David delegated the decision: "faz o que faz sentido com o flamers"): type and table: OID 0x38, 83 observed births, all traced to 83:F174/83:E054/83:E104 and through finder-0 0x0F to Storm Eagle's finder-2 0x04 stage controllers (81:FB38, 81:F976/81:F9A8) (O3, census_0x38_0x4a_2026-09-26.json). Owner: stage.storm-eagle.terrain (local collisions and hazards), by S31's decision 2 (owner by behaviour, an existing feature, no new family) and decisions 3 and 4 (a child inherits its creator's feature), like the 0x42/0x43 lasers. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/stages/storm-eagle/spawn_census.json · knowledge_base/mmx1/rom/census_0x38_0x4a_2026-09-26.json · tools/tests/test_census_0x38_0x4a.py · docs/tasks/done/S31-population-owners-by-creator.md · docs/tasks/done/AU1a-audit-steps-with-three-cards.md

Census object 0x39 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    ROM-first mode (card L5): table 80F8DD id 0x39 = eventID_conveyor_39_main 83:E1BC (census label conveyor; reads X's position at 83:E2A4, stores X's y at 83:E325, calls update_player_Yspd at 83:E3B9); placed only in FM (list 85:8EBE, 4, param 0). Owner: object.conveyors-water. Coverage: E32 400 of 4,649 calls exact, K8 30,150 of 30,150 frames equal, V6 4 of 4 placements on screen, every on-screen frame exact.

    knowledge_base/mmx1/rom/census_annotated_2026-09-23.json · knowledge_base/mmx1/rom/handler_gate_flame-mammoth_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json

Census object 0x3A — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x3A of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAD3, main 83:E404 (census label tomBot). Owning feature: enemy.oid_57 (granular-v3 feature, L18; members 0x57, 0x3A); E36: shootable; placed in CP, also made by 0x57. Runtime coverage: ran in 2 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010), 538 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_57 with redistributed weight (22 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x3B — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x3B of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAD8, main 87:A9DF (census label ladderJadder). Owning feature: enemy.oid_3b (granular-v3 feature, L18; members 0x3B); E36: shootable; placed (stage lists). Runtime coverage: ran in 2 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104), 3,747 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_3b with redistributed weight (15 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x3C — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-26 (card S31, creator trace over 27 WRAM-equal whole takes; L16's rule): type and table: OID 0x3C of 80:F8DD mainEventTable (JMP 80:D544), stub 80FADD, main 87:ABA3 (census label textBoxFace). Owning feature: boss.vile-fortress, boss.vile-intro and enemy.oid_11, each creator's feature (decision 4: no new points, the row's 3 bp are its classification): 88:D84D called by 0x66 and 0x69, 83:EF10 by 0x67 (boss.vile-fortress); 88:A783 by 0x33, 83:D851 by 0x32 (boss.vile-intro); 88:97AB by 0x1A (enemy.oid_11). Per birth the creator is the caller id alive whose site writes the new object's +$0B (1, 3, table 86:D800 = 4 or 7, table 86:CB0E = 0 or 2, the caller's A). Runtime coverage: ran in 4 verified runs (armored-armadillo_1_15055, flame-mammoth_2_30151, intro-highway_1_15577, sigma1-zero-arm_2_35588) (E35); S31 traced its 20 births in 5 takes (88:D84D by 3:0x66 x6, 83:EF10/88:D84D by 3:0x67 x4, 88:D84D by 3:0x66 x4, 88:A783 by 3:0x33 x3, 88:97AB by 3:0x1A x2, 83:D851 by 3:0x32 x1), WRAM equal on every frame of each. Not a new family: the owners are existing ledger features. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/stage_population_2026-09-26.json · tools/tests/test_stage_population_owners.py · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json

Census object 0x3D — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x3D of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAE2, main 87:ADD8 (census label towerElevator). Owning feature: stage.boomer-kuwanger. E36: stage prop: placed in one stage only, does not reach the enemy hit routine 84:9B43 (placed at boomer-kuwanger entry 31 only; 84:9B43 is bossHealthupdate_hitDetect, reached by all 17 family ids, and an id that does not reach it cannot be damaged); a stage prop goes to the stage (card rule). Prop test (coordinator decision 2026-09-25 14:05): placed in one stage's list only and never reaching 84:9B43, so it cannot be damaged: a one-stage prop, linked to that stage's feature. Runtime coverage (E35): ran in 2 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104), 18,403 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x3F — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x3F of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAEC, main 87:B216 (census label slidePlatform). Owning feature: enemy.oid_3f (granular-v3 feature, L18; members 0x3F); E36: shootable; made by finder-2 emitter 0x1E in BK. Runtime coverage: ran in 2 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104), 26,791 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_3f with redistributed weight (41 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x40 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x40 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAF1, main 87:B443 (census label spring). Owning feature: enemy.oid_40 (granular-v3 feature, L18; members 0x40); E36: shootable; placed (stage lists). Runtime coverage: ran in 1 verified runs (sigma1-zero-arm_2_35588), 1,214 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_40 with redistributed weight (8 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x42 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-26 (card S31, creator trace over 27 WRAM-equal whole takes; L16's rule): type and table: OID 0x42 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FAFB, main 87:B808 (census label laser). Owning feature: stage.boomer-kuwanger.terrain, stage.sigma-1.terrain and stage.sigma-3.terrain, the terrain step of each stage that places it (decision 2): its routines and those of its child 0x43 store nothing to X's position or speed (no carry, conveyor or current; 0x43's 84:9C0E writes X's health, damage). Every 0x42 birth is a placement (slot +$0C = its WRAM record); its only other write, 88:D82E, is finder 1's. Runtime coverage: ran in 4 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma3_2_26312) (E35); S31 traced its 32 births in 5 takes (all 32 placements of the stage lists), WRAM equal on every frame of each. Not a new family: the owners are existing ledger features. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/stage_population_2026-09-26.json · tools/tests/test_stage_population_owners.py · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json

Census object 0x43 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-26 (card S31, creator trace over 27 WRAM-equal whole takes; L16's rule): type and table: OID 0x43 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB00, main 87:B91C (census label 4WayLaser). Owning feature: stage.boomer-kuwanger.terrain, stage.sigma-1.terrain, stage.sigma-3.terrain, the owner of its creator 0x42 (decision 3: a child's owner is its creator's feature). Every birth is made by 0x42 at 87:B8F7 (87:B8EF JSL loadEnitySlotBase, 87:B8F5 LDA #$43), which stores its own slot in +$35 (87:B913 TDC, 87:B914 STA $0035,X); in every birth +$35 names a live 0x42. Runtime coverage: ran in 4 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma3_2_26312) (E35); S31 traced its 82 births in 5 takes (87:B8F7 by 3:0x42 x82), WRAM equal on every frame of each. Not a new family: the owners are existing ledger features. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/stage_population_2026-09-26.json · tools/tests/test_stage_population_owners.py · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json

Census object 0x44 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x44 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB05, main 87:BA72 (census label laserTrap). Owning feature: enemy.oid_44 (granular-v3 feature, L18; members 0x44); E36: shootable; placed (stage lists). Runtime coverage: ran in 4 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, sigma1-zero-arm_2_35588, sigma3_2_26312), 7,148 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_44 with redistributed weight (22 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x46 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x46 of 80:F8DD mainEventTable (its 5 entries in the storm-eagle list are finder 3, enemy slots $0E68, S30's rule), main 87:BC8B (F4 label airPortGasTank, cited by S30). Owning feature: enemy.oid_46 (granular-v3 feature, L18; members 0x46); S30: 5 finder-3 entries in the ROM lists. Runtime coverage: S30 saw 2 of its 5 entries (51, 68) spawn at their ROM position in verified runs (storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), WRAM equal on every frame of each (E35 runs: wram_equal = frames); entries 24, 26, 27 never spawned in a verified run. New family: granular-v3 (L18) added enemy.oid_46 with redistributed weight (7 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x47 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x47 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB14, main 87:BD70 (census label flamePillar). Owning feature: stage.flame-mammoth. E36: stage prop: placed in one stage only, does not reach the enemy hit routine 84:9B43 (placed at flame-mammoth entries 17, 18, 20, 23, 26, 30, 35, 40 only; 84:9B43 is bossHealthupdate_hitDetect, reached by all 17 family ids, and an id that does not reach it cannot be damaged); a stage prop goes to the stage (card rule). Prop test (coordinator decision 2026-09-25 14:05): placed in one stage's list only and never reaching 84:9B43, so it cannot be damaged: a one-stage prop, linked to that stage's feature. Runtime coverage (E35): ran in 4 verified runs (flame-mammoth-arm-capsule_1_13555, flame-mammoth-lava_2_23048, flame-mammoth_2_30151, items-collection_2_15104), 3,578 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x48 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x48 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB19, main 87:C07A (census label deathRogumerPlatform). Owning feature: stage.storm-eagle. E36: stage prop: placed in one stage only, does not reach the enemy hit routine 84:9B43 (placed at storm-eagle entry 97 only; 84:9B43 is bossHealthupdate_hitDetect, reached by all 17 family ids, and an id that does not reach it cannot be damaged); a stage prop goes to the stage (card rule). Prop test (coordinator decision 2026-09-25 14:05): placed in one stage's list only and never reaching 84:9B43, so it cannot be damaged: a one-stage prop, linked to that stage's feature. Runtime coverage (E35): ran in 2 verified runs (storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 3,407 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x4A — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-26 O3: all 114 observed births in S31's 27 WRAM-equal takes traced to 84:A455 and their creator slots: enemy.oid_5b 66 (87:ECFE -> es:0x25 -> 83:AE3A), boss.submarine 45 (0x4B, 87:C8D8), enemy.se_drone 3 (0x49, 87:C555). The 0x5B shot creation copies spawn coordinates through +$36/+$38 but never writes +$0C; S31's seven enemy.oid_17 owners were stale-pointer matches. S31 decisions 3-4 permit multiple creator features to share this classification. Existing families only; no family credit duplicated. Bound: unique ROM-write/state-transition matches in the observed end-frame census, not unobserved transient lives.

    knowledge_base/mmx1/stages/launch-octopus/spawn_census.json · knowledge_base/mmx1/rom/census_0x38_0x4a_2026-09-26.json · tools/tests/test_census_0x38_0x4a.py · docs/tasks/done/S31-population-owners-by-creator.md

Census object 0x4B — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x4B of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB28, main 87:C75E (census label CruizilerMissle). Owning feature: boss.submarine through 0x28: E36 names 0x4B the shot of 0x28 (creation site 82:D9BC, LDA #$4B, STA $000A,X) and its owner follows 0x28's, decided here for census.0x28. Runtime coverage: ran in 1 verified runs (launch-octopus-and-sting-flooded_2_38342), 13,688 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). Not a new family: boss.submarine is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x4C — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    ROM-first mode (card L5): table 80F8DD id 0x4C = eventID_lavaDrip_4c_main 87:C994 (census label lavaDrip; calls findEnemyShotEmptySlot and shuffleGetRNG); placed only in FM (list 85:8EBE, 6, param 0). Owner: object.conveyors-water (environmental hazard). Coverage: E32 400 of 3,610 calls exact, K8 30,150 of 30,150 frames equal, V6 6 of 6 placements on screen, every on-screen frame exact.

    knowledge_base/mmx1/rom/census_annotated_2026-09-23.json · knowledge_base/mmx1/rom/handler_gate_flame-mammoth_2026-09-23.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json

Census object 0x4D — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x4D of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB32, main 87:CA7B (census label lightCapsule). Owning feature: the upgrade capsule group upgrade.boots, upgrade.helmet, upgrade.body, upgrade.arms and object.hadouken. E36: upgrade capsule: tests w_player_upgradeMask with its index bit, beam-upgrade action table (sites 87:CAB9 LDY.W upgradeCabsleIndexValues,X; 87:CABF AND.W w_player_upgradeMask; 87:CCB4 JMP.W (capsle_4d_do_beamUpgrade,X)); the capsule 0x4D is placed at armored-armadillo entry 108, flame-mammoth entry 15, storm-eagle entry 77 and chill-penguin entry 30; one capsule id serves the five capsule features; the coordinator picks the row's owner. Coordinator decision (2026-09-25 14:05): the capsule is one object shared by upgrade.boots, upgrade.helmet, upgrade.body, upgrade.arms and object.hadouken, picked by its capsule index (87:CAB9-87:CABF), so this row links to that group of five features. Runtime coverage (E35): ran in 8 verified runs (armored-armadillo_1_15055, chill-penguin-new-game_1_21068, chill-penguin_2_19010, flame-mammoth-arm-capsule_1_13555, flame-mammoth_2_30151, sting-chameleon_1_25606, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 8,904 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owners are existing ledger features. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x4E — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x4E of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB37, main 87:D012 (census label CruizilerLightning). Owning feature: the upgrade capsule group upgrade.boots, upgrade.helmet, upgrade.body, upgrade.arms and object.hadouken. E36: child of the capsule 0x4D, not shootable (sites 87:CED0 JSL.L loadEnitySlotBase; 87:CED9 LDA.B #$4E; 87:CEDB STA.W $000A,X); follows 0x4D. Coordinator decision (2026-09-25 14:05): the capsule is one object shared by upgrade.boots, upgrade.helmet, upgrade.body, upgrade.arms and object.hadouken, picked by its capsule index (87:CAB9-87:CABF), so this row links to that group of five features. Runtime coverage (E35): ran in 4 verified runs (chill-penguin-new-game_1_21068, flame-mammoth-arm-capsule_1_13555, sting-chameleon_1_25606, storm-eagle-and-spark-dark_2_25920), 333 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owners are existing ledger features. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x4F — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x4F of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB3C, main 87:D119 (census label rollingGabyool). Owning feature: enemy.oid_4f (granular-v3 feature, L18; members 0x4F); E36: shootable; placed (stage lists). Runtime coverage: ran in 2 verified runs (flame-mammoth-lava_2_23048, flame-mammoth_2_30151), 7,103 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_4f with redistributed weight (20 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x52 — identity and coverage✓ Done0.03 / 0.03%
  • Classify and prove object coverage0.03%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x52 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB4B, main 87:D85C (census label stormEagle). Owning feature: boss.storm-eagle (only enemy ids active at $1F0C f14464 of storm-eagle-and-spark-dark, knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json). Runtime coverage: ran in 3 verified runs (sigma2_2_41296, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 12,871 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json

Census object 0x57 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x57 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB64, main 87:E354 (census label igloo). Owning feature: enemy.oid_57 (granular-v3 feature, L18; members 0x57, 0x3A); E36: shootable; placed in CP, makes 0x3A. Runtime coverage: ran in 2 verified runs (chill-penguin-new-game_1_21068, chill-penguin_2_19010), 1,696 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_57 with redistributed weight (22 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x58 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x58 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB69, main 87:E547 (census label ). Owning feature: enemy.oid_59 (granular-v3 feature, L18; members 0x59, 0x58, 0x5A); E36: shootable child of 0x59. Runtime coverage: ran in 2 verified runs (storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 57 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_59 with redistributed weight (20 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x59 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x59 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB6E, main 87:E7D4 (census label longPillar). Owning feature: enemy.oid_59 (granular-v3 feature, L18; members 0x59, 0x58, 0x5A); E36: shootable; placed once in SE, makes 0x58 and 0x5A. Runtime coverage: ran in 2 verified runs (storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 759 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_59 with redistributed weight (20 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x5A — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x5A of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB73, main 87:EB09 (census label ). Owning feature: enemy.oid_59 (granular-v3 feature, L18; members 0x59, 0x58, 0x5A); E36: shootable child of 0x59 (and of itself). Runtime coverage: ran in 2 verified runs (storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058), 757 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_59 with redistributed weight (20 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x5B — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x5B of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB78, main 87:EBFE (census label megaTortoise). Owning feature: enemy.oid_5b (granular-v3 feature, L18; members 0x5B); E36: shootable; placed (stage lists). Runtime coverage: ran in 8 verified runs (boomer-kuwanger_1_40070, items-collection_2_15104, launch-octopus-and-sting-flooded_2_38342, launch-octopus-auto_1_4717, sigma1-zero-arm_2_35588, sigma3_2_26312, spark-mandrill_1_27368, storm-eagle-and-spark-dark_2_25920), 8,273 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_5b with redistributed weight (31 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x5C — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x5C of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB7D, main 88:A793 (census label rangdaBangdaWall). Owning feature: the upgrade capsule group upgrade.boots, upgrade.helmet, upgrade.body, upgrade.arms and object.hadouken. E36: child of the capsule 0x4D (and of itself), not shootable (sites 87:CFEA JSL.L loadEnitySlotBase; 87:CFF3 LDA.B #$5C; 87:CFF5 STA.W $000A,X; 88:A953 JSL.L loadEnitySlotBase; 88:A95C LDA.B #$5C; 88:A95E STA.W $000A,X); follows 0x4D. Coordinator decision (2026-09-25 14:05): the capsule is one object shared by upgrade.boots, upgrade.helmet, upgrade.body, upgrade.arms and object.hadouken, picked by its capsule index (87:CAB9-87:CABF), so this row links to that group of five features. Runtime coverage (E35): ran in 4 verified runs (chill-penguin-new-game_1_21068, flame-mammoth-arm-capsule_1_13555, sting-chameleon_1_25606, storm-eagle-and-spark-dark_2_25920), 5,382 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owners are existing ledger features. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/sfx_ae_af_witness_2026-10-10_r112.json

Census object 0x5D — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x5D of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB82, main 88:A985 (census label rangdaBangdaEye). Owning feature: boss.rangda-bangda (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma2_2_41296), 13,105 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x5E — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x5E of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB87, main 88:AE0B (census label rangdaBangdaMouth). Owning feature: boss.rangda-bangda (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma2_2_41296), 18,436 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x5F — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x5F of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB8C, main 88:B216 (census label rangdaBangdaWallSide). Owning feature: boss.rangda-bangda (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma2_2_41296), 10,592 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x60 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x60 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB91, main 88:B452 (census label rexHead). Owning feature: boss.rangda-bangda (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma2_2_41296), 2,550 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x61 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x61 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB96, main 88:B689 (census label rexBase). Owning feature: boss.d-rex (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma3_2_26312), 5,262 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x62 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x62 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FB9B, main 88:BF48 (census label spiderBoss). Owning feature: boss.d-rex (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma3_2_26312), 5,471 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x63 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x63 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FBA0, main 82:DB7D (census label prisonCapsule). Owning feature: boss.bospider (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma1-zero-arm_2_35588), 11,656 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x64 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L16, from E36 and E35): type and table: OID 0x64 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FBA5, main 87:ED8D (census label sigmaHead). Owning feature: stage.sigma-1. E36: stage prop: placed in one stage only, does not reach the enemy hit routine 84:9B43 (placed at sigma-1 entries 49, 54 only; 84:9B43 is bossHealthupdate_hitDetect, reached by all 17 family ids, and an id that does not reach it cannot be damaged); a stage prop goes to the stage (card rule). Prop test (coordinator decision 2026-09-25 14:05): placed in one stage's list only and never reaching 84:9B43, so it cannot be damaged: a one-stage prop, linked to that stage's feature. Runtime coverage (E35): ran in 1 verified run (sigma1-zero-arm_2_35588), 2,399 slot-frames, WRAM equal on every frame (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · tools/tests/test_census_owners.py · docs/tasks/done/E36-census-owners.md · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

Census object 0x65 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x65 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FBAA, main 88:C3B2 (census label zeroStage1). Owning feature: boss.sigma-humanoid (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma4-final-not-beaten_2_37016), 29,151 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x66 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x66 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FBAF, main 88:D1B8 (census label VileMech). Owning feature: boss.vile-fortress (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma1-zero-arm_2_35588), 8,325 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x67 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x67 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FBB4, main 83:E7E1 (census label creeperHole). Owning feature: boss.vile-fortress (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma1-zero-arm_2_35588), 3,415 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x68 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x68 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FBB9, main 88:D8A9 (census label vile). Owning feature: enemy.oid_6a (granular-v3 feature, L18; members 0x6A, 0x68); E36: not shootable; placed at sigma-4 entries 0 and 4; after a $64-frame count makes 0x6A when no 0x6A is active. Runtime coverage: ran in 1 verified runs (sigma4-final-not-beaten_2_37016), 2,757 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_6a with redistributed weight (19 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x69 — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x69 of 80:F8DD mainEventTable (JMP 80:D544), stub 80FBBE, main 88:DADA (census label wallCreeper). Owning feature: boss.vile-fortress (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma1-zero-arm_2_35588), 2,733 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Census object 0x6A — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L19, from E35, E36 and S30 on granular-v3): type and table: OID 0x6A of 80:F8DD mainEventTable (JMP 80:D544), stub 80FBC3, main 88:D942 (census label vileFinalForm). Owning feature: enemy.oid_6a (granular-v3 feature, L18; members 0x6A, 0x68); E36: shootable; made by 0x68. Runtime coverage: ran in 1 verified runs (sigma4-final-not-beaten_2_37016), 1,680 slot-frames, WRAM equal on every frame of each (E35 runs: wram_equal = frames) (E35). New family: granular-v3 (L18) added enemy.oid_6a with redistributed weight (19 bp) before this closure. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · tools/tests/test_enemy_evidence.py · tools/tests/test_census_owners.py

Census object 0x6B — identity and coverage✓ Done0.02 / 0.02%
  • Classify and prove object coverage0.02%
    ✓ Verified

    Identify type and table; link its owning feature; prove runtime coverage or source-backed non-applicability. If a new family, add it with redistributed weight before closure.

    Technical details

    2026-09-25 (card L15, from E35): type and table: OID 0x6B of 80:F8DD mainEventTable (JMP 80:D544), stub 80FBC8, main 88:E546 (census label ). Owning feature: boss.sigma-final (B2 knowledge_base/mmx1/rom/boss_identity_2026-09-25.json). Runtime coverage: ran in 1 verified runs (sigma4-final-not-beaten_2_37016), 2,380 slot-frames, WRAM equal on every frame of each (V12 wram_equal = frames + 1). Not a new family: its owner is an existing ledger feature. Completeness audit only: the owner's own steps are not credited here.

    knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · tools/tests/test_enemy_evidence.py · docs/tasks/done/E35-enemy-evidence-from-whole-takes.md · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json

Bosses and minibosses

95 of 139 steps17.14 / 18%Items done: 1 of 23
Chill Penguin5 of 6 steps0.78 / 0.79%
  • Campaign entrance and activation0.14%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-24 (card L3), ROM-first mode (megaman-x.exe --rom-first): the boss entrance of the CP recording (position and arena, doors, intro, control lock and release, camera, HP fill) equals the original's WRAM on every frame (K8, 19,009 of 19,009) and is pixel-exact (V5: 19,006 of 19,008 frames, boss section 6,503 of 6,504; the two others, f146 in the stage intro and f16877 late in the boss section, are LakeSnes per-line limits); OID 0x02's generated handler exact on 400 of 400 gated calls (E30). Music: the exe plays the game's own sound driver on LakeSnes's SPC700/DSP (A5: --record-wav equals apu_gate's WAV byte for byte on the f1044..2400 window); David accepted the ROM-first sound (work order D9). Bound: the one recorded entrance; the entrance after a player defeat belongs to outro.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · knowledge_base/mmx1/rom/handler_gate_chill-penguin_2026-09-23.json · docs/tasks/done/A5-dsp-audio-stream-exe.md · docs/plans/2026-09-23-work-order.md · tests/cpp/rom_first_audio_test.cpp · tools/tests/test_rom_frame_gate.py · tools/tests/test_rom_ppu_gate.py

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-09-26 (card L31, B3's KB boss_evidence_2026-09-26.json, decision 1), ROM-first mode: chill-penguin (id 0x02), state table 81:B516 (eventID_chillPingu_01_main). States seen 28 of 28, picture-exact on the first frame of every state. Takes: chill-penguin-death-branch_2_16352, chill-penguin-new-game_1_21068. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/tests/test_boss_evidence.py · docs/tasks/done/B3-maverick-boss-evidence.md · docs/tasks/done/L31-ledger-maverick-attacks.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-09-26 (card L31, B3's KB boss_evidence_2026-09-26.json, decision 2), ROM-first mode: chill-penguin (id 0x02) selection: outcomes seen 33 of 33 across 47 branches in the picking handlers; RNG sites 81:C021. Takes: chill-penguin-death-branch_2_16352, chill-penguin-new-game_1_21068, sigma2_2_41296. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/tests/test_boss_evidence.py · docs/tasks/done/B3-maverick-boss-evidence.md · docs/tasks/done/L31-ledger-maverick-attacks.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-09-26 (card B7 docs/tasks/done/B7-damage-take-divergence.md, reducing B6's hunt knowledge_base/mmx1/rom/boss_damage_hunt_2026-09-26.json over B3's KB boss_evidence_2026-09-26.json), ROM-first mode: chill-penguin (id 0x02) damage matrix whole, 17 of 17 cases seen and equal (X.BUSTER and the eight weapons, normal/charged). Rule (B3 decision 3 + B4 + B7): byte = 86:EF37 + word[86:EF37 + 2*row] + shot id; the row is the +$28 read on the frame BEFORE the HP drop, except when only the hit frame's row explains the result (the fight state wrote +$28 inside the hit frame before 84:9E23 read it) — none of the 17 chill-penguin cases needed that exception. $80 = shot deflected (84:9E45 LDA / 84:9E48 BPL tests bit 7 -> JSR (84:9EEA) -> 84:9EEE, SFX $10, no SBC); byte 0 = SBC 0 at 84:9E73, HP kept; both EQUAL the table. Charged C.STING (shot $11) has no hit case in the ROM: 83:9B8C writes the object's +$30 = 2 and the boss hit loop skips any shot with +$30 != 0 at 84:9B5F, never reaching 84:9E15/84:9E3A; excluded from the matrix (18 combinations - 1 = 17 cases). Takes: B3 (chill-penguin_2_19010, chill-penguin-new-game_1_21068, sigma2_2_41296, 14 of 17 cases, 60 of 60 hits equal the table) and the B6/B7 hunt (b6-cp-x-buster-normal-hunt, b6-cp-r-shield-charged-hunt, b6-cp-e-spark-charged-hunt, the remaining 3 cases, WRAM-equal on every frame of each take, pixels exact). Bound: named weaknesses and per-shot attack interrupts remain under separate review where their attribution is not this same damage table.

    knowledge_base/mmx1/rom/boss_damage_hunt_2026-09-26.json · knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/oracle/post/reduce_hunt_damage.py · tools/tests/test_reduce_hunt_damage.py · docs/tasks/done/B6-maverick-damage-hunt.md · docs/tasks/done/B7-damage-take-divergence.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-26 (card L30, R16's KB with L8's residual rule), ROM-first mode (megaman-x.exe --rom-first): branch take chill-penguin-death-branch, the chill-penguin take's savestate and lines 1..10941 then crafted inputs (none until X's defeat, then R16's goal search back to the boss door; tools/oracle/branch_take.py), WRAM equal on all 16,351 frames, frame gate whole. The boss (id 0x02) defeats X at f15539 (health 0, action $0C), lives 2->1 at f15737, X is back at checkpoint 2 at f15776 and the encounter is restored (0x02 active again at f16231); pictures under Mesen2's PPU exact on those frames and on the whole span f15539..16231 (693 of 693). Defeat and handoff in chill-penguin-new-game (WRAM equal 21068 of 21068): defeat (owner HP 0) at f16125, Shotgun Ice gained at f16654, its screens to f17139; pictures exact on 1,017 of 1,019 frames of f16123..17141; the others, f16318, f16674, are picture residuals that belong to the boss's presentation step (L8's rule, as L29; R16 held the step for them). Bound: one player defeat; attacks and sounds belong to the other boss steps.

    knowledge_base/mmx1/rom/branch_deaths_2026-09-26.json · tools/tests/test_branch_deaths.py · tools/oracle/branch_take.py · docs/tasks/done/R16-branch-takes-maverick-deaths.md · docs/tasks/done/L30-ledger-outro-residuals.md

  • Animation, palette and sound0.13%
    ↻ Partial143 of 150 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/chill-penguin/boss.json

Storm Eagle5 of 6 steps0.78 / 0.79%
  • Campaign entrance and activation0.14%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-25 (card L22, from A20), ROM-first mode: Storm Eagle's entrance in the SE recording (position and arena, doors, intro, control lock and release, camera, HP fill) equals the original's WRAM on every frame (K8, 21,058 of 21,058) and its picture under Mesen2's PPU on every frame (V8 and V12, 21,057 of 21,057; boss section, the boss OID 0x52 in an enemy slot, f14860..19519, 4,660 of 4,660; the door passage, checkpoint 2 f14378..14859, equal). Camera check 33 of 35: the original's camera and Mesen's BG1 scroll differ at f4801 and f18601, where our WRAM and picture equal the original's. Music: apu_gate (the game's sound driver on LakeSnes's SPC700/DSP, started from Mesen2's SPC state) equals the original on f14013..19223, 5,211 of 5,211 frames, every port read at the same instruction (51,246 of 51,246, A20 after A16-A19), from 847 frames before the boss enters its slot, through the door, intro and HP fill. Bound: the one recorded entrance; the entrance after a player defeat belongs to death and return.

    knowledge_base/mmx1/rom/apu_se_refresh_2026-09-25.json · knowledge_base/mmx1/rom/apu_early_read_2026-09-25.json · knowledge_base/mmx1/rom/apu_handshake_stops2_2026-09-25.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · tools/rom/apu_gate.py · tools/rom/ppu_gate.py · docs/tasks/done/A20-se-refresh-placement.md · tools/tests/test_apu_gate_start_state.py · tools/tests/test_rt_apu_port_visibility.py · tools/tests/test_rom_frame_gate.py · tools/tests/test_rom_ppu_gate.py

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-09-26 (card L31, B3's KB boss_evidence_2026-09-26.json, decision 1), ROM-first mode: storm-eagle (id 0x52), state table 87:D85C (eventID_stormEagle_52_main). States seen 18 of 18, picture-exact on the first frame of every state. Takes: sigma2_2_41296, storm-eagle_1_21058. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/tests/test_boss_evidence.py · docs/tasks/done/B3-maverick-boss-evidence.md · docs/tasks/done/L31-ledger-maverick-attacks.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-10-01: the last part, 52:choice:14 (87:DC89/87:DCC0), seen in se-bc f21657, slot 0E68 (B18 transition rule). Every catalogue part seen.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/storm-eagle/boss.json · knowledge_base/mmx1/rom/take_credits_2026-10-01.json

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-09-26 (L33, after K18 d8f08f9bb; G5 format), ROM-first: storm-eagle (id 0x52) damage matrix whole, 17 of 17 cases seen and equal, 0 stops. B3 decision 3 + B4 + B7: byte = 86:EF37 + word[86:EF37 + 2*row] + shot id; row is +$28 on the frame BEFORE the HP drop, except when only the hit-frame row explains the outcome (the fight wrote +$28 before 84:9E23 read it). None of these hunt cases needed that exception. $80 = deflected (84:9E48 -> 84:9EEE, SFX $10, no SBC); byte 0 = SBC 0 at 84:9E73, HP kept; both equal the table. Charged C.STING (shot $11) has no hit case: 83:9B8C sets +$30=2; 84:9B5F skips shots with +$30!=0 before 84:9E15/84:9E3A; excluded (18 combinations - 1 = 17). B3: 10/17 cases, 63/63 hits equal; first-hit takes: sigma2_2_41296, storm-eagle-and-spark-dark_2_25920, storm-eagle_1_21058. B6/B7/K18: the remaining 7 cases, WRAM-equal on every frame of each take: b6-se-x-buster-normal-hunt, b6-se-r-shield-charged-hunt, b6-se-storm-t-normal-hunt, b6-se-storm-t-charged-hunt, b6-se-e-spark-charged-hunt, b6-se-b-cutter-charged-hunt, b6-se-s-ice-charged-hunt. Pixels: six hunt takes each still differ at f6893; only X.BUSTER normal is pixel-exact. This credits the WRAM/table-proven damage matrix; picture equality remains open. Bound: named weaknesses and per-shot attack interrupts remain under separate review where their attribution is not this same damage table.

    knowledge_base/mmx1/rom/boss_damage_hunt_2026-09-26.json · knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/oracle/post/reduce_hunt_damage.py · tools/tests/test_reduce_hunt_damage.py · docs/tasks/done/B6-maverick-damage-hunt.md · docs/tasks/done/B7-damage-take-divergence.md · docs/tasks/done/K18-capture-interval-split.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-10-01: defeat/explosions through the next owner already seen (B22); player defeat and restored encounter in David's se-bc take: X falls in a pit during the 0x52 fight (f16755, f20328, f22009), returns to checkpoint 2 and 0x52 is active again (f17450, f21033, f22752). L7/L8 rule.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/storm-eagle/boss.json · knowledge_base/mmx1/rom/take_credits_2026-10-01.json

  • Animation, palette and sound0.13%
    ↻ Partial170 of 174 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/storm-eagle/boss.json

Flame Mammoth6 of 7 steps0.78 / 0.79%

Images and behavior

Project artwork; a still image does not prove behavior.

A behavior capture is not available for this entry yet. The thumbnail above only shows the artwork.

  • Encounter reachable through doors0.05%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    A4-FM-REVIEW/PATH: reachable generic encounter; original intro and AI remain open.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/flame-mammoth/boss.json

  • Campaign entrance and activation0.09%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-25 (card L14, from A16), ROM-first mode: Flame Mammoth's entrance in the FM recording (position and arena, doors, intro, control lock and release, camera, HP fill) equals the original's WRAM on every frame (K8, 30,150 of 30,150) and its picture under Mesen2's PPU on every frame (V8, 30,149 of 30,149; boss section f24276..28063, 3,788 of 3,788; camera check 49 of 50, the one mismatch at f16802, before the boss). Music: apu_gate (the game's sound driver on LakeSnes's SPC700/DSP, started from Mesen2's SPC state) equals the original on f24121..27763, 3,643 of 3,643 frames, every port read at the same instruction (52,211 of 52,211), from 155 frames before the boss (0x0C) enters its slot at f24276 through its intro and HP fill (A16). Bound: the one recorded entrance; f23933..24120 (checkpoint 2, before the sound window) is gated by WRAM and pictures only; the entrance after a player defeat belongs to outro.

    knowledge_base/mmx1/rom/apu_early_read_2026-09-25.json · knowledge_base/mmx1/rom/apu_gate_clocked_2026-09-24.json · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_2026-09-24.json · docs/tasks/done/A16-spc-early-port-read-8736.md · tools/rom/apu_gate.py · tools/tests/test_apu_gate_start_state.py · tools/tests/test_rt_apu_port_visibility.py · tools/tests/test_rom_frame_gate.py · tools/tests/test_rom_ppu_gate.py

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-09-26 (card L31, B3's KB boss_evidence_2026-09-26.json, decision 1), ROM-first mode: flame-mammoth (id 0x0C), state table 87:91A7 (eventID_mammoth_0c_main). States seen 16 of 16, picture-exact on the first frame of every state. Takes: flame-mammoth-lava_2_23048. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/tests/test_boss_evidence.py · docs/tasks/done/B3-maverick-boss-evidence.md · docs/tasks/done/L31-ledger-maverick-attacks.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-09-28, B10, ROM-first, B8/W37 + seeded_start rule: 35/35 parts seen. Last part: b10-fm-selection-24-hunt, frame 575, same owner slot and the KB handler write group; T2 retained, WRAM 692 of 692, pictures 691 of 691. Only the two RNG bytes changed to a reachable state. Entry, defeat and sounds remain outside this step.

    knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/tests/test_boss_evidence.py · tools/tests/test_seeded_boss.py · docs/tasks/done/B10-seeded-boss-scale.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-09-26 (L33, after K18 d8f08f9bb; G5 format), ROM-first: flame-mammoth (id 0x0C) damage matrix whole, 17 of 17 cases seen and equal, 0 stops. B3 decision 3 + B4 + B7: byte = 86:EF37 + word[86:EF37 + 2*row] + shot id; row is +$28 on the frame BEFORE the HP drop, except when only the hit-frame row explains the outcome (the fight wrote +$28 before 84:9E23 read it). None of these hunt cases needed that exception. $80 = deflected (84:9E48 -> 84:9EEE, SFX $10, no SBC); byte 0 = SBC 0 at 84:9E73, HP kept; both equal the table. Charged C.STING (shot $11) has no hit case: 83:9B8C sets +$30=2; 84:9B5F skips shots with +$30!=0 before 84:9E15/84:9E3A; excluded (18 combinations - 1 = 17). B3: 10/17 cases, 131/131 hits equal; first-hit takes: flame-mammoth-lava_2_23048, flame-mammoth_2_30151, sigma3-cs-death-weapons-branch_2_23162. B6/B7/K18: the remaining 7 cases, WRAM-equal on every frame of each take: b6-fm-h-torpedo-charged-hunt, b6-fm-r-shield-charged-hunt, b6-fm-f-wave-charged-hunt, b6-fm-e-spark-charged-hunt, b6-fm-b-cutter-normal-hunt, b6-fm-b-cutter-charged-hunt, b6-fm-s-ice-charged-hunt. All these hunt takes are pixel-exact. Bound: named weaknesses and per-shot attack interrupts remain under separate review where their attribution is not this same damage table.

    knowledge_base/mmx1/rom/boss_damage_hunt_2026-09-26.json · knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/oracle/post/reduce_hunt_damage.py · tools/tests/test_reduce_hunt_damage.py · docs/tasks/done/B6-maverick-damage-hunt.md · docs/tasks/done/B7-damage-take-divergence.md · docs/tasks/done/K18-capture-interval-split.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-24 (card L7), ROM-first mode (megaman-x.exe --rom-first): David's FM recording with lava (R6, WRAM 23,047 of 23,047 frames equal): Flame Mammoth (finder 3 id 0x0C, trunk 0x0E) defeats X at checkpoint 2 (health 4->0 at f16012, lives 2->1 at f16235) and the encounter is restored (0x0C at f16809, 0x0E at f16910); its defeat ($1F0C at f20359), its slot until f20893, Fire Wave's slot set at f20894 (R6) and the post-boss screens ($1F7A 30, f21544..21566) follow. Pictures under Mesen2's PPU exact on f16010..16912 (903 of 903) and f20357..21568 (1,212 of 1,212); five fight frames differ (f13700, f13727, f14042, f14196, f17344; class other). The older FM recording's defeat and exit as L4 cited them (K8, V6). Bound: one player defeat; attacks and sounds belong to the other boss steps.

    knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · tools/tests/test_intake_david_0924.py · docs/tasks/done/R6-intake-david-recordings-0924.md · knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json

  • Animation, palette and sound0.13%
    ↻ Partial162 of 169 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/flame-mammoth/boss.json

Spark Mandrill5 of 6 steps0.78 / 0.79%
  • Campaign entrance and activation0.14%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-26 (card A26 round 5, after A25, A18-A24 and V15), ROM-first mode: Spark Mandrill's entrance in the SM recording (position and arena, doors, intro, control lock and release, camera, HP fill) equals the original's WRAM on every frame (V12, 27,368 of 27,368) and its picture under Mesen2's PPU (V12, V15, 27,343 of 27,367; its 24 non-exact frames all lie before f23032); boss sections with the boss OID 0x31 in an enemy slot inside the window: f23244..25411 2,168 of 2,168; the door passage, checkpoint 2 f23032..23243, equal. Camera check 453 of 456 (V15). Music: apu_gate (the game's sound driver on LakeSnes's SPC700/DSP, started from Mesen2's SPC state) equals the original on f23032..25471, 2,440 of 2,440 frames, every port read at the same instruction (52,645 of 52,645), from 212 frames before the boss enters its slot, through the door, intro and HP fill. Bound: the recorded entrance in this take.

    knowledge_base/mmx1/rom/apu_boss_door_2026-09-26.json · knowledge_base/mmx1/rom/ppu_boss_sections_2026-09-26.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · tools/rom/apu_gate.py · tools/rom/ppu_gate.py · tools/tests/test_apu_gate_start_state.py · tools/tests/test_ppu_boss_sections.py · tools/tests/test_rom_ppu_gate.py · tools/tests/test_apu_gate_spc_start_pending_accesses.py

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-10-12 (L78, card H31): 30 of 30 attack parts of Spark Mandrill seen. The last, 31:fight:21 (+01=04 +02=08), is witnessed by equality (ledger rule 13, revision 2026-10-12-equality-witness): H30's hunter take h30-sm-m3-493-l-hunt holds it at frames 527-558 in the original and our port's WRAM is equal at frames 2-558, 557 of 557, no tolerance (knowledge_base/mmx1/rom/equality_witnesses_2026-10-12_h31.json). Seen: knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json#/steps/boss.spark-mandrill.attacks/witnessed (29 witnessed of the map total 30, knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.spark-mandrill.attacks/summary/total); read at git af0352d26; plus 1 parts 31:fight:21 per knowledge_base/mmx1/rom/equality_witnesses_2026-10-12_h31.json#/rows/boss.spark-mandrill.attacks/parts.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/spark-mandrill/boss.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/equality_witnesses_2026-10-12_h31.json · docs/tasks/done/H31-equality-witness-tool-and-pilot.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-10-12 (L106, card H30): 30 of 30 selection parts of Spark Mandrill seen. The 28 earlier parts and 31:choice:22 and 31:choice:23: knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json#/steps/boss.spark-mandrill.selection/witnessed (28 witnessed of the map total 30, knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.spark-mandrill.selection/summary/total); read at git fc9935676; plus 2 parts 31:choice:22, 31:choice:23 per knowledge_base/mmx1/rom/boss_hunts_2026-10-12_h30.json#/parts/boss.spark-mandrill.selection. The two new parts come from Mandrill's hit-driven rare state (a charged buster shot that hits him in +02=04 +03=02 puts him in +01=04 +02=08): 20 of 31 XEON hunts reached it, every intake verified N of N; witness take h30-sm-m1-1088-l-hunt (WRAM 2408 of 2408, frame gate 2408 of 2408, frames 2407 of 2407), 31:choice:22 at frame 2260 and 31:choice:23 at frame 2291 (knowledge_base/mmx1/rom/boss_hunts_2026-10-12_h30.json).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/spark-mandrill/boss.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/boss_hunts_2026-10-12_h30.json · docs/tasks/done/H30-hunt-sm-hit-state-and-utuboros-charged.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-09-26 (L33, after K18 d8f08f9bb; G5 format), ROM-first: spark-mandrill (id 0x31) damage matrix whole, 17 of 17 cases seen and equal, 0 stops. B3 decision 3 + B4 + B7: byte = 86:EF37 + word[86:EF37 + 2*row] + shot id; row is +$28 on the frame BEFORE the HP drop, except when only the hit-frame row explains the outcome (the fight wrote +$28 before 84:9E23 read it). None of these hunt cases needed that exception. $80 = deflected (84:9E48 -> 84:9EEE, SFX $10, no SBC); byte 0 = SBC 0 at 84:9E73, HP kept; both equal the table. Charged C.STING (shot $11) has no hit case: 83:9B8C sets +$30=2; 84:9B5F skips shots with +$30!=0 before 84:9E15/84:9E3A; excluded (18 combinations - 1 = 17). B3: 11/17 cases, 97/97 hits equal; first-hit takes: sigma3-cs-death-weapons-branch_2_23162. B6/B7/K18: the remaining 6 cases, WRAM-equal on every frame of each take: b6-sm-h-torpedo-charged-hunt, b6-sm-r-shield-charged-hunt, b6-sm-f-wave-charged-hunt, b6-sm-storm-t-charged-hunt, b6-sm-e-spark-charged-hunt, b6-sm-b-cutter-charged-hunt. All these hunt takes are pixel-exact. Bound: named weaknesses and per-shot attack interrupts remain under separate review where their attribution is not this same damage table.

    knowledge_base/mmx1/rom/boss_damage_hunt_2026-09-26.json · knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/oracle/post/reduce_hunt_damage.py · tools/tests/test_reduce_hunt_damage.py · docs/tasks/done/B6-maverick-damage-hunt.md · docs/tasks/done/B7-damage-take-divergence.md · docs/tasks/done/K18-capture-interval-split.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-26 (card R16, L9's rule), ROM-first mode (megaman-x.exe --rom-first): branch take spark-mandrill-death-branch, the spark-mandrill take's savestate and lines 1..23302 then crafted inputs (none until X's defeat, then R16's goal search back to the boss door; tools/oracle/branch_take.py), WRAM equal on all 25,137 frames, frame gate whole. The boss (id 0x31) defeats X at f24321 (health 0, action $0C), lives 2->1 at f24522, X is back at checkpoint 2 at f24561 and the encounter is restored (0x31 active again at f25016); pictures under Mesen2's PPU exact on those frames (25,112 of 25,136 in the take). Defeat and handoff in spark-mandrill (WRAM equal 27368 of 27368): defeat (owner HP 0) at f24875, Electric Spark gained at f25411, its screens to f25951; pictures exact on f24873..25953 (1,081 of 1,081). Bound: one player defeat; attacks and sounds belong to the other boss steps.

    knowledge_base/mmx1/rom/branch_deaths_2026-09-26.json · tools/tests/test_branch_deaths.py · tools/oracle/branch_take.py · docs/tasks/done/R16-branch-takes-maverick-deaths.md

  • Animation, palette and sound0.13%
    ↻ Partial155 of 161 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/spark-mandrill/boss.json

Armored Armadillo5 of 6 steps0.78 / 0.79%
  • Campaign entrance and activation0.14%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-28 B14, ROM-first recorded entrance in armored-armadillo: all catalogue entry states witnessed; position/arena, doors, intro, controls, camera and HP fill covered by 15055/15055 WRAM entries and 15054/15054 exact pictures. Music: committed A23 full-window gate, 15054/15054 APU frames and 386890/386890 port reads, no uncaptured live reads; WAV hash checked. Current named-take intake and source bindings are in the card Result. Bound: this recorded entrance; player-loss return is separate.

    docs/tasks/done/B14-boss-entry-intakes.md · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · tools/oracle/intake_movie.py · tools/rom/ppu_gate.py · tools/rom/apu_gate.py · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-09-26 (card L31, B3's KB boss_evidence_2026-09-26.json, decision 1), ROM-first mode: armored-armadillo (id 0x14), state table 83:B144 (eventID_armadillo_14_main). States seen 23 of 23, picture-exact on the first frame of every state. Takes: armored-armadillo-death-branch_1_11865, armored-armadillo_1_15055. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/tests/test_boss_evidence.py · docs/tasks/done/B3-maverick-boss-evidence.md · docs/tasks/done/L31-ledger-maverick-attacks.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    B12: 29/29 owner-write groups seen. ROM-cited catalogue corrections; new parts proved by exact events and consecutive owner snapshots, exact intake and T2 retention. See KB catalogue_corrections and B12_reductions.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/armored-armadillo/boss.json · knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-09-28 (coordinator): armored-armadillo damage matrix whole, 17 of 17 cases seen and equal. The last case (H.TORPEDO charged) was re-intaken from f902 (from-S, verified source sigma3_2_26312): WRAM 856/856, pictures 855/855. Rule B3 decision 3 + B4 + B7, as for the others.

    knowledge_base/mmx1/rom/boss_damage_hunt_2026-09-26.json · knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/oracle/post/reduce_hunt_damage.py · tools/tests/test_reduce_hunt_damage.py · docs/tasks/done/B6-maverick-damage-hunt.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-26 (card L30, R16's KB with L8's residual rule), ROM-first mode (megaman-x.exe --rom-first): branch take armored-armadillo-death-branch, the armored-armadillo take's savestate and lines 1..8691 then crafted inputs (none until X's defeat, then R16's goal search back to the boss door; tools/oracle/branch_take.py), WRAM equal on all 11,865 frames, frame gate whole. The boss (id 0x14) defeats X at f11033 (health 0, action $0C), lives 2->1 at f11234, X is back at checkpoint 2 at f11273 and the encounter is restored (0x14 active again at f11747); pictures under Mesen2's PPU exact on those frames and on the whole span f11033..11747 (715 of 715). Defeat and handoff in armored-armadillo (WRAM equal 15055 of 15055): defeat (owner HP 0) at f11646, Rolling Shield gained at f12181, its screens to f12690; pictures exact on 1,045 of 1,049 frames of f11644..12692; the others, f11645, f11887, f12618, f12676, are picture residuals that belong to the boss's presentation step (L8's rule, as L29; R16 held the step for them). Bound: one player defeat; attacks and sounds belong to the other boss steps.

    knowledge_base/mmx1/rom/branch_deaths_2026-09-26.json · tools/tests/test_branch_deaths.py · tools/oracle/branch_take.py · docs/tasks/done/R16-branch-takes-maverick-deaths.md · docs/tasks/done/L30-ledger-outro-residuals.md

  • Animation, palette and sound0.13%
    ↻ Partial154 of 161 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/armored-armadillo/boss.json

Launch Octopus3 of 6 steps0.75 / 0.79%
  • Campaign entrance and activation0.14%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-26 (card A25, after A18-A24 and V15), ROM-first mode: Launch Octopus's entrance in the LO recording (position and arena, doors, intro, control lock and release, camera, HP fill) equals the original's WRAM on every frame (V12, 38,341 of 38,341) and its picture under Mesen2's PPU (V12, V15, 38,340 of 38,340); boss sections with the boss OID 0x07 in an enemy slot inside the window: f19513..22426 2,914 of 2,914, f22959..27407 4,449 of 4,449; the door passage, checkpoint 2 f19278..19512, equal. Camera check 605 of 639 (V15). Music: apu_gate (the game's sound driver on LakeSnes's SPC700/DSP, started from Mesen2's SPC state) equals the original on f19278..27467, 8,190 of 8,190 frames, every port read at the same instruction (248,415 of 248,415), from 235 frames before the boss enters its slot, through the door, intro and HP fill. Bound: the recorded entrances in this take.

    knowledge_base/mmx1/rom/apu_boss_door_2026-09-26.json · knowledge_base/mmx1/rom/ppu_boss_sections_2026-09-26.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · tools/rom/apu_gate.py · tools/rom/ppu_gate.py · tools/tests/test_apu_gate_start_state.py · tools/tests/test_ppu_boss_sections.py · tools/tests/test_rom_ppu_gate.py

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-10-09 (L40, LG6 s2 rule): verified; knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r102.json lists 0 missing and 0 excluded, 23 of 23 parts witnessed (child spawn sites by R102's allocator call captures, records in knowledge_base/mmx1/rom/boss_call_captures_2026-10-09_r102.json); knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json has no open catalogue limit or bound for this step.

    knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r102.json · knowledge_base/mmx1/rom/boss_call_captures_2026-10-09_r102.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/R102-attack-spawn-sites-call-captures.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): David's launch-octopus take (R7, WRAM 38,341 of 38,341 frames equal): the boss (finder 3 id 0x07, the only enemy id active at its defeat and at X's) defeats X at checkpoint 2 (health 1->0 at f22174, lives 2->1 at f22395) and the encounter is restored (0x07 at f22958); its defeat ($1F0C at f26872), its slot until f27406, Homing Torpedo at f27407 and the post-boss screens ($1F7A 27, f28001..28023) follow, then the stage select. Pictures under Mesen2's PPU exact on every frame f19510..28569 (both encounters, X's defeat, the boss's defeat and the exit; 9,060 of 9,060). Bound: one player defeat; attacks and sounds belong to the other boss steps.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Selection, conditions and RNG0.13%
    ↻ Partial21 of 22 parts

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/launch-octopus/boss.json

  • Damage, weaknesses and interruptions0.13%
    ↻ Partial17 of 20 parts

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/launch-octopus/boss.json

  • Animation, palette and sound0.13%
    ↻ Partial276 of 283 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/launch-octopus/boss.json

Boomer Kuwanger4 of 6 steps0.74 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-26 (card A26 round 5, after A25, A18-A24 and V15), ROM-first mode: Boomer Kuwanger's entrance in the BK recording (position and arena, doors, intro, control lock and release, camera, HP fill) equals the original's WRAM on every frame (V12, 40,070 of 40,070) and its picture under Mesen2's PPU (V12, V15, 40,069 of 40,069); boss sections with the boss OID 0x05 in an enemy slot inside the window: f34284..37393 3,110 of 3,110; the door passage, checkpoint 2 f33802..34283, equal. Camera check 663 of 667 (V15). Music: apu_gate (the game's sound driver on LakeSnes's SPC700/DSP, started from Mesen2's SPC state) equals the original on f33802..37453, 3,652 of 3,652 frames, every port read at the same instruction (219,433 of 219,433), from 482 frames before the boss enters its slot, through the door, intro and HP fill. Bound: the entrances before the window (f18135, f31236) are equal in WRAM and pictures but not sound-gated; an entrance after a player defeat belongs to death and return.

    knowledge_base/mmx1/rom/apu_boss_door_2026-09-26.json · knowledge_base/mmx1/rom/ppu_boss_sections_2026-09-26.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · tools/rom/apu_gate.py · tools/rom/ppu_gate.py · tools/tests/test_apu_gate_start_state.py · tools/tests/test_ppu_boss_sections.py · tools/tests/test_rom_ppu_gate.py · tools/tests/test_apu_gate_spc_start_pending_accesses.py

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-09-26 (card L31, B3's KB boss_evidence_2026-09-26.json, decision 1), ROM-first mode: boomer-kuwanger (id 0x05), state table 87:8A7E (eventID_flammingle_04_main). States seen 20 of 20, picture-exact on the first frame of every state. Takes: boomer-kuwanger_1_40070. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/tests/test_boss_evidence.py · docs/tasks/done/B3-maverick-boss-evidence.md · docs/tasks/done/L31-ledger-maverick-attacks.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-09-28: boomer-kuwanger damage matrix whole, 17 of 17 cases seen and equal, 1 with no ROM hit case. Rule B3 decision 3 + B4 + B7.

    knowledge_base/mmx1/rom/boss_damage_hunt_2026-09-26.json · knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/oracle/post/reduce_hunt_damage.py · tools/tests/test_reduce_hunt_damage.py · docs/tasks/done/B6-maverick-damage-hunt.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-24 (card L7), ROM-first mode (megaman-x.exe --rom-first): David's Boomer Kuwanger recording (R6, WRAM 40,070 of 40,070 frames equal): the boss object (finder 3 id 0x05, the only enemy id active at the defeat; R6 notes that the census names of 0x05 and 0x06 look swapped) defeats X twice at checkpoint 2: at f18708 with no lives left (continue with 2 lives at f19080, the stage replayed from checkpoint 0 at f20596, the boss met again at f31235) and at f33575 (lives 1->0 at f33770, back at checkpoint 2, the encounter restored at f34283). Defeat ($1F0C) at f36858, its slot until f37392, Boomerang Cutter at f37393, post-boss screens ($1F7A 33) f38009..38031. Pictures under Mesen2's PPU exact on every frame of f18132..20602 and f31233..38033. Bound: attacks, sounds and the damage matrix belong to the other boss steps.

    knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · tools/tests/test_intake_david_0924.py · docs/tasks/done/R6-intake-david-recordings-0924.md

  • Selection, conditions and RNG0.13%
    ↻ Partial27 of 30 parts

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/boomer-kuwanger/boss.json

  • Animation, palette and sound0.13%
    ↻ Partial117 of 136 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/boomer-kuwanger/boss.json

Sting Chameleon5 of 6 steps0.76 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-26 (card A26 round 5, after A25, A18-A24 and V15), ROM-first mode: Sting Chameleon's entrance in the SC recording (position and arena, doors, intro, control lock and release, camera, HP fill) equals the original's WRAM on every frame (V12, 25,606 of 25,606) and its picture under Mesen2's PPU (V12, V15, 25,605 of 25,605); boss sections with the boss OID 0x0A in an enemy slot inside the window: f19645..23544 3,900 of 3,900; the door passage, checkpoint 2 f19266..19644, equal. Camera check 425 of 426 (V15). Music: apu_gate (the game's sound driver on LakeSnes's SPC700/DSP, started from Mesen2's SPC state) equals the original on f19266..23604, 4,339 of 4,339 frames, every port read at the same instruction (138,337 of 138,337), from 379 frames before the boss enters its slot, through the door, intro and HP fill. Bound: the recorded entrance in this take.

    knowledge_base/mmx1/rom/apu_boss_door_2026-09-26.json · knowledge_base/mmx1/rom/ppu_boss_sections_2026-09-26.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · tools/rom/apu_gate.py · tools/rom/ppu_gate.py · tools/tests/test_apu_gate_start_state.py · tools/tests/test_ppu_boss_sections.py · tools/tests/test_rom_ppu_gate.py · tools/tests/test_apu_gate_spc_start_pending_accesses.py

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-09-26 (card L31, B3's KB boss_evidence_2026-09-26.json, decision 1), ROM-first mode: sting-chameleon (id 0x0A), state table 88:853E (eventID_stingCameleon_0a_main). States seen 31 of 31, picture-exact on the first frame of every state. Takes: sigma3-cs-death-weapons-branch_2_23162, sting-chameleon-death-branch_1_25635. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · tools/tests/test_boss_evidence.py · docs/tasks/done/B3-maverick-boss-evidence.md · docs/tasks/done/L31-ledger-maverick-attacks.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-10-10 (L50, LG6 s2 rule): verified; 45 of 45 parts: those already seen as before, and 0A:choice:22 declared impossible for the current score by David on 2026-10-10 (knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json, items of docs/goal/DEEP-INVESTIGATIONS.md). If someone finds a way to make it happen, the part becomes "feasible" again and needs a witness.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/sting-chameleon/boss.json · knowledge_base/mmx1/rom/boss_evidence_2026-09-26.json · knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json · docs/goal/DEEP-INVESTIGATIONS.md · docs/tasks/done/R118-declare-r115-impossible.md · docs/tasks/done/R115-deep-rule-candidates.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-10-01: the last case, charged E.SPARK (shot $15), seen in sc-a: 3 hits (f24996, f25434, f25743), each removes 2 = table byte 86:F028 (B6/B7 rule). Matrix 17 of 17 (case 5 ROM-excluded, B7).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/sting-chameleon/boss.json · knowledge_base/mmx1/rom/take_credits_2026-10-01.json

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-10-01, B22: both integrated gates have exact witnesses in the current sweep; player loss, checkpoint return and same-owner restoration in the SC branch, plus the defeat/handoff window in the original take. Whole WRAM and pictures, no divergence. Bound: one player defeat; other steps retain their own catalogues.

    knowledge_base/mmx1/rom/branch_deaths_2026-10-01_b22_resume.json · knowledge_base/mmx1/rom/boss_step_sweep_b22_resume_2026-10-01.json · tools/tests/test_boss_step_sweep.py · docs/tasks/done/B22-outro-branch-takes.md

  • Animation, palette and sound0.13%
    ↻ Partial180 of 200 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/bosses/sting-chameleon/boss.json

opening3 of 6 steps0.7 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-28 B14, ROM-first recorded entrance in intro-highway: all catalogue entry states witnessed; position/arena, doors, intro, controls, camera and HP fill covered by 15577/15577 WRAM entries and 15576/15576 exact pictures. Music: committed A23 full-window gate, 15576/15576 APU frames and 493583/493583 port reads, no uncaptured live reads; WAV hash checked. Current named-take intake and source bindings are in the card Result. Bound: this recorded entrance; player-loss return is separate.

    docs/tasks/done/B14-boss-entry-intakes.md · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · tools/oracle/intake_movie.py · tools/rom/ppu_gate.py · tools/rom/apu_gate.py · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-09-28 B15: 18 B3/B6 normal/charged weapon groups; 2 seen and ROM-table equal under recorded WRAM gates, 16 source-proved exclusions, 0 stops. The KB records shot IDs, actual damage rows, source inventories, per-case gates and exclusions. B6/B7 matrix scope; this does not assert additional presentation/audio or per-shot interruption gates.

    knowledge_base/mmx1/rom/boss_damage_secondary_2026-09-28.json · tools/oracle/post/reduce_secondary_boss_damage.py · tools/tests/test_reduce_secondary_boss_damage.py · docs/tasks/done/B15-secondary-boss-damage.md · knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-10-13 (L185, card B47): 3 of 3 parts seen or proven (knowledge_base/mmx1/rom/boss_vile_intro_map_supplement_2026-10-08_r68.json#/steps/boss.vile-intro.outro (seen 1 of total 3; resolved_limits 83:CF70, 83:D1EF, 83:D795 close the map's outro limit); read at git 3b92efeed; plus 0 parts per knowledge_base/mmx1/rom/boss_outro_reducer_2026-10-08_r42.json#/rows/boss.vile-intro.outro/parts; plus 1 parts player-loss-retry per knowledge_base/mmx1/rom/boss_loss_retry_2026-10-12_ai3c.json#/rows/boss.vile-intro.outro/parts; plus 1 parts death-handoff per knowledge_base/mmx1/rom/boss_outro_parts_2026-10-13_b47.json#/steps/boss.vile-intro.outro/parts (method f: exclusion_proof cites the ROM by bank:addr, card B47)): the timer exit (83:D634, 83:D6E3) seen; the player's loss with the encounter restored seen (AI3c); the death handoff proven impossible from the ROM: state table 83:CF75 has no defeat state and a lethal hit refills HP at 83:CFCB.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/rom/boss_vile_intro_map_supplement_2026-10-08_r68.json · knowledge_base/mmx1/rom/boss_outro_reducer_2026-10-08_r42.json · knowledge_base/mmx1/rom/boss_loss_retry_2026-10-12_ai3c.json · knowledge_base/mmx1/rom/boss_outro_parts_2026-10-13_b47.json · docs/tasks/done/B47-outro-death-handoff.md · docs/tasks/done/R68-vile-intro-presentation-and-outro.md · docs/tasks/done/AI3c-vile-intro-restore-search.md

  • Movement and every attack0.13%
    ○ Pending48 of 49 parts

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md

  • Selection, conditions and RNG0.13%
    ↻ Partial49 of 55 parts

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    B8 partial 2 (2026-09-27), W37: 36/55 outcomes seen. The verified 83:D2C4 take shows +01=02 +02=10 -> +03 INC at f11164, with WRAM and pictures exact throughout the intake window. 19 outcomes remain; shared routine exec without the owner transition does not count. No credit.

    knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json · tools/tests/test_boss_evidence_fortress.py · docs/tasks/done/B8-hunt-batch-boss-gaps.md

  • Animation, palette and sound0.13%
    ○ Pending179 of 282 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md

fortress2 of 6 steps0.71 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-10-08 (R31, B17 rule): every entry state in one whole pixel-exact verified take plus a whole campaign audio window. 69:s0 at f10252 (call 121 of the ROM-first runtime trace (code generated from the ROM, WRAM equal to Mesen on every frame) of window SZA10131L, bound to sigma1-zero-arm_2_35588 by WRAM $0000-$1FFF on 2914 of 2914 frames), 69:s2..s8 at f10252..11562, 67:s0 at f6839; whole audio in sigma1-zero-arm (972365/972365 reads, 35586/35586 APU frames).

    knowledge_base/mmx1/rom/boss_native_window_witnesses_2026-10-08_r31.json · tools/oracle/post/boss_entry_sweep.py · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · docs/tasks/done/R31-x1-boss-rows-vs-new-windows.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-26 (card R17, L9's rule by a branch take), ROM-first mode (megaman-x.exe --rom-first): branch take vile-fortress-death-branch = vile-zero-with-arm's savestate and lines 1..14074, then no input, then inputs found by a goal search (R16's method): X defeated in 0x69's fight f15313, checkpoint return f15538, the encounter restored f16707 (0x69 active again: 0x69's next encounter (B2's owner_restored)); WRAM equal 16,826 of 16,826, pictures exact 16,825 of 16,825. Death and handoff: R14 vile-zero-with-arm: 0x69 beaten f15000 ($1F0C 0->1, 0x69 state $04->$06), handoff 0x66's event (88:D7BC..88:D809), checkpoint 2 f17060 (KB intake_david_0926_2026-09-26.json). Bound: one branch take.

    knowledge_base/mmx1/rom/branch_fortress_spikes_2026-09-26.json · tools/tests/test_branch_fortress_spikes.py · docs/tasks/done/R17-branch-takes-fortress-deaths-spikes.md

  • Movement and every attack0.13%
    ○ Pending94 of 95 parts

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit. R26 (2026-10-07): volunteer takes add 67:fight:25, 67:state:33, 67:state:34, 67:state:35.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md

  • Selection, conditions and RNG0.13%
    ○ Pending56 of 64 parts

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit. R26 (2026-10-07): volunteer takes add 67:choice:26, 67:choice:83EB6E, 67:choice:83EB81, 67:choice:83EBC6, 69:choice:17.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md

  • Damage, weaknesses and interruptions0.13%
    ↻ Partial36 of 37 parts

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    B8 partial 2 (2026-09-27), W37: 8 new weapon cases for 0x67, 57/57 HP drops equal to table 86:EF37 (shot $1F1D, 84:9E3A); WRAM and pictures exact in the intake windows. Unit totals: 382/382 hits equal; weapon union 4/9 normal and 7/9 charged. Per-unit cases and an interruption remain missing. No credit. R24 (2026-10-07): the volunteer take of 2026-10-06 (Sigma 1) proves the uncharged H.TORPEDO, STORM.T, E.SPARK, B.CUTTER and S.ICE cases on 0x67 (shots 07/0B/0C/0D/0E, row 03, all hits equal). R26 (2026-10-07): volunteer takes add 67:weapon:3, 69:weapon:11, 69:weapon:13, 69:weapon:16, 69:weapon:3, 69:weapon:7, 69:weapon:9.

    knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json · tools/tests/test_boss_evidence_fortress.py · docs/tasks/done/B8-hunt-batch-boss-gaps.md

  • Animation, palette and sound0.13%
    ○ Pending277 of 351 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit. R27 (2026-10-07): volunteer takes add 13 animation cells of 0x67 (52:AFC779-AFC7D1).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md

Bospider4 of 6 steps0.74 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-30 (B17, B14 rule): every entry state in one whole pixel-exact window plus a whole campaign audio window. 63:s0,2,3,4 at f22347/22532/22533/22599: 13 whole verified b8 bospider intakes; whole audio in sigma1-zero-arm (972365/972365 reads, song 23 from f22472).

    knowledge_base/mmx1/rom/boss_entry_sweep_2026-09-30.json · tools/oracle/post/boss_entry_sweep.py · tools/tests/test_boss_entry_sweep.py · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · docs/tasks/done/B17-boss-entry-sweep.md

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-09-26 (card L32, B4's KB boss_evidence_fortress_2026-09-26.json, decision 1), ROM-first mode: bospider (id 0x63), state table 82:DB7D (eventID_prisonCapsule_63_main). States seen 9 of 9, picture-exact on the first frame of every state. Takes: hadouken_1_73902. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json · docs/tasks/done/B4-fortress-boss-evidence.md · docs/tasks/done/L32-ledger-fortress-boss-attacks.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-10-03 (B27): 14 of 14 parts witnessed; choice 63:choice:6 (82:E0E9, +01=04 +02=06 -> +02=0A +03=06) in b15-bospider-63-8-charged-hunt f22779 and the B25 branch f22806, both verified and picture-exact; variable-write transition by B23's prover, unique pattern.

    knowledge_base/mmx1/rom/boss_step_sweep_b27_2026-10-03.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/B27-variable-write-transitions.md · docs/tasks/done/B25-boss-choice-conditions.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-25 (card L9, from B2's identity), ROM-first mode: owner 0x63 (main 82:DB7D): end boss of fortress stage 1 (level 9): its exit writes $1F7B = 1. David's sigma1-zero-arm take (R7, WRAM equal on every frame): X defeated at f23709, the encounter restored at f24511; the boss's defeat ($1F0C 0->1) at f34010, then stage exit: X action-0 clear at f35132. Pictures under Mesen2's PPU exact on every frame f34010..35132 (1123 of 1123). Name basis: not in the ROM: the ROM tells fortress stage 1's end boss, not the creature; Bospider as stage 1's boss is the published order. Bound: attacks, selection, damage, presentation and music belong to the other steps.

    knowledge_base/mmx1/rom/boss_identity_2026-09-25.json · tools/tests/test_boss_identity.py · docs/tasks/done/B2-fortress-and-mid-boss-identity.md · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json

  • Damage, weaknesses and interruptions0.13%
    ↻ Partial16 of 18 parts

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    B8 partial 2 (2026-09-27), W37: normal F.WAVE (f22838) and normal B.CUTTER (f22842) lower HP in takes with WRAM and pictures exact. Only B.CUTTER equals table 86:EF37; F.WAVE retains the $80 byte inconsistent with the drop. Total 44/50 hits equal, weapons 5/9 normal and 1/9 charged. Other events without a drop do not become seen parts. No credit. R32 (2026-10-08): volunteer takes add 1 parts (63:weapon:2).

    knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json · tools/tests/test_boss_evidence_fortress.py · docs/tasks/done/B8-hunt-batch-boss-gaps.md

  • Animation, palette and sound0.13%
    ○ Pending38 of 43 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

Rangda Bangda3 of 6 steps0.74 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-10-08 (R31, B17 rule): every entry state in one whole pixel-exact verified take plus a whole campaign audio window. 5E:s0 and 5F:s0 at f37772 (call 234 of the ROM-first runtime trace (code generated from the ROM, WRAM equal to Mesen on every frame) of window S37538L, bound to sigma2_2_41296 by WRAM $0000-$1FFF on 3339 of 3339 frames); whole audio in sigma2 (1210741/1210741 reads, 41294/41294 APU frames).

    knowledge_base/mmx1/rom/boss_native_window_witnesses_2026-10-08_r31.json · tools/oracle/post/boss_entry_sweep.py · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · docs/tasks/done/R31-x1-boss-rows-vs-new-windows.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-10-11 (L69, cards R131 and R135): 36 of 36 damage cases of Rangda Bangda (eyes 0x5E and 0x5F) seen or proven. The 34 seen and 5F:weapon:5: knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json#/steps/boss.rangda-bangda.damage/witnessed (18 witnessed of the map total 36, knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.rangda-bangda.damage/summary/total); read at git 7041aa42c; plus 5 parts 5F:weapon:6, 5F:weapon:8, 5F:weapon:10, 5F:weapon:12, 5F:weapon:14 per knowledge_base/mmx1/rom/r29_batch1_damage_witness_2026-10-08.json#/parts/boss.rangda-bangda.damage; plus 11 parts 5E:weapon:14, 5E:weapon:17, 5E:weapon:9, 5F:weapon:11, 5F:weapon:13, 5F:weapon:15, 5F:weapon:16, 5F:weapon:17, 5F:weapon:3, 5F:weapon:7, 5F:weapon:9 per knowledge_base/mmx1/rom/volunteer_takes_2026-10-08.json#/candidates/boss.rangda-bangda.damage/parts; plus 1 method-f parts 5F:weapon:5 per knowledge_base/mmx1/rom/boss_damage_weapon5_method_f_2026-10-11_r131.json#/steps/boss.rangda-bangda.damage/parts (sweep-excluded; exclusion_proof cites the ROM by bank:addr, card R131). 5E:weapon:5 (charged Chameleon Sting, shot 0x11) is proven from the ROM: the shot stores +30 = 2 at 83:9B8C and the boss hit loop (84:9B43) skips every shot with +30 not 0 at 84:9B5F/84:9B62; the R135 audit decoded 0x5E's closure sites 88:B145 and 88:B14C (code, no calls), so the reach holds (knowledge_base/mmx1/rom/boss_damage_weapon5_method_f_2026-10-11_r131.json; knowledge_base/mmx1/rom/census_reach_audit_2026-10-11_r135.json).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/r29_batch1_damage_witness_2026-10-08.json · knowledge_base/mmx1/rom/volunteer_takes_2026-10-08.json · knowledge_base/mmx1/rom/boss_damage_weapon5_method_f_2026-10-11_r131.json · knowledge_base/mmx1/rom/census_reach_audit_2026-10-11_r135.json · docs/tasks/done/R131-count-class-p-proofs.md · docs/tasks/done/R135-census-reach-audit.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-25 (card L9, from B2's identity), ROM-first mode: owner 0x5d (main 88:A985): end boss of fortress stage 2 (level 10): 0x5D and the three parts it spawns. David's sigma2 take (R7, WRAM equal on every frame): X defeated at f20154, f26262, the encounter restored at f20987, f37659; the boss's defeat (owner enters state 4 (end branch)) at f39721, then stage exit: X action-0 clear at f40817. Pictures under Mesen2's PPU exact on every frame f39721..40817 (1097 of 1097). Name basis: census labels rangdaBangda* agree for 0x5D..0x5F; 0x60 (rexHead) is spawned by 0x5D; 0x5C (rangdaBangdaWall) never appears in level 10. Bound: attacks, selection, damage, presentation and music belong to the other steps.

    knowledge_base/mmx1/rom/boss_identity_2026-09-25.json · tools/tests/test_boss_identity.py · docs/tasks/done/B2-fortress-and-mid-boss-identity.md · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json

  • Movement and every attack0.13%
    ○ Pending67 of 68 parts

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research. R31 (2026-10-08): call traces of the native windows add 5 parts (5E:fight:6, 60:state:0, 5F:fight:1, 5E:fight:12, 5E:fight:19).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

  • Selection, conditions and RNG0.13%
    ○ Pending33 of 34 parts

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research. R31 (2026-10-08): call traces of the native windows add 4 parts (5F:choice:1, 5E:choice:6, 5E:choice:12, 5E:choice:19).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

  • Animation, palette and sound0.13%
    ○ Pending68 of 76 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

D-Rex4 of 6 steps0.75 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-10-08 (R31, B17 rule): every entry state in one whole pixel-exact verified take plus a whole campaign audio window. 61:s0 at f21105 (call 130 of the ROM-first runtime trace (code generated from the ROM, WRAM equal to Mesen on every frame) of window S20983L, bound to sigma3_2_26312 by WRAM $0000-$1FFF on 4173 of 4173 frames), 62:s1,2,3 at f18909/19010/19028; whole audio in sigma3 (876749/876749 reads, 26310/26310 APU frames).

    knowledge_base/mmx1/rom/boss_native_window_witnesses_2026-10-08_r31.json · tools/oracle/post/boss_entry_sweep.py · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · docs/tasks/done/R31-x1-boss-rows-vs-new-windows.md

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-10-05 (LG6 s2): verified; boss_step_sweep_2026-10-04_b45.json lists 0 missing and 0 excluded, 48 of 48 parts witnessed (call captures B42, owner-slot scans); boss_coverage_map_2026-10-02.json has no open catalogue limit or bound for this step (resolved: 88:BD4C, 88:C31B).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_call_captures_2026-10-04_b42.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/B42-boss-spawn-call-captures.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-10-03 (B31): call-capture witness; 88:B76C called once at sigma3_2_26312 f19655 (owner 0EA8, +3C 02->04).

    knowledge_base/mmx1/rom/boss_step_sweep_2026-10-03_b31.json · knowledge_base/mmx1/rom/boss_call_captures_2026-10-03_b31.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/B31-boss-parts-by-call-capture.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-25 (card L9, from B2's identity), ROM-first mode: owner 0x61 (main 88:B689): end boss of fortress stage 3 (level 11): 0x62 and the 0x61 it spawns; 0x61's exit writes $1F7B = 3. David's sigma3 take (R7, WRAM equal on every frame): X defeated at f20068, the encounter restored at f21104; the boss's defeat (owner slot HP (+$27) reaches 0) at f24534, then stage exit: X action-0 clear at f25682. Pictures under Mesen2's PPU exact on every frame f24534..25682 (1149 of 1149). Name basis: not in the ROM: D-Rex as stage 3's boss is the published order; label rexBase (0x61) agrees, label spiderBoss (0x62) does not. Bound: attacks, selection, damage, presentation and music belong to the other steps.

    knowledge_base/mmx1/rom/boss_identity_2026-09-25.json · tools/tests/test_boss_identity.py · docs/tasks/done/B2-fortress-and-mid-boss-identity.md · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json

  • Damage, weaknesses and interruptions0.13%
    ↻ Partial36 of 38 parts

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    B8 partial 2 continuation (2026-09-27), W37: four new 0x61 cases, normal C.STING, charged STORM.T and normal/charged B.CUTTER. Drops 1/2/3/4 equal 86:F01B/F027/F020/F029; WRAM and pictures exact. Total 49/49 hits equal, union 4/9 normal and 3/9 charged. 0x62 cases and the 88:B705 interruption remain missing; no credit. R29 (2026-10-08): automated hunts on the XEON add 6 parts (61:weapon:2, 61:weapon:8, 61:weapon:9, 61:weapon:12, 61:weapon:13, 61:weapon:16).

    knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json · tools/tests/test_boss_evidence_fortress.py · docs/tasks/done/B8-hunt-batch-boss-gaps.md

  • Animation, palette and sound0.13%
    ○ Pending60 of 70 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json

Velguarder4 of 6 steps0.74 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-10-13 (L193, B17 / R31 rule, card B51): 11 of 11 parts seen or proven (knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.velguarder.entry/summary with knowledge_base/mmx1/rom/boss_velguarder_entry_map_supplement_2026-10-09_r73.json#/map_steps/boss.velguarder.entry (seen 4 of total 11); read at git 1b0355a59; plus 1 parts 26:state:3 per knowledge_base/mmx1/rom/boss_entry_parts_2026-10-13_b46.json#/rows/boss.velguarder.entry/parts; plus 1 parts entrance-integration per knowledge_base/mmx1/rom/boss_entry_gate_2026-10-13_b51.json#/rows/boss.velguarder.entry/parts; plus 5 method-f parts 26:state:2, 26:state:4, 26:state:5, 26:state:6, 26:state:7 per knowledge_base/mmx1/rom/boss_entry_parts_2026-10-13_b46.json#/steps/boss.velguarder.entry/parts (exclusion_proof cites the ROM by bank:addr, card B46)). The reachable entry states 26:state:0/3/8/9/10 are all in the verified take b15-sigma-final-65-0-normal-hunt_2_10520 (f1954 to f2522, pixel-exact, WRAM 10519 of 10519), with that take's whole audio window (campaign_audio_2026-10-12_a33.json); states 26:state:2/4/5/6/7 the ROM never reaches (B46).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/boss_velguarder_entry_map_supplement_2026-10-09_r73.json · knowledge_base/mmx1/rom/boss_entry_parts_2026-10-13_b46.json · knowledge_base/mmx1/rom/boss_entry_gate_2026-10-13_b51.json · docs/tasks/done/B51-entry-gate-b17-rule.md · docs/tasks/done/B46-boss-entry-parts-search.md · docs/tasks/done/B17-boss-entry-sweep.md · docs/tasks/done/R31-x1-boss-rows-vs-new-windows.md

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-10-05 (LG6 s2): verified; boss_step_sweep_2026-10-04_b45.json lists 0 missing and 0 excluded, 24 of 24 parts witnessed (call captures B42, owner-slot scans); boss_coverage_map_2026-10-02.json has no open catalogue limit or bound for this step (resolved: 82:CBF8, 82:CD38, 82:D168).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_call_captures_2026-10-04_b42.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/B42-boss-spawn-call-captures.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-09-26 (card L32, B4's KB boss_evidence_fortress_2026-09-26.json, decision 2), ROM-first mode: velguarder (id 0x26) selection: outcomes seen 29 of 29 across 86 branches in the picking handlers; RNG sites 82:CCDD, 82:D14F. Takes: sigma-final-attempt-1_1_15997, sigma-final-attempt-2_1_22929. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json · docs/tasks/done/B4-fortress-boss-evidence.md · docs/tasks/done/L32-ledger-fortress-boss-attacks.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-10-09 (L44, LG6 s2 rule): verified. All 10 parts are resolved: those seen in the cited sources and Velguarder's five end states that never run in the verified recordings (R105, R107), which count as done by David's rule of 2026-10-09 for items on docs/goal/DEEP-INVESTIGATIONS.md, each with a serious attempt recorded (knowledge_base/mmx1/rom/deep_items_declared_resolved_2026-10-09.json). Not a complete proof: counted by the owner's decision.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/branch_deaths_2026-10-09_r99.json · knowledge_base/mmx1/rom/deep_items_declared_resolved_2026-10-09.json · docs/tasks/done/R105-boss-states-choices-call-captures.md · docs/tasks/done/R107-volunteer-takes-verified-captures.md · docs/tasks/done/R111-declared-resolved-deep-items.md

  • Damage, weaknesses and interruptions0.13%
    ○ Pending17 of 19 parts

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json

  • Animation, palette and sound0.13%
    ○ Pending86 of 99 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json

humanoid5 of 6 steps0.77 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-28 B14, ROM-first recorded entrance in sigma-final-attempt-1: all catalogue entry states witnessed; position/arena, doors, intro, controls, camera and HP fill covered by 15997/15997 WRAM entries and 15996/15996 exact pictures. Music: committed A23 full-window gate, 15996/15996 APU frames and 330588/330588 port reads, no uncaptured live reads; WAV hash checked. Current named-take intake and source bindings are in the card Result. Bound: this recorded entrance; player-loss return is separate.

    docs/tasks/done/B14-boss-entry-intakes.md · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · tools/oracle/intake_movie.py · tools/rom/ppu_gate.py · tools/rom/apu_gate.py

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-09-26 (card L32, B4's KB boss_evidence_fortress_2026-09-26.json, decision 1), ROM-first mode: sigma-humanoid (id 0x65), state table 88:C3B2 (eventID_zeroStage1_65_main). States seen 16 of 16, picture-exact on the first frame of every state. Takes: sigma-final-attempt-1_1_15997, sigma-final-attempt-2_1_22929. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json · docs/tasks/done/B4-fortress-boss-evidence.md · docs/tasks/done/L32-ledger-fortress-boss-attacks.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-09-26 (card L32, B4's KB boss_evidence_fortress_2026-09-26.json, decision 2), ROM-first mode: sigma-humanoid (id 0x65) selection: outcomes seen 25 of 25 across 36 branches in the picking handlers; RNG sites 88:CEE8, 88:CF3A. Takes: sigma-final-attempt-1_1_15997, sigma-final-attempt-2_1_22929. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step.

    knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json · docs/tasks/done/B4-fortress-boss-evidence.md · docs/tasks/done/L32-ledger-fortress-boss-attacks.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-09-28 B15: 18 B3/B6 normal/charged weapon groups; 17 seen and ROM-table equal under recorded WRAM gates, 1 source-proved exclusions, 0 stops. The KB records shot IDs, actual damage rows, source inventories, per-case gates and exclusions. B6/B7 matrix scope; this does not assert additional presentation/audio or per-shot interruption gates.

    knowledge_base/mmx1/rom/boss_damage_secondary_2026-09-28.json · tools/oracle/post/reduce_secondary_boss_damage.py · tools/tests/test_reduce_secondary_boss_damage.py · docs/tasks/done/B15-secondary-boss-damage.md · knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-25 (card L9, from B2's identity), ROM-first mode: owner 0x65 (main 88:C3B2): level-12 boss placed once: spawns 0x26 first, is beaten ($1F0C), then spawns 0x6B. David's sigma4-final-not-beaten take (R7, WRAM equal on every frame): X defeated at f6205, f11112, f17013, f24974, the encounter restored at f7758, f13219, f18592, f26570; the boss's defeat ($1F0C 0->1) at f34759, then next owner 0x6b appears at f35183. Pictures under Mesen2's PPU exact on every frame f34759..35183 (425 of 425). Name basis: label zeroStage1 is contradicted by its level and its spawns; the ROM names no creature. Bound: attacks, selection, damage, presentation and music belong to the other steps.

    knowledge_base/mmx1/rom/boss_identity_2026-09-25.json · tools/tests/test_boss_identity.py · docs/tasks/done/B2-fortress-and-mid-boss-identity.md · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json

  • Animation, palette and sound0.13%
    ○ Pending258 of 269 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json

Sigma final✓ Done0.78 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-28 B14, ROM-first recorded entrance in sigma-final-attempt-1: all catalogue entry states witnessed; position/arena, doors, intro, controls, camera and HP fill covered by 15997/15997 WRAM entries and 15996/15996 exact pictures. Music: committed A23 full-window gate, 15996/15996 APU frames and 330588/330588 port reads, no uncaptured live reads; WAV hash checked. Current named-take intake and source bindings are in the card Result. Bound: this recorded entrance; player-loss return is separate.

    docs/tasks/done/B14-boss-entry-intakes.md · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · tools/oracle/intake_movie.py · tools/rom/ppu_gate.py · tools/rom/apu_gate.py

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-09-26 (card L32, B4's KB boss_evidence_fortress_2026-09-26.json, decision 1), ROM-first mode: sigma-final (id 0x65), state table 88:C3B2 (eventID_zeroStage1_65_main). States seen 4 of 4, picture-exact on the first frame of every state. Takes: sigma-final-attempt-1_1_15997. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step. 0x6B is a part of the fight (contact check only), not its owner.

    knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json · docs/tasks/done/B4-fortress-boss-evidence.md · docs/tasks/done/L32-ledger-fortress-boss-attacks.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-09-26 (card L32, B4's KB boss_evidence_fortress_2026-09-26.json, decision 2), ROM-first mode: sigma-final (id 0x65) selection: outcomes seen 6 of 6 across 10 branches in the picking handlers; RNG sites 88:CC4C, 88:CC53, 88:CC64, 88:CC6C, 88:CC9C, 88:CCE0, 88:CD27. Takes: sigma-final-attempt-1_1_15997. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step. 0x6B is a part of the fight (contact check only), not its owner.

    knowledge_base/mmx1/rom/boss_evidence_fortress_2026-09-26.json · docs/tasks/done/B4-fortress-boss-evidence.md · docs/tasks/done/L32-ledger-fortress-boss-attacks.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-10-11 (L67, card R131): 18 of 18 damage cases of the Sigma (final form) (id 0x65) seen or proven. The 17 seen: knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json#/steps/boss.sigma-final.damage/witnessed (12 witnessed of the map total 18, knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.sigma-final.damage/summary/total); read at git 13f6e217b; plus 5 parts 65:weapon:9, 65:weapon:12, 65:weapon:13, 65:weapon:16, 65:weapon:17 per knowledge_base/mmx1/rom/boss_deflect_witnesses_2026-10-09_r99.json#/rows/boss.sigma-final.damage/parts. The last, weapon 5 (charged Chameleon Sting, shot 0x11), is proven from the ROM: the shot stores +30 = 2 at 83:9B8C and the boss hit loop (84:9B43) skips every shot with +30 not 0 at 84:9B5F/84:9B62, before the hitbox test and the damage; the F4 census shows this boss reaches 84:9B43 with no unresolved site (knowledge_base/mmx1/rom/boss_damage_weapon5_method_f_2026-10-11_r131.json).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/boss_deflect_witnesses_2026-10-09_r99.json · knowledge_base/mmx1/rom/boss_damage_weapon5_method_f_2026-10-11_r131.json · docs/tasks/done/R131-count-class-p-proofs.md

  • Animation, palette and sound0.13%
    ✓ Verified

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    2026-10-13 (L187, card B48): 63 of 63 parts seen or proven (knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.sigma-final.presentation/parts (49 picture parts witnessed per knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json#/steps/boss.sigma-final.presentation/missing and 11 sound parts whose /evidence frame lies inside a whole APU-gated window of the same take (8 in knowledge_base/mmx1/rom/campaign_audio_2026-10-12_a33.json#/results/b15-sigma-final-65-0-normal-hunt_2_10520, 3 in knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json#/results/sigma-final-win_2_44618), of all 63 parts; other sound and unclassified parts count unseen); read at git e41099768; plus 2 method-f parts 6B:cell:3E:AFBF6A, 6B:cell:3E:AFBFA4 per knowledge_base/mmx1/rom/boss_cells_h39_2026-10-12.json#/steps/boss.sigma-final.presentation/parts (exclusion_proof cites the ROM by bank:addr, card R77); plus 1 method-f parts child:1428:31:cell:3E:AFBFB5 per knowledge_base/mmx1/rom/boss_child_cells_2026-10-13_b48.json#/steps/boss.sigma-final.presentation/parts (exclusion_proof cites the ROM by bank:addr, card R77)): 49 picture parts seen in verified takes, 11 sounds inside whole audio windows, 3 cells the ROM never draws (two animation ends, H39; child 1428:31's AF:BFB5, replaced by animation 12 in the same call, 88:D114-88:D122, B48).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/derived/gc7_sigma3_sequential_route_retraction.json · knowledge_base/mmx1/derived/gc7_sigma4_final_battle_chain.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/campaign_audio_2026-10-12_a33.json · knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json · knowledge_base/mmx1/rom/boss_cells_h39_2026-10-12.json · knowledge_base/mmx1/rom/boss_child_cells_2026-10-13_b48.json · docs/tasks/done/B48-vile-child-cells.md · docs/tasks/done/H39-animation-ends-before-cell-proofs.md · docs/tasks/done/A33-a30-early-divergence.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-09-26 (card R17, L9's rule by a branch take), ROM-first mode (megaman-x.exe --rom-first): branch take sigma-final-death-branch = sigma-final-attempt-1's savestate and its own lines to its end, f15997, then inputs found by a goal search (R16's method): X defeated in 0x6B's fight f15248, checkpoint return f15496, the encounter restored f17407 (0x65 active again: the Sigma encounter restarts with 0x65 (L20's reading)); WRAM equal 17,526 of 17,526, pictures exact 17,525 of 17,525. Death and handoff: R9 sigma-final-win: win f13897, w_1f23/$D3 f15531, ending f23001 (L20 decision 1); X defeated in 0x6B's fight R8 f15249 (KB intake_david_0925b_2026-09-25.json). Bound: one branch take.

    knowledge_base/mmx1/rom/branch_fortress_spikes_2026-09-26.json · tools/tests/test_branch_fortress_spikes.py · docs/tasks/done/R17-branch-takes-fortress-deaths-spikes.md

Thunder Slimer2 of 6 steps0.67 / 0.78%
  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-10-12 (L78, card R139): 18 of 18 damage cases of Thunder Slimer (id 0x03) seen. The two new ones, 03:weapon:10 and 03:weapon:17, come from the volunteer takes vol-b5-thunder-slimer-1 and -2, accepted by R139's wram_verified rule (picture gate WRAM N of N, frame gate N of N, no stop), read by the B6/B7 hit reducer (table 86:EF37, every hit equal) (knowledge_base/mmx1/rom/volunteer_takes_2026-10-11_r139.json). Seen: knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json#/steps/boss.thunder-slimer.damage/witnessed (4 witnessed of the map total 18, knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.thunder-slimer.damage/summary/total); read at git af0352d26; plus 3 parts 03:weapon:0, 03:weapon:4, 03:weapon:12 per knowledge_base/mmx1/rom/r29_batch1_damage_witness_2026-10-08.json#/parts/boss.thunder-slimer.damage; plus 3 parts 03:weapon:1, 03:weapon:11, 03:weapon:9 per knowledge_base/mmx1/rom/volunteer_takes_2026-10-09_r109.json#/candidates/boss.thunder-slimer.damage/parts; plus 5 parts 03:weapon:3, 03:weapon:6, 03:weapon:7, 03:weapon:13, 03:weapon:15 per knowledge_base/mmx1/rom/boss_damage_hunts_2026-10-10_r119.json#/parts/boss.thunder-slimer.damage; plus 2 parts 03:weapon:10, 03:weapon:17 per knowledge_base/mmx1/rom/volunteer_takes_2026-10-11_r139.json#/candidates/boss.thunder-slimer.damage/parts; plus 1 method-f parts 03:weapon:5 per knowledge_base/mmx1/rom/boss_damage_weapon5_method_f_2026-10-11_r131.json#/steps/boss.thunder-slimer.damage/parts (sweep-excluded; exclusion_proof cites the ROM by bank:addr, card R131).

    knowledge_base/mmx1/rom/midboss_evidence_2026-09-26.json · tools/tests/test_midboss_evidence.py · docs/tasks/done/B8-hunt-batch-boss-gaps.md · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/r29_batch1_damage_witness_2026-10-08.json · knowledge_base/mmx1/rom/volunteer_takes_2026-10-09_r109.json · knowledge_base/mmx1/rom/boss_damage_hunts_2026-10-10_r119.json · knowledge_base/mmx1/rom/volunteer_takes_2026-10-11_r139.json · knowledge_base/mmx1/rom/boss_damage_weapon5_method_f_2026-10-11_r131.json · docs/tasks/done/R139-take-verification-split.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-10-15 (L253, card R157): 8 of 8 parts (knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json#/steps/boss.thunder-slimer.outro/witnessed (5 witnessed of the map total 8, knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.thunder-slimer.outro/summary/total); read at git fcbbb5796; plus 1 parts 03:state:34 per knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r105.json#/steps/boss.thunder-slimer.outro/evidence; plus 1 parts 03:state:38 per knowledge_base/mmx1/rom/deep_items_declared_resolved_2026-10-09.json#/steps/boss.thunder-slimer.outro/parts; plus 0 parts per knowledge_base/mmx1/rom/boss_step_sweep_2026-10-11_r139.json#/steps/boss.thunder-slimer.outro/evidence; plus 1 parts player-loss-retry per knowledge_base/mmx1/rom/boss_loss_retry_2026-10-15_r157.json#/rows/boss.thunder-slimer.outro/parts); the missing part was the player's loss and retry: in vol-b6-thunder-slimer-death-1 X dies during the fight (f4228), comes back at the same checkpoint (f4494) and the fight starts again (f6657). The take's WRAM is equal at every frame (R139's rule, approved by David on 10/12).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r105.json · knowledge_base/mmx1/rom/deep_items_declared_resolved_2026-10-09.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-11_r139.json · knowledge_base/mmx1/rom/boss_loss_retry_2026-10-15_r157.json

  • Campaign entrance and activation0.13%
    ○ Pending18 of 31 parts

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md

  • Movement and every attack0.13%
    ↻ Partial24 of 25 parts

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    B8 partial 2 continuation (2026-09-27), W37: 19/20 states seen, 19 picture-exact. The verified take executes 84:B451 but its owner snapshots never hold +01=02 +10=02. The state remains missing; no credit.

    knowledge_base/mmx1/rom/midboss_evidence_2026-09-26.json · tools/tests/test_midboss_evidence.py · docs/tasks/done/B8-hunt-batch-boss-gaps.md

  • Selection, conditions and RNG0.13%
    ↻ Partial24 of 29 parts

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    B8 partial 2 continuation (2026-09-27), W37: 23/29 outcomes seen. Six verified intakes do not show the requested transitions after N (84:B27D, B77C, B00A, B03E, B453, B477); exec alone does not count. No credit.

    knowledge_base/mmx1/rom/midboss_evidence_2026-09-26.json · tools/tests/test_midboss_evidence.py · docs/tasks/done/B8-hunt-batch-boss-gaps.md

  • Animation, palette and sound0.13%
    ○ Pending281 of 284 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md

Submarine5 of 6 steps0.77 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-10-08 (L8, B17 rule): every entry state in one whole pixel-exact verified take plus a whole campaign audio window. 28:s0 at f7348 (slot 0E68; R31 call witness, trace bound to launch-octopus-and-sting-flooded_2_38342); whole audio in launch-octopus-and-sting-flooded_2_38342 (WRAM 38341/38341, port reads 670206/670206, APU frames 38340/38340; R35 fixed the HDMA enabled mid-frame).

    knowledge_base/mmx1/rom/boss_native_window_witnesses_2026-10-08_r31.json · knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json · tools/oracle/post/boss_entry_sweep.py · docs/tasks/done/R35-gate-clock-drift-f993.md

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-10-09 (L40, LG6 s2 rule): verified; knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r102.json lists 0 missing and 0 excluded, 7 of 7 parts witnessed (child spawn sites by R102's allocator call captures, records in knowledge_base/mmx1/rom/boss_call_captures_2026-10-09_r102.json); knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json has no open catalogue limit or bound for this step.

    knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r102.json · knowledge_base/mmx1/rom/boss_call_captures_2026-10-09_r102.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/R102-attack-spawn-sites-call-captures.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-10-01 B24: ROM-cited conditional catalogue; 1/1 unique consecutive same-owner transitions in currently WRAM-verified, pixel-exact takes. ENDGAME ROM-first rule; no statistical-law gate. 530 takes re-swept; receipts and exact witnesses in build/B24/boss-step-sweep.json. Other step kinds remain separate.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · tools/oracle/post/boss_step_sweep.py · tools/tests/test_b24_boss_structural_catalogues.py · docs/tasks/done/B24-boss-structural-catalogues.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-10-11 (L67, card R131): 18 of 18 damage cases of the submarine (id 0x28) seen or proven. The 17 seen: knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json#/steps/boss.submarine.damage/witnessed (1 witnessed of the map total 18, knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.submarine.damage/summary/total; catalogue_limits 82:D994 closed per knowledge_base/mmx1/rom/boss_submarine_limit_closure_2026-10-09_r69.json#/resolved_limits); read at git a672dfcc6; plus 5 parts 28:weapon:0, 28:weapon:1, 28:weapon:12, 28:weapon:14, 28:weapon:16 per knowledge_base/mmx1/rom/boss_damage_hunts_2026-10-09_r82.json#/parts/boss.submarine.damage; plus 11 parts 28:weapon:10, 28:weapon:11, 28:weapon:13, 28:weapon:15, 28:weapon:17, 28:weapon:2, 28:weapon:3, 28:weapon:4, 28:weapon:6, 28:weapon:7, 28:weapon:9 per knowledge_base/mmx1/rom/volunteer_takes_2026-10-09_r109.json#/candidates/boss.submarine.damage/parts. The last, weapon 5 (charged Chameleon Sting, shot 0x11), is proven from the ROM: the shot stores +30 = 2 at 83:9B8C and the boss hit loop (84:9B43) skips every shot with +30 not 0 at 84:9B5F/84:9B62, before the hitbox test and the damage; the F4 census shows this boss reaches 84:9B43 with no unresolved site (knowledge_base/mmx1/rom/boss_damage_weapon5_method_f_2026-10-11_r131.json).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/boss_submarine_limit_closure_2026-10-09_r69.json · knowledge_base/mmx1/rom/boss_damage_hunts_2026-10-09_r82.json · knowledge_base/mmx1/rom/volunteer_takes_2026-10-09_r109.json · knowledge_base/mmx1/rom/boss_damage_weapon5_method_f_2026-10-11_r131.json · docs/tasks/done/R131-count-class-p-proofs.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-10-12 (L89, card B35): 7 of 7 outro parts of the submarine (id 0x28) seen. The last, player-loss-retry, comes from the volunteer take vol-b5-submarine-death-1: death at frame 1545, checkpoint return 1872, encounter restored 3116, frame gate 4937 of 4937 over the window 2-4938 (R16 rules; ledger rule 15, revision 2026-10-12-outro-loss-retry) (knowledge_base/mmx1/rom/boss_loss_retry_2026-10-12_b35.json). Seen: knowledge_base/mmx1/rom/boss_outro_child_closure_2026-10-08_r43.json#/steps/boss.submarine.outro (seen 6 of total 7; resolved_limits 82:D994 close the map's outro limit); read at git faf7cf42c; plus 0 parts per knowledge_base/mmx1/rom/boss_outro_reducer_2026-10-08_r42.json#/rows/boss.submarine.outro/parts; plus 1 parts player-loss-retry per knowledge_base/mmx1/rom/boss_loss_retry_2026-10-12_b35.json#/rows/boss.submarine.outro/parts.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · knowledge_base/mmx1/rom/boss_outro_child_closure_2026-10-08_r43.json · knowledge_base/mmx1/rom/boss_outro_reducer_2026-10-08_r42.json · knowledge_base/mmx1/rom/boss_loss_retry_2026-10-12_b35.json · docs/tasks/done/B35-loss-retry-from-volunteer-deaths.md

  • Animation, palette and sound0.13%
    ○ Pending58 of 61 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md

LO mid-boss, object 0x21 (placed twice; label angler)3 of 6 steps0.71 / 0.78%
  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    ROM mid-boss, revision granular-v3 (card L18, 2026-09-25): object 0x21 placed twice in LO (S30), locks the camera at 82:AF1B and 82:B381 and sets its HP at 82:AE64 (disassembly), like B2's mid-bosses; a separate encounter from the submarine 0x28 (flooded LO take: 0x21 f3472-6768, 0x28 f7348-10402, E35). Pending: nothing credited. 2026-10-05 (LG6 s2): verified; boss_step_sweep_2026-10-04_b45.json lists 0 missing and 0 excluded, 17 of 17 parts witnessed (call captures B42, owner-slot scans); boss_coverage_map_2026-10-02.json has no open catalogue limit or bound for this step (resolved: 82:B649, 82:B68D, 82:B6D1, 82:B716, 82:B741, 82:B848).

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_call_captures_2026-10-04_b42.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/B42-boss-spawn-call-captures.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-10-03 (B27): 17 of 17 parts witnessed; choice 21:choice:13 (82:B086, +01=02 +02=06 +03=00 -> +03=01) in b15-lo-midboss-0x21-21-5-charged-hunt f3903, verified and picture-exact; variable-write transition by B23's prover, unique pattern.

    knowledge_base/mmx1/rom/boss_step_sweep_b27_2026-10-03.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/B27-variable-write-transitions.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-10-15 (L253, card R157): 3 of 3 parts (knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json#/steps/boss.lo-midboss-0x21.outro/witnessed (2 witnessed of the map total 3, knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.lo-midboss-0x21.outro/summary/total); read at git fcbbb5796; plus 1 parts player-loss-retry per knowledge_base/mmx1/rom/boss_loss_retry_2026-10-15_r157.json#/rows/boss.lo-midboss-0x21.outro/parts); the missing part was the player's loss and retry: in vol-b6-lo-midboss-death-1 X dies during the fight (f3639 and f8798), comes back at the same checkpoint (f3903 and f9062) and the midboss fight starts again (f5543 and f9430). The take's WRAM is equal at every frame (R139's rule, approved by David on 10/12).

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/boss_loss_retry_2026-10-15_r157.json

  • Campaign entrance and activation0.13%
    ○ Pending12 of 17 parts

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    ROM mid-boss, revision granular-v3 (card L18, 2026-09-25): object 0x21 placed twice in LO (S30), locks the camera at 82:AF1B and 82:B381 and sets its HP at 82:AE64 (disassembly), like B2's mid-bosses; a separate encounter from the submarine 0x28 (flooded LO take: 0x21 f3472-6768, 0x28 f7348-10402, E35). Pending: nothing credited.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json

  • Damage, weaknesses and interruptions0.13%
    ↻ Partial16 of 18 parts

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    B8 final (2026-09-27), W37: normal E.SPARK at f3599 removes 1 HP (64 -> 63), equal to 86:F03D; WRAM 368/368, pictures 367/367. Total 47/47 equal hits, weapons 4/9 normal and 1/9 charged. Four verified takes still lack GameSettings.txt in source and branch, blocking T2. Matrix incomplete; no credit.

    knowledge_base/mmx1/rom/midboss_evidence_2026-09-26.json · tools/tests/test_midboss_evidence.py · docs/tasks/done/B8-hunt-batch-boss-gaps.md

  • Animation, palette and sound0.13%
    ○ Pending117 of 119 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    ROM mid-boss, revision granular-v3 (card L18, 2026-09-25): object 0x21 placed twice in LO (S30), locks the camera at 82:AF1B and 82:B381 and sets its HP at 82:AE64 (disassembly), like B2's mid-bosses; a separate encounter from the submarine 0x28 (flooded LO take: 0x21 f3472-6768, 0x28 f7348-10402, E35). Pending: nothing credited.

    knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json

identity to confirm4 of 6 steps0.68 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-10-08 (L8, B17 rule): every entry state in one whole pixel-exact verified take plus a whole campaign audio window. 23:s0 at f10404 (slot 0E68), 24:s0 and 25:s0 at f10405 (slots 0EA8 and 1028; R31 call witnesses, traces bound to launch-octopus-and-sting-flooded_2_38342); whole audio in launch-octopus-and-sting-flooded_2_38342 (WRAM 38341/38341, port reads 670206/670206, APU frames 38340/38340; R35 fixed the HDMA enabled mid-frame).

    knowledge_base/mmx1/rom/boss_native_window_witnesses_2026-10-08_r31.json · knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json · tools/oracle/post/boss_entry_sweep.py · docs/tasks/done/R35-gate-clock-drift-f993.md

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-09-26 (card B5, KB midboss_evidence_2026-09-26.json, B3's decision 1), ROM-first mode: utuboros (B2), head 0x23 (82:BD6B eventID_utuborosHead_23_main, fight state 82:BE1A), body 0x24 (82:C393, one fight state 82:C3BE whose only own write is +01=4 at 82:C3D3) and tail 0x25 (82:C734, fight state 82:C76B). States seen 14 of 14 (0x23 12, 0x25 2) plus the body 0x24's single state, picture-exact on the first frame of every state. Take: launch-octopus-and-sting-flooded_2_38342. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step (lane B).

    knowledge_base/mmx1/rom/midboss_evidence_2026-09-26.json · tools/tests/test_midboss_evidence.py · docs/tasks/done/B5-midboss-evidence-and-credit.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-09-26 (card B5, KB midboss_evidence_2026-09-26.json, B3's decision 2), ROM-first mode: utuboros selection (head 0x23 (82:BD6B eventID_utuborosHead_23_main, fight state 82:BE1A), body 0x24 (82:C393, one fight state 82:C3BE whose only own write is +01=4 at 82:C3D3) and tail 0x25 (82:C734, fight state 82:C76B)): outcomes seen 16 of 16 across 54 branches in the picking handlers; RNG site 82:BF3C; the body 0x24 has no picking handler (its exit +01=4 at 82:C3D3 seen). Take: launch-octopus-and-sting-flooded_2_38342. Bound: intro and defeat states belong to the entry and outro steps; sounds belong to the presentation step (lane B).

    knowledge_base/mmx1/rom/midboss_evidence_2026-09-26.json · tools/tests/test_midboss_evidence.py · docs/tasks/done/B5-midboss-evidence-and-credit.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-10-12 (L89, card B35): 13 of 13 outro parts of Utuboros (id 0x23) seen. The last, player-loss-retry, comes from the volunteer take vol-b5-utuboros-death-1: death at frame 4482, checkpoint return 4829, encounter restored 9063, frame gate 13652 of 13652 over the window 1-13652 (R16 rules; ledger rule 15, revision 2026-10-12-outro-loss-retry) (knowledge_base/mmx1/rom/boss_loss_retry_2026-10-12_b35.json). Seen: knowledge_base/mmx1/rom/boss_outro_child_closure_2026-10-08_r43.json#/steps/boss.utuboros.outro (seen 12 of total 13; resolved_limits 82:C2CB, 82:C2F4, 82:C33A close the map's outro limit); read at git faf7cf42c; plus 0 parts per knowledge_base/mmx1/rom/boss_outro_reducer_2026-10-08_r42.json#/rows/boss.utuboros.outro/parts; plus 1 parts player-loss-retry per knowledge_base/mmx1/rom/boss_loss_retry_2026-10-12_b35.json#/rows/boss.utuboros.outro/parts.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · knowledge_base/mmx1/rom/boss_outro_child_closure_2026-10-08_r43.json · knowledge_base/mmx1/rom/boss_outro_reducer_2026-10-08_r42.json · knowledge_base/mmx1/rom/boss_loss_retry_2026-10-12_b35.json · docs/tasks/done/B35-loss-retry-from-volunteer-deaths.md

  • Damage, weaknesses and interruptions0.13%
    ○ Pending51 of 56 parts

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

  • Animation, palette and sound0.13%
    ○ Pending41 of 96 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

Chameleon capsule guardian3 of 6 steps0.73 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-30 (B17, B14 rule): every entry state in one whole pixel-exact window plus a whole campaign audio window. 09:s0 at f5741 in sting-chameleon_1_25606 (pictures 25605/25605; audio 399382/399382 reads).

    knowledge_base/mmx1/rom/boss_entry_sweep_2026-09-30.json · tools/oracle/post/boss_entry_sweep.py · tools/tests/test_boss_entry_sweep.py · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · docs/tasks/done/B17-boss-entry-sweep.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-10-09 (L38, LG6 s2 rule): verified; knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r100.json lists 0 missing and 0 excluded, 6 of 6 parts witnessed by call captures (R100: 09:damage:row:00, 09:damage:row:05, 09:damage:row:06, 09:interrupt:81:CC58, 09:interrupt:81:CC6E, 09:interrupt:81:CC50; the two row-00 parts are deflected buster shots, table 80, 84:9EEA, shot +01 02 -> 04, R99 rule); knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json has no open catalogue limit or bound for this step.

    knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r100.json · knowledge_base/mmx1/rom/boss_call_captures_2026-10-09_r100.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/R100-guardian-digging-damage-call-captures.md

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-10-13 (L185, card B47): 6 of 6 parts seen or proven (knowledge_base/mmx1/rom/boss_outro_closure_parts_2026-10-04_b43.json#/steps/boss.chameleon-capsule-guardian.outro (seen 4 of total 6; resolved_limits 81:CC13 close the map's outro limit); read at git 3b92efeed; plus 0 parts per knowledge_base/mmx1/rom/boss_outro_reducer_2026-10-08_r42.json#/rows/boss.chameleon-capsule-guardian.outro/parts; plus 1 parts death-handoff per knowledge_base/mmx1/rom/boss_outro_parts_2026-10-13_b47.json#/rows/boss.chameleon-capsule-guardian.outro/parts; plus 1 parts 09:outro:lethal-hit:+38 per knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json#/steps/boss.chameleon-capsule-guardian.outro/parts): the defeat paths seen in verified takes; the death handoff seen in sc-a_1_32607 (defeat f13400, removal f13541, next owner 0x0A f24247); the lethal hit with +38 declared impossible (R118).

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · knowledge_base/mmx1/rom/boss_outro_closure_parts_2026-10-04_b43.json · knowledge_base/mmx1/rom/boss_outro_reducer_2026-10-08_r42.json · knowledge_base/mmx1/rom/boss_outro_parts_2026-10-13_b47.json · knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json · docs/tasks/done/B47-outro-death-handoff.md · docs/tasks/done/B43-outro-closure-partials.md · docs/tasks/done/R42-boss-outro-reducer.md

  • Movement and every attack0.13%
    ○ Pending16 of 17 parts

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

  • Selection, conditions and RNG0.13%
    ○ Pending16 of 19 parts

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

  • Animation, palette and sound0.13%
    ○ Pending48 of 49 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

Armadillo digging machines4 of 6 steps0.75 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-30 (B17, B14 rule): every entry state in one whole pixel-exact window plus a whole campaign audio window. 2C:s0 at f2109 in armored-armadillo_1_15055 (pictures 15054/15054; audio 386890/386890 reads).

    knowledge_base/mmx1/rom/boss_entry_sweep_2026-09-30.json · tools/oracle/post/boss_entry_sweep.py · tools/tests/test_boss_entry_sweep.py · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · docs/tasks/done/B17-boss-entry-sweep.md

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-10-03 (B31): call-capture witness; 12 allocator calls at aa-a f4112 (owner D 0E68, OID 2C; children 1928..1A88, +0A=23 at 83:C337).

    knowledge_base/mmx1/rom/boss_step_sweep_2026-10-03_b31.json · knowledge_base/mmx1/rom/boss_call_captures_2026-10-03_b31.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/B31-boss-parts-by-call-capture.md

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-10-01 B24: ROM-cited conditional catalogue; 3/3 unique consecutive same-owner transitions in currently WRAM-verified, pixel-exact takes. ENDGAME ROM-first rule; no statistical-law gate. 530 takes re-swept; receipts and exact witnesses in build/B24/boss-step-sweep.json. Other step kinds remain separate.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · tools/oracle/post/boss_step_sweep.py · tools/tests/test_b24_boss_structural_catalogues.py · docs/tasks/done/B24-boss-structural-catalogues.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-10-09 (L38, LG6 s2 rule): verified; knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r100.json lists 0 missing and 0 excluded, 5 of 5 parts witnessed by call captures (R100: 2C:damage:row:00, 2C:damage:row:09, 2C:interrupt:83:BF6B, 2C:interrupt:83:BF71, 2C:interrupt:83:BFB8; the two row-00 parts are deflected buster shots, table 80, 84:9EEA, shot +01 02 -> 04, R99 rule); knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json has no open catalogue limit or bound for this step.

    knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r100.json · knowledge_base/mmx1/rom/boss_call_captures_2026-10-09_r100.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/R100-guardian-digging-damage-call-captures.md

  • Animation, palette and sound0.13%
    ○ Pending29 of 31 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

  • Death, retry and handoff0.13%
    ○ Pending6 of 7 parts

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

Highway giant bee5 of 6 steps0.75 / 0.78%
  • Campaign entrance and activation0.13%
    ✓ Verified

    Validate position and arena, doors, intro, control lock/release, camera, music and HP fill against source.

    Technical details

    2026-09-28 B14, ROM-first recorded entrance in intro-highway: all catalogue entry states witnessed; position/arena, doors, intro, controls, camera and HP fill covered by 15577/15577 WRAM entries and 15576/15576 exact pictures. Music: committed A23 full-window gate, 15576/15576 APU frames and 493583/493583 port reads, no uncaptured live reads; WAV hash checked. Current named-take intake and source bindings are in the card Result. Bound: this recorded entrance; player-loss return is separate.

    docs/tasks/done/B14-boss-entry-intakes.md · knowledge_base/mmx1/rom/campaign_audio_2026-09-25.json · tools/oracle/intake_movie.py · tools/rom/ppu_gate.py · tools/rom/apu_gate.py · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json

  • Movement and every attack0.13%
    ✓ Verified

    Inventory every observed state and attack, integrate trajectories/timing/boxes and prove every branch by ghost; separately budgeted children are referenced, not credited twice.

    Technical details

    2026-10-15 (L261, card H46): 11 of 11 parts (knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json#/steps/boss.highway-giant-bee.attacks/witnessed (4 witnessed of the map total 11, knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json#/steps/boss.highway-giant-bee.attacks/summary/total; catalogue_limits 82:BB1C, 82:BD1E closed per knowledge_base/mmx1/rom/boss_highway_bee_limit_closure_2026-10-09_r71.json#/resolved_limits); read at git 0f969a1d6; plus 6 parts 22:spawn:82B906, 22:spawn:82B9EB, 22:spawn:82BB1C, 22:spawn:82BB85, 22:spawn:82BC34, 22:spawn:82BD1E per knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r102.json#/steps/boss.highway-giant-bee.attacks/evidence; plus 1 parts 22:spawn:82BC08 per knowledge_base/mmx1/rom/boss_traces_2026-10-15_h46.json#/parts/boss.highway-giant-bee.attacks); the missing one, the spawn site where the bee creates its child (82:BBFD allocates the slot, 82:BC08 stores OID 0D), was seen in the B31 trace of take b22 at f4128.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · knowledge_base/mmx1/rom/boss_highway_bee_limit_closure_2026-10-09_r71.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r102.json · knowledge_base/mmx1/rom/boss_traces_2026-10-15_h46.json

  • Selection, conditions and RNG0.13%
    ✓ Verified

    Classify every transition as deterministic, conditional or random; prove conditions and distribution under the ENDGAME statistical gate.

    Technical details

    2026-10-10 (L45, LG6 s2 rule): verified; all 13 map parts are witnessed: 12 by the sweep knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json and the last (22:choice:82BC86:9) by the sweep knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r109.json, over the volunteer batch-5 takes with full intake (memory and pictures equal on every frame).

    knowledge_base/mmx1/rom/boss_step_sweep_2026-10-04_b45.json · knowledge_base/mmx1/rom/boss_step_sweep_2026-10-09_r109.json · knowledge_base/mmx1/rom/boss_coverage_map_2026-10-02.json · tools/oracle/post/boss_step_sweep.py · docs/tasks/done/R109-volunteer-batch-5.md · docs/tasks/done/R114-r109-sweep-and-damage-credit.md

  • Damage, weaknesses and interruptions0.13%
    ✓ Verified

    Complete damage matrix for Buster and eight normal/charged weapons, HP, invulnerability, weaknesses and attack interrupts with per-shot attribution.

    Technical details

    2026-09-28 B15: 18 B3/B6 normal/charged weapon groups; 2 seen and ROM-table equal under recorded WRAM gates, 16 source-proved exclusions, 0 stops. The KB records shot IDs, actual damage rows, source inventories, per-case gates and exclusions. B6/B7 matrix scope; this does not assert additional presentation/audio or per-shot interruption gates.

    knowledge_base/mmx1/rom/boss_damage_secondary_2026-09-28.json · tools/oracle/post/reduce_secondary_boss_damage.py · tools/tests/test_reduce_secondary_boss_damage.py · docs/tasks/done/B15-secondary-boss-damage.md · knowledge_base/mmx1/rom/midboss_evidence_2026-09-26.json

  • Death, retry and handoff0.13%
    ✓ Verified

    Verify death, explosions and transition to the next owner; player defeat must restore the correct encounter; rematches do not duplicate AI credit.

    Technical details

    2026-10-02 B22: complete catalogue; bound defeat/handoff and player-loss/checkpoint-return/same-owner-restoration windows, whole WRAM and pictures exact with no divergence.

    knowledge_base/mmx1/rom/branch_deaths_2026-10-02_b22_resume4.json · knowledge_base/mmx1/rom/boss_step_sweep_b22_resume4_2026-10-02.json · tools/tests/test_boss_step_sweep.py · docs/tasks/done/B22-outro-branch-takes.md

  • Animation, palette and sound0.13%
    ○ Pending85 of 106 parts

    Compare all poses, palettes, anchors and attack/hit/death sounds against source render and audio.

    Technical details

    Encounter explicitly included in scope; identity, table/OID and variants require source confirmation before implementation. This is not completed research.

    docs/goal/runbooks/RUNBOOK-boss.md · docs/STATE.md · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json · docs/history/cockpit/ENDGAME-gap-map.md · knowledge_base/mmx1/derived/gc5_partial_midboss_roster.json

All 13 stages

✓ Done26 / 26%Items done: 13 of 13
Intro Highway✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-26 (card G3, W37's rule), ROM-first mode: every section of the stage (level 0 at $1F7A, checkpoint $1F81; the ROM's checkpoints [0, 1, 2]: stage start 80:995D, checkpoint objects 81:FF5E, S35) is in one WRAM-equal take, intro-highway_1_15577 (WRAM 15577 of 15577), and every frame's ROM-first picture equals the original's (V12 same-clock buffer reference, Mesen2's PPU: 15576 of 15576). Sections: checkpoint 0 f411-5860; checkpoint 1 f5861-9073; checkpoint 2 f9074-14833. Map load 80:BAC1 has no 80:BC5C load variant for this level. The stage registers no anchor in docs/stage-fidelity/anchors.json. Bound: the recorded route; the decoded map's cells that no stage frame shows (5,855 of 9,667 non-empty main-layer cells; camera x 0-7446, y 0-482) are not claimed; no KB cites the ROM's camera limits. The legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/stage_population_visual_2026-09-26.json · tools/tests/test_stage_population_visual.py · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/checkpoint_retries_2026-09-26.json · knowledge_base/mmx1/rom/section_block_maps_2026-09-26.json · docs/tasks/done/V12-reference-pictures-same-clock.md

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-10-02: all 18 enumerated collision classes of intro-highway seen by X's probe (84:910D) in verified takes. S38 rule; S45.

    knowledge_base/mmx1/rom/stage_terrain_coverage_2026-10-02_s45.json · tools/oracle/post/stage_terrain_coverage.py · docs/tasks/done/S45-terrain-crash-reruns.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-24 (card L7), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 15,577 of 15,577 frames of David's intro-highway recording (R6): the title, the whole stage (level 0 f411..14833; checkpoints 1 and 2 at f5861 and f9074; Vile f10607..12863) and the stage select. Pictures under Mesen2's PPU exact on 15,209 of 15,576 frames (colour math 303, other 58, sprite limits 6); the 2026-09-24 methodology gives camera to the state gate. Bound: the one recorded route; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · tools/tests/test_intake_david_0924.py · docs/tasks/done/R6-intake-david-recordings-0924.md

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-09-25 (card L19, from S30 on granular-v3), ROM-first mode: level 0's ROM list (80:DB71, M4) holds 91 entries, 38 of them census occurrences (finder 3, 80:F8DD). Every census occurrence spawned at its ROM position (offset 0 px on its first frame) in a verified run (S30: 38 of 38), with its trigger edge measured (80:DC36; first spawns: right 38), and is linked to a ledger feature: 30 by S30 (E35 family 28, B2 owner or part 2), 8 by granular-v3's features (0x36 -> enemy.oid_36 x5, 0x11 -> enemy.oid_11 x3). Children: the census objects born within 48 px of its placements (S30's analysis rule, not a ROM pointer) are 0x27 (enemy.se_strider) x3, 0x12 (enemy.oid_11) x3, each linked. Variants: none relevant (the list is chosen by level only and the byte-0 mask 80:DD3C..DD45 is 0 in all 1147 entries, so no entry is variant-only; S30 names no variant of this stage). Zero placeholders: every occurrence is the ROM list's own entry run by the ROM routine; S30 finds 0 spawns off their ROM position and 0 with a different parameter in its 13 stages. Entries of finders 0-2 are not census occurrences (S30): 36 of 53 spawned at their ROM position. Runs: intro-highway_1_15577 (14,423 frames at level 0), WRAM equal on every frame of each (E35 runs: wram_equal = frames). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · docs/tasks/done/S30-stage-population-from-placements.md · tools/tests/test_stage_population.py

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-24 (card L7), ROM-first mode (megaman-x.exe --rom-first): entry to exit of David's intro-highway recording (level 0 f411..14833: checkpoints 1 and 2 at f5861 and f9074, census 0x22 in two runs f3658..5401, Vile f10607..12863, then the stage select) equal in WRAM on 15,577 of 15,577 frames (R6); pictures exact on 15,209 of 15,576 (the residuals belong to the visual step). Bound: the one recorded route, with no death; placements on screen are not counted (placements_coverage.py covers CP, SE and FM only).

    knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · tools/tests/test_intake_david_0924.py · docs/tasks/done/R6-intake-david-recordings-0924.md

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-10-03: all three checkpoints, death and retry, doors, camera and exit checked on actual routes. Retries cp0 to cp2 at zero tolerance (cp2 by a new branch, death f10127); whole take at zero tolerance: 15576 of 15576 pictures, 15577 of 15577 states. S35 rule preserved.

    knowledge_base/mmx1/rom/checkpoint_retries_2026-10-03_s48.json · tools/oracle/post/stage_terrain_transitions.py · docs/tasks/done/S48-ih-fm-retry-intakes.md

Chill Penguin✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-24 (card L4), ROM-first mode (megaman-x.exe --rom-first): every CP anchor passes. The registered stage-start anchor (docs/stage-fidelity/anchors.json `spawn`, max 0.0 %, actor region max 2.0 %) differs in 0 pixels (0.00 %) and its actor region in 0 of 1,856 (V7; WRAM 1,206 of 1,206 up to it); the 244 movie anchors (docs/stage-fidelity/movie_anchors/chill-penguin.json) fall on frames whose ROM-first picture equals the original's (V5: 19,006 of 19,008; f146 and f16877, LakeSnes per-line limits, hold no anchor). Bound: the recorded route and the stage start; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/spawn_anchor_cp_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · docs/stage-fidelity/anchors.json · docs/stage-fidelity/movie_anchors/chill-penguin.json · tools/tests/test_rom_ppu_gate.py · tools/tests/test_rom_spawn_anchor.py

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-10-12 (L98, card R142): 18 of 18 terrain classes of Chill Penguin seen. The 17 earlier classes and class $36: knowledge_base/mmx1/rom/stage_terrain_coverage_2026-10-03_s62.json#/stages/chill-penguin (seen_classes 17 of classes 18; runtime_domain_complete False); read at git c853a89f2; plus 1 parts $36 per knowledge_base/mmx1/rom/cp36_probe_trace_2026-10-12_r142.json#/steps/stage.chill-penguin.terrain/parts. Class $36 was seen as an X side probe (84:9A24, return 84:9A69, block 685, raw attribute 54) read in an S32 trace (84:910D, frame 5718), accepted by stage_terrain_coverage.scan_trace (knowledge_base/mmx1/rom/cp36_probe_trace_2026-10-12_r142.json).

    content/x1/stages/tiles/chill-penguin_full.json · docs/STATE.md · knowledge_base/mmx1/rom/stage_terrain_coverage_2026-10-03_s62.json · knowledge_base/mmx1/rom/cp36_probe_trace_2026-10-12_r142.json · docs/tasks/done/R142-cp36-trace-and-song10-window.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 19,009 of 19,009 frames of the CP recording, 278 lag frames among them (K8); camera check 31 of 31 and picture exact on 19,006 of 19,008 frames (V5). Bound: the one recorded route; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · tools/tests/test_rom_frame_gate.py

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-09-25 (card L19, from S30 on granular-v3), ROM-first mode: level 8's ROM list (80:DB71, M4) holds 92 entries, 59 of them census occurrences (finder 3, 80:F8DD). Every census occurrence spawned at its ROM position (offset 0 px on its first frame) in a verified run (S30: 59 of 59), with its trigger edge measured (80:DC36; first spawns: right 54, left 3, top 2), and is linked to a ledger feature: 44 by S30 (E35 family 42, E36 census.0x4d owner (candidate) 1, E35 census.0x02 owner (candidate) 1), 15 by granular-v3's features (0x36 -> enemy.oid_36 x6, 0x2F -> enemy.oid_2f x2, 0x57 -> enemy.oid_57 x3, 0x3A -> enemy.oid_57 x4). Children: the census objects born within 48 px of its placements (S30's analysis rule, not a ROM pointer) are 0x5C (census.0x5c, verified) x1, 0x3A (enemy.oid_57) x5, 0x02 (boss.chill-penguin) x2, each linked. Variants: none relevant (the list is chosen by level only and the byte-0 mask 80:DD3C..DD45 is 0 in all 1147 entries, so no entry is variant-only; S30 names no variant of this stage). Zero placeholders: every occurrence is the ROM list's own entry run by the ROM routine; S30 finds 0 spawns off their ROM position and 0 with a different parameter in its 13 stages. Entries of finders 0-2 are not census occurrences (S30): 33 of 33 spawned at their ROM position. Runs: armored-armadillo-auto_1_7731 (925 frames at level 8), armored-armadillo_1_15055 (604 frames at level 8), boomer-kuwanger-auto_1_3016 (885 frames at level 8), boomer-kuwanger_1_40070 (713 frames at level 8), chill-penguin-new-game_1_21068 (20,820 frames at level 8), chill-penguin_2_19010 (18,906 frames at level 8), items-collection_2_15104 (170 frames at level 8), launch-octopus-auto_1_4717 (925 frames at level 8), spark-mandrill-auto_1_2901 (905 frames at level 8), sting-chameleon-auto_1_5497 (885 frames at level 8), WRAM equal on every frame of each (E35 runs: wram_equal = frames). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · docs/tasks/done/S30-stage-population-from-placements.md · tools/tests/test_stage_population.py

  • Measured opening traversal0.05%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    1200-frame section compared at 1px tolerance; not the full stage or final zero-deviation gate.

    content/x1/stages/tiles/chill-penguin_full.json · docs/STATE.md

  • Stage traversal0.25%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-24 (card L2), ROM-first mode (megaman-x.exe --rom-first): entry to exit of the CP recording (intro, checkpoints 0 to 2, boss, exit) equal in WRAM on 19,009 of 19,009 frames (K8) and pixel-exact on 19,006 of 19,008 (V5; f146 and f16877 are LakeSnes per-line limits); 72 of 92 placements reached on screen. Bound: the one recorded route; deaths, retries and the 20 never-on-screen placements are not covered.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_cp_movie_2026-09-24.json · tools/tests/test_rom_frame_gate.py · tools/tests/test_rom_ppu_gate.py

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-10-02: all three checkpoints, death and retry, both doors, camera and exit were checked on actual routes. Required pictures passed at zero tolerance; the campaign has 21067/21067 pictures and 21068/21068 equal states. CP0 reuses retained strict proof; CP1, CP2 and campaign passed fresh programs. S35 rule preserved.

    knowledge_base/mmx1/rom/checkpoint_retry_acceptance_2026-10-02.json · tools/oracle/post/stage_terrain_transitions.py · docs/tasks/done/S35-checkpoint-retries.md

Storm Eagle✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-25 (card L11, from V11), ROM-first mode: every registered anchor of Storm Eagle passes. The registered stage-start anchor (docs/stage-fidelity/anchors.json `spawn`, max 2.0 %) at the frame the screenshot shows (f1633) differs in 0 pixels (0.00 %) under LakeSnes and 0 (0.00 %) under Mesen2's PPU; WRAM 1,633 of 1,633 up to it; there the ROM-first picture equals the original's replay under both PPUs (0 px). The 236 movie anchors (docs/stage-fidelity/movie_anchors/storm-eagle.json) fall on frames whose ROM-first picture equals the original's under Mesen2's PPU (V8: 236 of 236). Bound: the recorded route and the stage start; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/spawn_anchor_se_2026-09-25.json · docs/stage-fidelity/anchors.json · tools/rom/spawn_anchor_rom_first.py · tools/tests/test_rom_spawn_anchor.py · docs/tasks/done/V11-se-fm-stage-anchors.md · docs/stage-fidelity/movie_anchors/storm-eagle.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_2026-09-24.json

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-10-01: all 13 enumerated collision classes of storm-eagle seen by X's probe (84:910D) in verified takes. The three missing ones came from the S32 trace of David's se-a take (WRAM 21773/21773, pixels exact): $03 at f7118 and $04 at f7600 (wall, return 99D3), $3A at f7141 (side 81:9CDD). S38's rule.

    knowledge_base/mmx1/rom/stage_terrain_coverage_2026-10-01.json · tools/oracle/post/stage_terrain_coverage.py · knowledge_base/mmx1/rom/take_credits_2026-10-01.json · docs/tasks/done/S38-stage-terrain-rule-and-gaps.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-24 (card L4), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 21,058 of 21,058 frames of the SE recording, 651 lag frames among them (K8); picture exact on 21,056 of 21,057 frames (V6; the other, f163 in the stage intro, differs in 12 pixels of row 151 after an HDMA forced blank, consistent with V5's LakeSnes per-line limit). Camera check 33 of 35: at f4801 and f18601 the WRAM camera and the BG1 scroll differ by 1 and 4 px, in frames whose WRAM and picture equal the original's. Bound: the one recorded route; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · tools/tests/test_rom_frame_gate.py

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-10-01: 41 of 41 occurrences seen; entries 24, 26, 27 (0x46) spawned at the ROM position in David's se-a take (WRAM 21773/21773, pictures exact). G3's predicate.

    knowledge_base/mmx1/rom/stage_population_visual_2026-09-26.json · tools/tests/test_stage_population_visual.py · knowledge_base/mmx1/rom/stage_population_2026-09-26.json · knowledge_base/mmx1/rom/take_credits_2026-10-01.json

  • Measured opening traversal0.05%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    1200-frame section compared at 1px tolerance; not the full stage or final zero-deviation gate.

    content/x1/stages/tiles/storm-eagle_full.json · docs/STATE.md

  • Stage traversal0.25%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-24 (card L4), ROM-first mode (megaman-x.exe --rom-first): entry to exit of the SE recording (intro, checkpoints 0 to 2, boss, exit) equal in WRAM on 21,058 of 21,058 frames (K8) and pixel-exact on 21,056 of 21,057 (V6; f163 in the stage intro, consistent with V5's LakeSnes per-line limit); every section after the intro exact, the boss f14860..19519 on 4,660 of 4,660; 69 of 106 placements reached on screen. Bound: the one recorded route; deaths, retries and the 37 never-on-screen placements are not covered.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · tools/tests/test_rom_frame_gate.py · tools/tests/test_rom_ppu_gate.py

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-10-01: retries seen at checkpoints 0, 1 and 2 (se-bc deaths f2663/f9390/f16755, same-checkpoint return, pictures exact); camera objects 25 and 28 at the ROM position (se-a f4063/f4149). Door: not applicable; exit: seen (S35).

    content/x1/stages/tiles/storm-eagle_full.json · docs/STATE.md · knowledge_base/mmx1/rom/take_credits_2026-10-01.json

Flame Mammoth✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-25 (card L13, from V11 and V13), ROM-first mode: every registered anchor of Flame Mammoth passes. The registered stage-start anchor (docs/stage-fidelity/anchors.json `spawn`, max 2.0 %) at the frame the screenshot shows (f1457) differs in 0 pixels (0.00 %) under LakeSnes and 0 (0.00 %) under Mesen2's PPU; WRAM 1,457 of 1,457 up to it; there the ROM-first picture equals the original's replay under both PPUs (0 px). The `belt_drop` anchor (max 2.0 %, its own ignore_rects), re-minted by V13 from the flame-mammoth movie at f2409 (V12's same-clock picture; X (562, 623), camera (434, 512)), differs in 0 pixels (0.00 %) under Mesen2's PPU; WRAM 2,409 of 2,409 up to it. The 403 movie anchors (docs/stage-fidelity/movie_anchors/flame-mammoth.json) fall on frames whose ROM-first picture equals the original's under Mesen2's PPU (V8: 403 of 403). Bound: the recorded route and the stage start; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/spawn_anchor_fm_2026-09-25.json · knowledge_base/mmx1/rom/fm_belt_drop_anchor_2026-09-25.json · docs/stage-fidelity/anchors.json · docs/stage-fidelity/real_flame_mammoth_belt_drop.png · tools/rom/spawn_anchor_rom_first.py · tools/tests/test_rom_spawn_anchor.py · docs/tasks/done/V11-se-fm-stage-anchors.md · docs/tasks/done/V13-fm-belt-drop-anchor.md · docs/stage-fidelity/movie_anchors/flame-mammoth.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_2026-09-24.json · knowledge_base/mmx1/rom/ppu_capture_buffer_2026-09-25.json

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-10-03: all 20 enumerated collision classes of flame-mammoth seen by X's probe (84:910D) in verified takes (the 12 new S59 takes at tolerance 0; the other classes from receipts at the oracle's default threshold); the 12 missing ones were reachable in untraced takes (S59 geometry, branches with the source's own lines).

    knowledge_base/mmx1/rom/stage_terrain_coverage_2026-10-03_s60.json · tools/oracle/post/stage_terrain_coverage.py · docs/tasks/done/S59-fm-terrain-reachability.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-24 (card L4), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 30,150 of 30,150 frames of the FM recording, 668 lag frames among them (K8); picture exact on 30,148 of 30,149 frames (V6; the other, f235 in the stage intro, differs in 11 pixels of row 103 after an HDMA forced blank, consistent with V5's LakeSnes per-line limit). Camera check 49 of 50: at f16802 the WRAM camera and the BG1 scroll differ by 2 px, in frames whose WRAM and picture equal the original's. Bound: the one recorded route; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · tools/tests/test_rom_frame_gate.py

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-10-01: bit clear 49 of 49: entries 15, 27, 29, 34, 38, 39 spawned at the ROM position in David's fm-a take (lava, WRAM 11231/11231, pictures exact). Bit set 49 of 49 (G3).

    knowledge_base/mmx1/rom/stage_population_visual_2026-09-26.json · tools/tests/test_stage_population_visual.py · knowledge_base/mmx1/rom/stage_population_2026-09-26.json · knowledge_base/mmx1/rom/take_credits_2026-10-01.json

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-24 (card L4), ROM-first mode (megaman-x.exe --rom-first): entry to exit of the FM recording (intro, checkpoints 0 to 2, boss, exit) equal in WRAM on 30,150 of 30,150 frames (K8) and pixel-exact on 30,148 of 30,149 (V6; f235 in the stage intro, consistent with V5's LakeSnes per-line limit); every section after the intro exact, the boss f24276..28063 on 3,788 of 3,788; 72 of 95 placements reached on screen. Bound: the one recorded route; deaths, retries and the 23 never-on-screen placements are not covered.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · tools/tests/test_rom_frame_gate.py · tools/tests/test_rom_ppu_gate.py

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-10-03: all three checkpoints, death and retry, doors, camera and exit checked on actual routes. Retries cp0 and cp1 at zero tolerance (cp1 by a new branch, death f9634); cp2 by the L27 return inside the whole take, also at zero tolerance: 23046 of 23046 pictures, 23047 of 23047 states. S35 rule preserved.

    knowledge_base/mmx1/rom/checkpoint_retries_2026-10-03_s48.json · tools/oracle/post/stage_terrain_transitions.py · docs/tasks/done/S48-ih-fm-retry-intakes.md

Spark Mandrill✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-25 (card L11, from V11), ROM-first mode: every registered anchor of Spark Mandrill passes. The registered stage-start anchor (docs/stage-fidelity/anchors.json `spawn`, max 2.0 %) at the frame the screenshot shows (f1323) differs in 0 pixels (0.00 %) under LakeSnes and 0 (0.00 %) under Mesen2's PPU; WRAM 1,323 of 1,323 up to it; there the ROM-first picture equals the original's replay under both PPUs (0 px). Bound: the stage start, the stage's only registered anchor; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/spawn_anchor_sm_2026-09-25.json · docs/stage-fidelity/anchors.json · tools/rom/spawn_anchor_rom_first.py · tools/tests/test_rom_spawn_anchor.py · docs/tasks/done/V11-se-fm-stage-anchors.md

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-10-02: all five enumerated Spark collision classes were seen by X's probe (84:910D). The last, $3D, passed official intake with 23159/23159 zero-tolerance pictures and 23160/23160 WRAM states; S38 rule. Other H13 scopes remain open.

    knowledge_base/mmx1/rom/stage_terrain_coverage_2026-10-01.json · tools/oracle/post/stage_terrain_coverage.py · docs/tasks/done/S38-stage-terrain-rule-and-gaps.md · build/coord/completion-2026-10-02/class3d-acceptance.json

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-24 (card L7), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 27,368 of 27,368 frames of David's Spark Mandrill recording (R6): the stage from f123 with checkpoints 1 and 2, a game over and the stage replayed from checkpoint 0, the boss (0x31, f23243..25410) and the post-boss screens ($1F7A 32, f26062..26084). Pictures under Mesen2's PPU exact on 26,777 of 27,367 frames (colour math 558, write placement 20, other 12); the 2026-09-24 methodology gives camera to the state gate. Bound: the one recorded route; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · tools/tests/test_intake_david_0924.py · docs/tasks/done/R6-intake-david-recordings-0924.md

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-10-09 (L43): verified. All 88 census occurrences are resolved: those seen at their ROM position (stage_population_visual_2026-09-26.json) and those David declared impossible in normal play (knowledge_base/mmx1/rom/stage_population_declared_impossible_2026-10-09.json). Evidence: 647 verified recordings without the birth (R104), camera locks and borders (R106), seven routes and four hunts (R108), X speeds and camera from the ROM (R110); they are born only when the camera is forced (W2). Not a complete ROM proof: counted by the owner's decision.

    knowledge_base/mmx1/rom/stage_population_declared_impossible_2026-10-09.json · knowledge_base/mmx1/rom/stage_population_visual_2026-09-26.json · knowledge_base/mmx1/rom/stage_population_visual_2026-10-09_r104.json · knowledge_base/mmx1/rom/stage_placements_camera_proof_2026-10-09_r106.json · knowledge_base/mmx1/rom/armadillo_62_attempt_2026-10-09_r108.json · knowledge_base/mmx1/rom/armadillo_62_rom_bounds_2026-10-09_r110.json · docs/tasks/done/R104-stage-placements-never-seen.md · docs/tasks/done/R106-placements-map-render-and-camera-proof.md · docs/tasks/done/R108-armadillo-62-in-normal-play.md · docs/tasks/done/R110-armadillo-62-rom-bounds.md · docs/tasks/done/W2-wiki-forced-situation-gifs.md

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-24 (card L7), ROM-first mode (megaman-x.exe --rom-first): entry to exit of David's Spark Mandrill recording (stage from f123; checkpoint 1 f6851; death at checkpoint 1 at f9930 with no lives left, continue at f11441, the stage replayed from checkpoint 0 at f12226; checkpoints 1 f19121 and 2 f23031; boss 0x31 f23243..25410; post-boss screens ($1F7A 32) f26062..26084) equal in WRAM on 27,368 of 27,368 frames (R6); pictures exact on 26,777 of 27,367 (the residuals belong to the visual step). Bound: the one recorded route; placements on screen are not counted; $1F0C never changes in this take (R6).

    knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · tools/tests/test_intake_david_0924.py · docs/tasks/done/R6-intake-david-recordings-0924.md

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-10-03: all three checkpoints, death and retry, doors, camera and exit checked on actual routes with H13's field proof. Retries cp0 and cp1 at zero tolerance (they stopped at frame 5081 before); cp2 by the death branch, also at zero tolerance; whole take 27367 of 27367 pictures, 27368 of 27368 states. S35 rule preserved.

    knowledge_base/mmx1/rom/checkpoint_retries_2026-10-03_s49.json · tools/oracle/post/stage_terrain_transitions.py · docs/tasks/done/S49-spark-mandrill-projection.md

Armored Armadillo✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-25 (card L11, from V11), ROM-first mode: every registered anchor of Armored Armadillo passes. The registered stage-start anchor (docs/stage-fidelity/anchors.json `spawn`, max 2.0 %) at the frame the screenshot shows (f1474) differs in 0 pixels (0.00 %) under LakeSnes and 0 (0.00 %) under Mesen2's PPU; WRAM 1,474 of 1,474 up to it; there the ROM-first picture equals the original's replay under both PPUs (0 px). Bound: the stage start, the stage's only registered anchor; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/spawn_anchor_aa_2026-09-25.json · docs/stage-fidelity/anchors.json · tools/rom/spawn_anchor_rom_first.py · tools/tests/test_rom_spawn_anchor.py · docs/tasks/done/V11-se-fm-stage-anchors.md

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-10-03: all 21 enumerated collision classes of armored-armadillo seen by X's probe (84:910D) in verified takes; $07 from a branch before the source's own read and spike $3F by the floor read with the contact path 84:98D8 (S56, tolerance 0).

    knowledge_base/mmx1/rom/stage_terrain_coverage_2026-10-03_s56.json · tools/oracle/post/stage_terrain_coverage.py · docs/tasks/done/S56-aa-terrain-07-and-spike.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 15,055 of 15,055 frames of David's armored-armadillo take (R7): the stage select, the intro ($1F7A 16, f256..275), the whole stage (level 3 f276..12800; checkpoints 1 and 2 at f5324 and f8253), the boss (finder 3 id 0x14, f8632..12180), Rolling Shield at f12181, the post-boss screens ($1F7A 29, f12801..12823) and the fortress scene (level 9, f13690..14451). Pictures under Mesen2's PPU exact on 15,031 of 15,054 frames; the 2026-09-24 methodology gives camera to the state gate. Bound: the one recorded route, with no death; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-10-09 (L43): verified. All 109 census occurrences are resolved: those seen at their ROM position (stage_population_visual_2026-09-26.json) and those David declared impossible in normal play (knowledge_base/mmx1/rom/stage_population_declared_impossible_2026-10-09.json). Evidence: 647 verified recordings without the birth (R104), camera locks and borders (R106), seven routes and four hunts (R108), X speeds and camera from the ROM (R110); they are born only when the camera is forced (W2). Not a complete ROM proof: counted by the owner's decision.

    knowledge_base/mmx1/rom/stage_population_declared_impossible_2026-10-09.json · knowledge_base/mmx1/rom/stage_population_visual_2026-09-26.json · knowledge_base/mmx1/rom/stage_population_visual_2026-10-09_r104.json · knowledge_base/mmx1/rom/stage_placements_camera_proof_2026-10-09_r106.json · knowledge_base/mmx1/rom/armadillo_62_attempt_2026-10-09_r108.json · knowledge_base/mmx1/rom/armadillo_62_rom_bounds_2026-10-09_r110.json · docs/tasks/done/R104-stage-placements-never-seen.md · docs/tasks/done/R106-placements-map-render-and-camera-proof.md · docs/tasks/done/R108-armadillo-62-in-normal-play.md · docs/tasks/done/R110-armadillo-62-rom-bounds.md · docs/tasks/done/W2-wiki-forced-situation-gifs.md

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): entry to exit of David's armored-armadillo take (stage select f164, intro $1F7A 16 f256..275, stage f276..12800: checkpoints 1 f5324 and 2 f8253, the boss 0x14 f8632..12180 defeated ($1F0C) at f11646, Rolling Shield at f12181, post-boss screens ($1F7A 29) f12801..12823) equal in WRAM on 15,055 of 15,055 frames (R7); pictures exact on 15,031 of 15,054 (the residuals belong to the visual step). Bound: the one recorded route, with no death; placements on screen are not counted.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-09-30 (T3+T4): 35/35 transition parts in verified takes; the two checkpoint 0 and 1 death retries (s35-armored-armadillo-cp0/cp1-hunt, WRAM and pictures exact) restore lives, X position and action.

    knowledge_base/mmx1/rom/aa_transition_2026-09-30.json · knowledge_base/mmx1/rom/checkpoint_retries_2026-09-26.json · docs/tasks/done/T4-aa-retry-reduction.md

Launch Octopus✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-25 (card L11, from V11), ROM-first mode: every registered anchor of Launch Octopus passes. The registered stage-start anchor (docs/stage-fidelity/anchors.json `spawn`, max 2.0 %) at the frame the screenshot shows (f1189) differs in 7 pixels (0.01 %) under LakeSnes and 7 (0.01 %) under Mesen2's PPU (Mesen2: x 115..140, rows 129..131); WRAM 1,189 of 1,189 up to it; there the ROM-first picture equals the original's replay under both PPUs (0 px). Bound: the stage start, the stage's only registered anchor; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/spawn_anchor_lo_2026-09-25.json · docs/stage-fidelity/anchors.json · tools/rom/spawn_anchor_rom_first.py · tools/tests/test_rom_spawn_anchor.py · docs/tasks/done/V11-se-fm-stage-anchors.md

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-10-03: all 21 enumerated collision classes of launch-octopus seen by X's probe (84:910D) in verified takes (new S57/S60 takes at tolerance 0; the other classes from receipts at the oracle's default threshold); $04/$0B/$0C from a take outside the LO IRQ residual (S60) and spike $3F by the 84:98D8 contact path (S57).

    knowledge_base/mmx1/rom/stage_terrain_coverage_2026-10-03_s60.json · tools/oracle/post/stage_terrain_coverage.py · docs/tasks/done/S60-terrain-geometry-cp-sc-lo.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 38,341 of 38,341 frames of David's launch-octopus-and-sting-flooded take (R7): the stage select, the intro ($1F7A 14, f295..313), the whole stage (level 1 f314..28000; checkpoints 1 and 2 at f6044 and f19277; X defeated by the boss at f22174), the boss (finder 3 id 0x07, f19512..22425 and f22958..27406), Homing Torpedo at f27407 and the post-boss screens ($1F7A 27, f28001..28023). Pictures under Mesen2's PPU exact on 38,182 of 38,340 frames (the 158 others in f3485..3556 and f6067..6154); the 2026-09-24 methodology gives camera to the state gate. Bound: the one recorded route; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-09-26 (card S31, S30's scan re-run over 27 WRAM-equal whole takes; L19's rule unchanged, coordinator decision 6), ROM-first mode: level 1's ROM list (80:DB71, M4) holds 67 entries, 18 of them census occurrences (finder 3, 80:F8DD). Every census occurrence spawned at its ROM position (offset 0 px on its first frame) in a WRAM-equal whole take (seen 18 of 18), with its trigger edge measured (80:DC36; first spawns: right 18), and is linked to a ledger feature (granular-v3 feature (L18) 17, census row verified in the ledger 1). Children (decision 3, replacing S30's 48 px rule): the objects whose traced creator is a placement's object or its descendants; each is owned by its creator's feature, so every child is linked. Children of these placements among the six traced ids: none; births of the six ids at this level by traced creator: 0x4A x45 by 3:0x4B, 0x4A x10 by es:0x25. Variants: none relevant (the list is chosen by level only and the byte-0 mask 80:DD3C..DD45 is 0 in all 1147 entries; no variant is named for this stage). Zero placeholders: every occurrence is the ROM list's own entry run by the ROM routine; in the 27 takes 0 of 2751 spawns are off their ROM position and 0 carry another parameter. Runs at this level: chill-penguin_2_19010 (74 frames), flame-mammoth-lava_2_23048 (2,905 frames), flame-mammoth_2_30151 (163 frames), intro-highway_1_15577 (744 frames), launch-octopus-and-sting-flooded_2_38342 (28,339 frames), launch-octopus-auto_1_4717 (3,792 frames), storm-eagle_1_21058 (92 frames); WRAM equal on every frame of each. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-26.json · tools/tests/test_stage_population_owners.py · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): entry to exit of David's launch-octopus take (stage select f203, intro $1F7A 14 f295..313, stage f314..28000: checkpoints 1 f6044 and 2 f19277; the boss 0x07 from f19512; X defeated at checkpoint 2 at f22174, lives 2->1 at f22395, the encounter restored at f22958; the boss defeated ($1F0C) at f26872; Homing Torpedo at f27407; post-boss screens ($1F7A 27) f28001..28023) equal in WRAM on 38,341 of 38,341 frames (R7); pictures exact on 38,182 of 38,340 (the residuals belong to the visual step). Bound: the one recorded route; placements on screen are not counted.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-09-26 (S35, W37): all 3 checkpoint retries restore X at the same checkpoint with exact pictures; all 2 ROM door placements open, lock the camera and close. Camera-region/section objects and stage exit are seen in WRAM-equal campaign takes, with exact pictures on the transition frames. Bank:address, take and frames in the S35 KB.

    knowledge_base/mmx1/rom/checkpoint_retries_2026-09-26.json · tools/oracle/post/stage_terrain_transitions.py · tools/tests/test_stage_terrain_transitions.py

Boomer Kuwanger✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-25 (card L11, from V11), ROM-first mode: every registered anchor of Boomer Kuwanger passes. The registered stage-start anchor (docs/stage-fidelity/anchors.json `spawn`, max 2.0 %) at the frame the screenshot shows (f2318) differs in 0 pixels (0.00 %) under LakeSnes and 0 (0.00 %) under Mesen2's PPU; WRAM 2,318 of 2,318 up to it; there the ROM-first picture equals the original's replay under both PPUs (0 px). Bound: the stage start, the stage's only registered anchor; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/spawn_anchor_bk_2026-09-25.json · docs/stage-fidelity/anchors.json · tools/rom/spawn_anchor_rom_first.py · tools/tests/test_rom_spawn_anchor.py · docs/tasks/done/V11-se-fm-stage-anchors.md

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-09-28 (coordinator): every enumerated collision class of boomer-kuwanger seen by X's probe (84:910D) in verified takes. The last one, $36, came from the S41 hunt s38-boomer-kuwanger-class-36-r3 (from f6901, verified source boomer-kuwanger_1_40070; WRAM 675/675, pictures 674/674) after rebuilding the f6901 checkpoint. S38's rule.

    knowledge_base/mmx1/rom/stage_terrain_coverage_2026-09-27.json · tools/oracle/post/stage_terrain_coverage.py · docs/tasks/done/S38-stage-terrain-rule-and-gaps.md · docs/tasks/done/S41-terrain-target-retarget.md · docs/tasks/done/S42-terrain-credit-round-2.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-24 (card L7), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 40,070 of 40,070 frames of David's Boomer Kuwanger recording (R6): the stage from f714 with checkpoints 1 and 2, four deaths, a continue that replays it from checkpoint 0, the boss and the post-boss screens ($1F7A 33, f38009..38031). Pictures under Mesen2's PPU exact on 39,988 of 40,069 frames (other 80, colour math 1); the 2026-09-24 methodology gives camera to the state gate. Bound: the one recorded route; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · tools/tests/test_intake_david_0924.py · docs/tasks/done/R6-intake-david-recordings-0924.md

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-09-26 (card S31, S30's scan re-run over 27 WRAM-equal whole takes; L19's rule unchanged, coordinator decision 6), ROM-first mode: level 7's ROM list (80:DB71, M4) holds 82 entries, 40 of them census occurrences (finder 3, 80:F8DD). Every census occurrence spawned at its ROM position (offset 0 px on its first frame) in a WRAM-equal whole take (seen 40 of 40), with its trigger edge measured (80:DC36; first spawns: top 28, right 11, left 1), and is linked to a ledger feature (granular-v3 feature (L18) 27, S31 decision 2 11, census row verified in the ledger 2). Children (decision 3, replacing S30's 48 px rule): the objects whose traced creator is a placement's object or its descendants; each is owned by its creator's feature, so every child is linked. Children of these placements among the six traced ids: 0x43 x60; births of the six ids at this level by traced creator: 0x42 x4 by placement 10, 0x42 x4 by placement 13, 0x42 x4 by placement 16, 0x42 x4 by placement 18, 0x42 x4 by placement 21, 0x43 x60 by 3:0x42, 0x4A x36 by es:0x25, 0x16 x5 by placement 49, 0x16 x3 by placement 33, 0x16 x2 by placement 39, 0x16 x2 by placement 48, 0x16 x2 by placement 38, 0x16 x2 by placement 47. Variants: none relevant (the list is chosen by level only and the byte-0 mask 80:DD3C..DD45 is 0 in all 1147 entries; no variant is named for this stage). Zero placeholders: every occurrence is the ROM list's own entry run by the ROM routine; in the 27 takes 0 of 2751 spawns are off their ROM position and 0 carry another parameter. Runs at this level: boomer-kuwanger-auto_1_3016 (2,131 frames), boomer-kuwanger_1_40070 (39,316 frames), items-collection_2_15104 (8,868 frames), spark-mandrill_1_27368 (122 frames); WRAM equal on every frame of each. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-26.json · tools/tests/test_stage_population_owners.py · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-24 (card L7), ROM-first mode (megaman-x.exe --rom-first): entry to exit of David's Boomer Kuwanger recording (stage from f714; checkpoints 1 f9772 and 2 f17936; deaths at checkpoints 0, 2, 1 and 2 at f4970, f18708, f26709 and f33575; a game over and continue at f19080, the stage replayed from checkpoint 0 at f20596; the boss defeated at f36858; post-boss screens ($1F7A 33) f38009..38031) equal in WRAM on 40,070 of 40,070 frames (R6); pictures exact on 39,988 of 40,069 (the residuals belong to the visual step). Bound: the one recorded route; placements on screen are not counted (placements_coverage.py covers CP, SE and FM only).

    knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · tools/tests/test_intake_david_0924.py · docs/tasks/done/R6-intake-david-recordings-0924.md

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-09-26 (S35, W37): all 3 checkpoint retries restore X at the same checkpoint with exact pictures; all 2 ROM door placements open, lock the camera and close. Camera-region/section objects and stage exit are seen in WRAM-equal campaign takes, with exact pictures on the transition frames. Bank:address, take and frames in the S35 KB.

    knowledge_base/mmx1/rom/checkpoint_retries_2026-09-26.json · tools/oracle/post/stage_terrain_transitions.py · tools/tests/test_stage_terrain_transitions.py

Sting Chameleon✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-25 (card L11, from V11), ROM-first mode: every registered anchor of Sting Chameleon passes. The registered stage-start anchor (docs/stage-fidelity/anchors.json `spawn`, max 2.0 %) at the frame the screenshot shows (f1858) differs in 0 pixels (0.00 %) under LakeSnes and 0 (0.00 %) under Mesen2's PPU; WRAM 1,858 of 1,858 up to it; there the ROM-first picture equals the original's replay under both PPUs (0 px). Bound: the stage start, the stage's only registered anchor; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/spawn_anchor_sc_2026-09-25.json · docs/stage-fidelity/anchors.json · tools/rom/spawn_anchor_rom_first.py · tools/tests/test_rom_spawn_anchor.py · docs/tasks/done/V11-se-fm-stage-anchors.md

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-10-10 (L50, LG6 s2 rule): verified; 24 of 24 parts: those already seen as before, and $38 declared impossible for the current score by David on 2026-10-10 (knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json, items of docs/goal/DEEP-INVESTIGATIONS.md). If someone finds a way to make it happen, the part becomes "feasible" again and needs a witness.

    content/x1/stages/tiles/sting-chameleon_full.json · docs/STATE.md · knowledge_base/mmx1/rom/deep_items_declared_impossible_2026-10-10_r118.json · docs/goal/DEEP-INVESTIGATIONS.md · docs/tasks/done/R118-declare-r115-impossible.md · docs/tasks/done/R115-deep-rule-candidates.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 25,606 of 25,606 frames of David's sting-chameleon take (R7): the stage select, the intro ($1F7A 15, f217..231), the whole stage (level 2 f232..24128; checkpoints 1 and 2 at f15178 and f19265; a death at checkpoint 0 at f3951), the boss (finder 3 id 0x0A, f19644..23543), Chameleon Sting at f23544 and the post-boss screens ($1F7A 28, f24129..24151). The flooded variant (take launch-octopus-and-sting-flooded, level 2 f28570..38342, the variant bit set on 9,773 of 9,773 frames) is equal on every frame too. Pictures under Mesen2's PPU exact on 25,572 of 25,605 and 9,773 of 9,773 frames; the 2026-09-24 methodology gives camera to the state gate. Bound: the recorded routes; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-10-01: flooded variant (bit set) 36 of 36: entries 47, 51-57, 59, 61-63, 66, 67, 74 spawned at the ROM position in David's sc-a take (WRAM 32607/32607, pictures exact). Bit clear 36 of 36 (G3).

    knowledge_base/mmx1/rom/stage_population_visual_2026-09-26.json · tools/tests/test_stage_population_visual.py · knowledge_base/mmx1/rom/stage_population_2026-09-26.json · knowledge_base/mmx1/rom/take_credits_2026-10-01.json

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): entry to exit of David's sting-chameleon take (stage select f125, intro $1F7A 15 f217..231, stage f232..24128: checkpoints 1 f15178 and 2 f19265, a death at checkpoint 0 at f3951 (lives 2->1 at f4142), the boss 0x0A f19644..23543, Chameleon Sting at f23544, post-boss screens ($1F7A 28) f24129..24151) equal in WRAM on 25,606 of 25,606 frames (R7); the flooded variant's route (f28570..38342 of the launch-octopus take: a death at f30360, the heart at f32454) is equal on every frame too. Pictures exact on 25,572 of 25,605 (the residuals belong to the visual step). Bound: the recorded routes; placements on screen are not counted.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-10-01 (S44): all 3 checkpoint retries restore X at the same checkpoint in exact WRAM/picture-gated takes. Camera, section, door and exit parts are seen or not applicable in the dated retry KB. Only this complete transition step is credited.

    knowledge_base/mmx1/rom/checkpoint_retries_2026-10-01.json · tools/oracle/post/stage_terrain_transitions.py · tools/tests/test_stage_terrain_transitions.py

Sigma Palace 1✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-26 (card G3, W37's rule), ROM-first mode: every section of the stage (level 9 at $1F7A, checkpoint $1F81; the ROM's checkpoints [0, 1, 2, 4]: stage start 80:995D, checkpoint objects 81:FF5E, S35) is in one WRAM-equal take, sigma1-zero-arm_2_35588 (WRAM 35587 of 35587), and every frame's ROM-first picture equals the original's (V12 same-clock buffer reference, Mesen2's PPU: 35586 of 35586). Sections: checkpoint 0 f94-7612; checkpoint 1 f7613-14252; checkpoint 2 f14253-22129; checkpoint 4 f22130-35588. Map load 80:BAC1 has no 80:BC5C load variant for this level. The stage registers no anchor in docs/stage-fidelity/anchors.json. Bound: the recorded route; the decoded map's cells that no stage frame shows (1,592 of 7,159 non-empty main-layer cells; camera x 0-5632, y 0-2304) are not claimed; no KB cites the ROM's camera limits. The legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/stage_population_visual_2026-09-26.json · tools/tests/test_stage_population_visual.py · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/checkpoint_retries_2026-09-26.json · knowledge_base/mmx1/rom/section_block_maps_2026-09-26.json · docs/tasks/done/V12-reference-pictures-same-clock.md

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-09-28 S42: 9/9 enumerated classes seen. The seven S38 classes remain; $36: s38-sigma-1-class-36-r2-hunt_5462_5857, hook f5724, WRAM/frame gate 396/396; $3D: s38-sigma-1-class-3d-r3-hunt_21722_22250, hook f22117, 529/529. Both intakes verified. Load 80:BAC1, table 95:F48A, lookup 84:910D. S38 scope: enumerated load/variant/list/observed-rewrite classes. Input domains 84:9122/84:913D, offset-list reachability 84:80C2, writer integration and legacy engine wiring remain outside this step (KB runtime_domain_scope).

    content/x1/stages/tiles/sigma-1_full.json · knowledge_base/mmx1/rom/stage_terrain_coverage_2026-09-27.json · tools/oracle/post/stage_terrain_coverage.py · tools/tests/test_stage_terrain_coverage.py · docs/tasks/done/S38-stage-terrain-rule-and-gaps.md · docs/tasks/done/S42-terrain-credit-round-2.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 35,587 of 35,587 frames of David's sigma1-zero-arm take (R7): the stage entered from the stage select at f94 and played to its end (level 9 f94..35588; checkpoints 1, 2 and 4 at f7613, f14253 and f22130; the 0x66 encounter f6840..14253 with $1F0C at f12332; Zero's arm at f14236; the 0x05 encounter defeated at f20247; the last boss 0x63 f22347..34561, X defeated at f23709 and the encounter restored at f24511, its defeat at f34010); take sigma2, equal on every frame, leaves level 9 at f114. Pictures under Mesen2's PPU exact on 35,541 of 35,586 frames; the 2026-09-24 methodology gives camera to the state gate. Bound: the one recorded route (Zero's branch); the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-09-26 (card S31, S30's scan re-run over 27 WRAM-equal whole takes; L19's rule unchanged, coordinator decision 6), ROM-first mode: level 9's ROM list (80:DB71, M4) holds 117 entries, 69 of them census occurrences (finder 3, 80:F8DD). Every census occurrence spawned at its ROM position (offset 0 px on its first frame) in a WRAM-equal whole take (seen 69 of 69), with its trigger edge measured (80:DC36; first spawns: right 55, top 11, bottom 2, left 1), and is linked to a ledger feature (granular-v3 feature (L18) 41, E35 family 16, census row verified in the ledger 5, S31 decision 2 4, B2 owner or part 3). Children (decision 3, replacing S30's 48 px rule): the objects whose traced creator is a placement's object or its descendants; each is owned by its creator's feature, so every child is linked. Children of these placements among the six traced ids: 0x3C x7, 0x43 x14; births of the six ids at this level by traced creator: 0x3C x10 by 3:0x66, 0x3C x4 by 3:0x67, 0x3C x3 by 3:0x33, 0x42 x2 by placement 57, 0x42 x2 by placement 61, 0x42 x2 by placement 64, 0x42 x2 by placement 69, 0x43 x14 by 3:0x42, 0x4A x12 by es:0x25. Variants: none relevant (the list is chosen by level only and the byte-0 mask 80:DD3C..DD45 is 0 in all 1147 entries; no variant is named for this stage). Zero placeholders: every occurrence is the ROM list's own entry run by the ROM routine; in the 27 takes 0 of 2751 spawns are off their ROM position and 0 carry another parameter. Runs at this level: armored-armadillo_1_15055 (762 frames), flame-mammoth-arm-capsule_1_13555 (230 frames), flame-mammoth_2_30151 (552 frames), sigma1-zero-arm_2_35588 (35,495 frames), sigma2_2_41296 (112 frames), vile-zero-with-arm_1_18668 (16,274 frames); WRAM equal on every frame of each. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-26.json · tools/tests/test_stage_population_owners.py · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): entry to exit of David's sigma1-zero-arm take (level 9 from f94: checkpoints 1 f7613, 2 f14253 and 4 f22130; encounters 0x66 ($1F0C f12332) and 0x05 (f20247); Zero's arm at f14236; the last boss 0x63 from f22347, X defeated at f23709 (lives 3->2), the encounter restored at f24511 and defeated at f34010, its slot freed after f34561; level 9 to the take's end f35588, then take sigma2 enters level 10 at f114) equal in WRAM on every frame (35,587 of 35,587; sigma2 41,295 of 41,295; R7); pictures exact on 35,541 of 35,586 (the residuals belong to the visual step). Bound: the one recorded route (Zero's branch); placements on screen are not counted; the encounters' identities and credit belong to the boss steps.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-10-03: all four checkpoints, death and retry, doors, camera and exit checked on actual routes, captured on the XEON (gates byte-identical to the desktop, H18). Retries cp0 and cp1 by new branches, cp2 and cp4 rechecked, all at zero tolerance; whole take with the field proof: 35586 of 35586 pictures, 35587 of 35587 states. S35 rule preserved.

    knowledge_base/mmx1/rom/checkpoint_retries_2026-10-03_k21.json · tools/oracle/post/stage_terrain_transitions.py · docs/tasks/done/S50-sigma1-retries-on-xeon.md

Sigma Palace 2✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-25 (card L17, from V14), ROM-first mode: the one registered anchor of Sigma stage 2 passes. `source_plane_bridge_best_frame` (docs/stage-fidelity/anchors.json; reference: the registered still, the official BizHawk V1.0 movie's frame 78724) at f316 of David's sigma2 take (R7), the first frame whose camera (0, 1536) and X (128, 1536) from WRAM ($1E4D/$1E50, $0BAD/$0BB0) are the entry's and whose V12 same-clock picture equals the still outside the ignore_rects: under its own ignore_rects and max 0.0 %, the ROM-first picture (Mesen2's PPU) differs in 0 pixels (0.00 %); WRAM 316 of 316 up to it; there the ROM-first picture equals the take's (0 px). The stage registers no other anchor and no movie anchors. Bound: the anchor's view on the recorded take; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/sigma_bridge_anchors_2026-09-25.json · docs/stage-fidelity/anchors.json · tools/rom/spawn_anchor_rom_first.py · tools/tests/test_rom_spawn_anchor.py · docs/tasks/done/V14-sigma-bridge-anchors.md · knowledge_base/mmx1/rom/ppu_capture_buffer_2026-09-25.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · docs/evidence/2026-07-08-ms5-sigma-source-plane-bridge-probe/stills/sigma-2/source.png

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-09-28: all 6 enumerated collision classes of sigma-2 seen by X's probe (84:910D) in verified takes. S38's rule.

    knowledge_base/mmx1/rom/stage_terrain_coverage_2026-09-27.json · tools/oracle/post/stage_terrain_coverage.py · docs/tasks/done/S38-stage-terrain-rule-and-gaps.md · docs/tasks/done/S41-terrain-target-retarget.md · docs/tasks/done/S42-terrain-credit-round-2.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 41,295 of 41,295 frames of David's sigma2 take (R7): the stage from f114 (level 10 f114..41296; checkpoints 1, 2 and 3 at f7518, f13754 and f15504; encounters 0x02 and 0x17/0x52 defeated at f6891 and f13229; the last encounter (0x5D..0x60) from f15930 with X defeated at f20154 and f26262, a game over and continue at f26580, the stage replayed from checkpoint 0 at f27061 with both encounters again (f30104, f35205) and the last one f37659..40816); take sigma3, equal on every frame, leaves level 10 at f100. Pictures under Mesen2's PPU exact on 41,293 of 41,294 frames; the 2026-09-24 methodology gives camera to the state gate. Bound: the one recorded route; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-09-26 (card S31, S30's scan re-run over 27 WRAM-equal whole takes; L19's rule unchanged, coordinator decision 6), ROM-first mode: level 10's ROM list (80:DB71, M4) holds 77 entries, 39 of them census occurrences (finder 3, 80:F8DD). Every census occurrence spawned at its ROM position (offset 0 px on its first frame) in a WRAM-equal whole take (seen 39 of 39), with its trigger edge measured (80:DC36; first spawns: right 20, top 18, bottom 1), and is linked to a ledger feature (E35 family 19, granular-v3 feature (L18) 15, S31 decision 2 3, census row verified in the ledger 1, B2 owner or part 1). Children (decision 3, replacing S30's 48 px rule): the objects whose traced creator is a placement's object or its descendants; each is owned by its creator's feature, so every child is linked. Children of these placements among the six traced ids: none; births of the six ids at this level by traced creator: 0x16 x2 by placement 44, 0x16 x2 by placement 43, 0x16 x2 by placement 41. Variants: none relevant (the list is chosen by level only and the byte-0 mask 80:DD3C..DD45 is 0 in all 1147 entries; no variant is named for this stage). Zero placeholders: every occurrence is the ROM list's own entry run by the ROM routine; in the 27 takes 0 of 2751 spawns are off their ROM position and 0 carry another parameter. Runs at this level: sigma2_2_41296 (41,183 frames), sigma3_2_26312 (98 frames); WRAM equal on every frame of each. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-26.json · tools/tests/test_stage_population_owners.py · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): entry to exit of David's sigma2 take (level 10 from f114: checkpoints 1 f7518, 2 f13754 and 3 f15504; a death at f882; encounters 0x02 (f6891) and 0x17/0x52 (f13229); the last encounter from f15930, X defeated at f20154 (lives 1->0) and f26262 (game over, continue with 2 lives at f26580); the stage replayed from checkpoint 0 (f27061): 0x02 again (f30104), 0x17/0x52 again (f35205), the last encounter f37659..40816; then take sigma3 enters level 11 at f100) equal in WRAM on every frame (41,295 of 41,295; sigma3 26,311 of 26,311; R7); pictures exact on 41,293 of 41,294. Bound: the one recorded route; placements on screen are not counted; the encounters' identities and credit belong to the boss steps.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-10-02: all four checkpoints, death and retry, three doors, camera and exit were checked on actual routes using fresh programs. Every picture required by the S35 rule passed at zero tolerance and memory matched throughout the complete runs. Original windows and limits are retained in the acceptance artifact.

    knowledge_base/mmx1/rom/checkpoint_retry_acceptance_sigma2_2026-10-02.json · tools/oracle/post/stage_terrain_transitions.py · docs/tasks/done/S35-checkpoint-retries.md

Sigma Palace 3✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-25 (card L17, from V14), ROM-first mode: the one registered anchor of Sigma stage 3 passes. `source_plane_bridge_best_frame` (docs/stage-fidelity/anchors.json; reference: the registered still, the official BizHawk V1.0 movie's frame 86880) at f277 of David's sigma3 take (R7), the first frame whose camera (0, 768) and X (128, 768) from WRAM ($1E4D/$1E50, $0BAD/$0BB0) are the entry's and whose V12 same-clock picture equals the still outside the ignore_rects: under its own ignore_rects and max 0.0 %, the ROM-first picture (Mesen2's PPU) differs in 0 pixels (0.00 %); WRAM 277 of 277 up to it; there the ROM-first picture equals the take's (0 px). The stage registers no other anchor and no movie anchors. Bound: the anchor's view on the recorded take; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/sigma_bridge_anchors_2026-09-25.json · docs/stage-fidelity/anchors.json · tools/rom/spawn_anchor_rom_first.py · tools/tests/test_rom_spawn_anchor.py · docs/tasks/done/V14-sigma-bridge-anchors.md · knowledge_base/mmx1/rom/ppu_capture_buffer_2026-09-25.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · docs/evidence/2026-07-08-ms5-sigma-source-plane-bridge-probe/stills/sigma-3/source.png

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-10-03: all 9 enumerated collision classes of sigma-3 seen by X's probe (84:910D) in verified takes; spike $3F by X's floor read with the contact path 84:98D8 in the same frame (S54, tolerance 0).

    knowledge_base/mmx1/rom/stage_terrain_coverage_2026-10-03_s54.json · tools/oracle/post/stage_terrain_coverage.py · docs/tasks/done/S54-spike-floor-dispatch-rule.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, on 26,311 of 26,311 frames of David's sigma3 take (R7): the stage from f100 (level 11 f100..26312; checkpoints 1 to 5 at f3377, f6818, f11045, f14906 and f18533; encounters 0x14, 0x07 and 0x0C/0x0E defeated at f2755, f14284 and f17910; the last encounter (0x62, 0x61) from f18909 with X defeated at f20068 and the encounter restored at f20969, its slots to f25086); take sigma4, equal on every frame, leaves level 11 at f117. Pictures under Mesen2's PPU exact on 26,279 of 26,310 frames; the 2026-09-24 methodology gives camera to the state gate. Bound: the one recorded route; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-09-26 (card S31, S30's scan re-run over 27 WRAM-equal whole takes; L19's rule unchanged, coordinator decision 6), ROM-first mode: level 11's ROM list (80:DB71, M4) holds 89 entries, 36 of them census occurrences (finder 3, 80:F8DD). Every census occurrence spawned at its ROM position (offset 0 px on its first frame) in a WRAM-equal whole take (seen 36 of 36), with its trigger edge measured (80:DC36; first spawns: right 22, top 9, bottom 5), and is linked to a ledger feature (granular-v3 feature (L18) 22, census row verified in the ledger 5, E35 family 4, S31 decision 2 4, B2 owner or part 1). Children (decision 3, replacing S30's 48 px rule): the objects whose traced creator is a placement's object or its descendants; each is owned by its creator's feature, so every child is linked. Children of these placements among the six traced ids: 0x43 x8; births of the six ids at this level by traced creator: 0x42 x1 by placement 62, 0x42 x1 by placement 69, 0x42 x1 by placement 71, 0x42 x1 by placement 76, 0x43 x8 by 3:0x42, 0x4A x1 by es:0x25. Variants: none relevant (the list is chosen by level only and the byte-0 mask 80:DD3C..DD45 is 0 in all 1147 entries; no variant is named for this stage). Zero placeholders: every occurrence is the ROM list's own entry run by the ROM routine; in the 27 takes 0 of 2751 spawns are off their ROM position and 0 carry another parameter. Runs at this level: sigma3_2_26312 (26,213 frames), sigma4-final-not-beaten_2_37016 (115 frames); WRAM equal on every frame of each. Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-26.json · tools/tests/test_stage_population_owners.py · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-25 (card L8), ROM-first mode (megaman-x.exe --rom-first): entry to exit of David's sigma3 take (level 11 from f100: checkpoints 1 to 5 at f3377, f6818, f11045, f14906 and f18533; encounters 0x14 (f2755), 0x07 (f14284) and 0x0C/0x0E (f17910); the last encounter from f18909, X defeated at f20068 (lives 2->1), restored at f20969, its slots to f25086; then take sigma4 enters level 12 at f117) equal in WRAM on every frame (26,311 of 26,311; sigma4 37,015 of 37,015; R7); pictures exact on 26,279 of 26,310. Bound: the one recorded route; placements on screen are not counted; the encounters' identities and credit belong to the boss steps.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-10-03: all six checkpoints, death and retry, doors, camera and exit were checked on actual routes. Retries cp0 to cp4 passed at zero tolerance (cp1 by a new branch, death by an enemy); the whole sigma3 take also at zero tolerance: 26310 of 26310 pictures, 26311 of 26311 states. S35 rule preserved.

    knowledge_base/mmx1/rom/checkpoint_retries_2026-10-03_s47.json · tools/oracle/post/stage_terrain_transitions.py · docs/tasks/done/S47-sigma3-retry-intakes.md

Sigma Palace 4✓ Done2 / 2%
  • Full-stage geometry and visuals0.5%
    ✓ Verified

    Pixel gate passes every full-stage anchor using actual decoded geometry; no screenshot substitutes for scenery.

    Technical details

    2026-09-25 (card L17, from V14), ROM-first mode: the one registered anchor of Sigma stage 4 passes. `source_plane_bridge_best_frame` (docs/stage-fidelity/anchors.json; reference: the registered still, the official BizHawk V1.0 movie's frame 99112) at f440 of David's sigma4-final-not-beaten take (R7), the first frame whose camera (0, 1536) and X (128, 1648) from WRAM ($1E4D/$1E50, $0BAD/$0BB0) are the entry's and whose V12 same-clock picture equals the still outside the ignore_rects: under its own ignore_rects and max 0.0 %, the ROM-first picture (Mesen2's PPU) differs in 0 pixels (0.00 %); WRAM 440 of 440 up to it; there the ROM-first picture equals the take's (0 px). The stage registers no other anchor and no movie anchors. Bound: the anchor's view on the recorded take; the legacy engine's picture is not certified.

    knowledge_base/mmx1/rom/sigma_bridge_anchors_2026-09-25.json · docs/stage-fidelity/anchors.json · tools/rom/spawn_anchor_rom_first.py · tools/tests/test_rom_spawn_anchor.py · docs/tasks/done/V14-sigma-bridge-anchors.md · knowledge_base/mmx1/rom/ppu_capture_buffer_2026-09-25.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · docs/evidence/2026-07-08-ms5-sigma-source-plane-bridge-probe/stills/sigma-4/source.png

  • Local collisions and hazards0.4%
    ✓ Verified

    Every stage surface and hazard has measured collision/effects; shared mechanisms are reused rather than reimplemented per stage.

    Technical details

    2026-09-27 S38 partial, ROM-first: 2/2 enumerated classes ($00, $3B) seen by X probes in sigma4-final-not-beaten_2_37016, hooks f468/f491, brackets 468..470/491..493 inside WRAM and frame gate 37015/37015. Map content/x1/stages/tiles/sigma-4_full.json, load 80:BAC1, attributes 95:FABF; lookup 84:910D, wall 84:99D3, side 81:9CDD, shared floor/ceiling dispatch 84:961C/84:94A9. Scope authorized by the 2026-09-27 09:00 S38 resume: every enumerated load/variant/list/observed-rewrite class. Exhaustive input domains of 84:9122/84:913D and offset-list reachability at 84:80C2 are outside this step and remain open (S36/S37 Results; KB runtime_domain_scope). Writer integration and the legacy engine are not certified.

    content/x1/stages/tiles/sigma-4_full.json · knowledge_base/mmx1/rom/stage_terrain_coverage_2026-09-27.json · tools/oracle/post/stage_terrain_coverage.py · tools/tests/test_stage_terrain_coverage.py · docs/tasks/done/S36-per-section-block-maps.md · docs/tasks/done/S37-engine-per-section-collision.md · docs/tasks/done/S38-stage-terrain-rule-and-gaps.md

  • Camera and scrolling0.3%
    ✓ Verified

    Camera, bounds, scrolling, parallax and vertical transitions checked over the complete route video with diff_stats.

    Technical details

    2026-09-25 (card L21, L8's rule for stage camera and traversal), ROM-first mode (megaman-x.exe --rom-first): the generated program equals the original's WRAM, camera and scroll included, over the recorded route. David's sigma4-final-not-beaten take (R7) enters level 12 from sigma 3's exit at f117 and reaches the arena (0x65 from f1322); X is defeated there four times and each time the encounter comes back (f7758, f13219, f18592, f26570; B2). His krl.mmo take (R9) plays level 12 from f88 to the arena (0x65 from f1715) and the win (f13897), then the stage's exit: level 0, the ending, from f23001. His boss.mmo take (R8) plays level 12 f1501..15997. WRAM equal on every frame (37,015 of 37,015; 44,617 of 44,617; 15,997 of 15,997); pictures under V12's same-clock reference exact on every frame (37,014 of 37,014; 44,616 of 44,616, level 12 22,913 of 22,913; 15,996 of 15,996). The 2026-09-24 methodology gives camera to the state gate. Bound: the recorded routes; the legacy engine's camera is not certified.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925c_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925b_2026-09-25.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json · tools/tests/test_intake_david_0925.py · tools/tests/test_intake_david_0925b.py · tools/tests/test_intake_david_0925c.py · tools/tests/test_ppu_reference_buffer.py · docs/tasks/done/R9-intake-david-sigma-final-win-0925.md · docs/tasks/done/L21-ledger-sigma4-route.md

  • Family placement and integration0.3%
    ✓ Verified

    Every census occurrence linked to the correct family, measured position and trigger; zero placeholders, including relevant variants and children.

    Technical details

    2026-09-25 (card L19, from S30 on granular-v3), ROM-first mode: level 12's ROM list (80:DB71, M4) holds 5 entries, 3 of them census occurrences (finder 3, 80:F8DD). Every census occurrence spawned at its ROM position (offset 0 px on its first frame) in a verified run (S30: 3 of 3), with its trigger edge measured (80:DC36; first spawns: top 3), and is linked to a ledger feature: 1 by S30 (B2 owner or part 1), 2 by granular-v3's features (0x68 -> enemy.oid_6a x2). Children: the census objects born within 48 px of its placements (S30's analysis rule, not a ROM pointer) are 0x6A (enemy.oid_6a) x22, each linked. Variants: none relevant (the list is chosen by level only and the byte-0 mask 80:DD3C..DD45 is 0 in all 1147 entries, so no entry is variant-only; S30 names no variant of this stage). Zero placeholders: every occurrence is the ROM list's own entry run by the ROM routine; S30 finds 0 spawns off their ROM position and 0 with a different parameter in its 13 stages. Entries of finders 0-2 are not census occurrences (S30): 2 of 2 spawned at their ROM position. Runs: sigma4-final-not-beaten_2_37016 (36,900 frames at level 12), WRAM equal on every frame of each (E35 runs: wram_equal = frames). Bound: the situations observed in these runs; the legacy engine is not certified.

    knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/enemy_evidence_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · docs/tasks/done/L18-ledger-revision-v3.md · docs/tasks/done/S30-stage-population-from-placements.md · tools/tests/test_stage_population.py

  • Stage traversal0.3%
    ✓ Verified

    Entry-to-exit traversal compared to source with video/diff_stats and regressions; covers routes, hazards and encounters, not only the opening.

    Technical details

    2026-09-25 (card L21, L8's rule for stage camera and traversal), ROM-first mode (megaman-x.exe --rom-first): entry to exit. David's sigma4-final-not-beaten take (R7) enters level 12 from sigma 3's exit at f117 and reaches the arena (0x65 from f1322); X is defeated there four times and each time the encounter comes back (f7758, f13219, f18592, f26570; B2). His krl.mmo take (R9) plays level 12 from f88 to the arena (0x65 from f1715) and the win (f13897), then the stage's exit: level 0, the ending, from f23001. His boss.mmo take (R8) plays level 12 f1501..15997. WRAM equal on every frame (37,015 of 37,015; 44,617 of 44,617; 15,997 of 15,997); pictures under V12's same-clock reference exact on every frame (37,014 of 37,014; 44,616 of 44,616, level 12 22,913 of 22,913; 15,996 of 15,996). Bound: the recorded routes; placements on screen are not counted; the encounters' identities and credit belong to the boss steps.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925c_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925b_2026-09-25.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/boss_identity_2026-09-25.json · tools/tests/test_intake_david_0925.py · tools/tests/test_intake_david_0925b.py · tools/tests/test_intake_david_0925c.py · tools/tests/test_ppu_reference_buffer.py · docs/tasks/done/R9-intake-david-sigma-final-win-0925.md · docs/tasks/done/L21-ledger-sigma4-route.md

  • Checkpoints and transitions0.2%
    ✓ Verified

    Validate every checkpoint, death, retry, door and stage exit through actual campaign routes.

    Technical details

    2026-09-26 (card G10, W37's rule), ROM-first mode: every part is seen in the four WRAM-equal level-12 takes. Checkpoints: level 12's list (5 entries) holds no checkpoint writer (finder-2 0x0B 81:FF5E, 0x0E 82:FB52, 0x02 87:F898; 0x67, 0x66, 0x69, 0x48, 0x52 not placed), so the set is {0} from the stage start 80:995D; $1F81 = 0 on every in-stage level-12 frame. Deaths and retry: sigma4-final-not-beaten f6205, 11112, 17013, 24974, 36115; sigma-final-attempt-1 f15249; sigma-final-attempt-2 f8680, 21201; 5 retries through 80:9989 back at checkpoint 0 with pictures exact (S35); game over f11321 to the stage select and back into level 12 at f11919. Doors: the boss door is finder-0 OID 0x07 (80:D342 -> 80:F369 -> 81:E6C5, contact 81:E71C, X freeze 81:E725); level 12 places no finder-0 entry, its finder-0 slots are empty on every frame and X never takes the door state 0x1A (81:96EA). Scroll lock: $1E60 and $1E6E stay 0; the camera-region object finder-2 0x00 (81:F6AB) and the section trigger 0x18 (83:FD7B) run in all four takes. Stage exit: 0x65's code stores $1F7B = 4 (88:CE74, sigma-final-win f15450); 80:9C00 CMP #$04, 80:9C04 JMP 80:9C79 sets the ending (w_endingRoll 1, level 0, $D2 2, $D3 $16), seen at f23001. Pictures exact whole: 37,014 of 37,014; 15,996 of 15,996; 44,616 of 44,616 (L21, L20). KB knowledge_base/mmx1/rom/g10_sigma4_campaign_2026-09-26.json.

    knowledge_base/mmx1/rom/g10_sigma4_campaign_2026-09-26.json · tools/tests/test_g10_sigma4_campaign.py · knowledge_base/mmx1/rom/checkpoint_retries_2026-09-26.json · knowledge_base/mmx1/rom/stage_population_2026-09-26.json · docs/tasks/done/L21-ledger-sigma4-route.md

Upgrades, items and mechanisms

✓ Done7 / 7%Items done: 23 of 23

Done in this area, with video from the game

Heart Tank — Chill Penguin✓ Done0.15 / 0.15%
  • Heart Tank — Chill Penguin0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    ROM-first mode (card L7): heart tank = misc table 80F320 id 0x0B (stub 80:F37D, main 81:E992; card L5); placement list 85:9A16, finder-0 entry at column 164 (x 5260, y 692), param 0x01 = its bit in $7E1F9C, tested at 81:E99D. David's CP new-game recording (R6, 21,068 of 21,068 frames equal): a finder-0 slot holds id 0x0B f11666..11920, $1F9C 0x00->0x01 at f11831, maximum health $7E1F9A (ram_map max_health; stored at 81:EB57) 16->17 at f11915 and 17->18 at f11919, slot freed at f11921. Pictures under Mesen2's PPU exact on every frame f11664..11923 (260 of 260). SFX 0x0C (81:EB64) is gated on the CPU side only; no APU run.

    knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/ram_map.json · tools/tests/test_intake_david_0924.py · docs/tasks/done/R6-intake-david-recordings-0924.md

Heart Tank — Storm Eagle✓ Done0.15 / 0.15%
  • Heart Tank — Storm Eagle0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    ROM-first mode (card L5): heart tank = misc table 80F320 id 0x0B (stub 80:F37D, main 81:E992); placement list 85:91A8 param 0x04 = its bit in $7E1F9C, tested at 81:E99D. K8 captures (sha256 in frame_gate_movies, 21,058 of 21,058 frames equal): slot $1628 active f2183..2361, $1F9C 0xFB->0xFF at f2272, maximum health $7E1F9A (ram_map max_health; stored at 81:EB57, capped at 0x20) 30->31 at f2356 and 31->32 at f2360, $0BCF following, slot freed at f2362. E34: 179 of 179 calls exact; V6: 161 of 161 on-screen frames exact (V6 labels are K8 + 1). SFX 0x0C (81:EB64) is gated on the CPU side only; no APU run.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/object_tables_gate_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_se_movie_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/ram_map.json

Heart Tank — Flame Mammoth✓ Done0.15 / 0.15%
  • Heart Tank — Flame Mammoth0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    ROM-first mode (card L5): heart tank = misc table 80F320 id 0x0B (stub 80:F37D, main 81:E992); placement list 85:8EBE param 0x10 = its bit in $7E1F9C, tested at 81:E99D. K8 captures (sha256 in frame_gate_movies, 30,150 of 30,150 frames equal): slot $1628 active f9536..9809, $1F9C 0xEF->0xFF at f9720, maximum health $7E1F9A (ram_map max_health; stored at 81:EB57, capped at 0x20) 30->31 at f9804 and 31->32 at f9808, $0BCF following, slot freed at f9810. E34: 274 of 274 calls exact; V6: 257 of 257 on-screen frames exact (V6 labels are K8 + 1). SFX 0x0C (81:EB64) is gated on the CPU side only; no APU run.

    knowledge_base/mmx1/rom/frame_gate_movies_2026-09-24.json · knowledge_base/mmx1/rom/object_tables_gate_2026-09-24.json · knowledge_base/mmx1/rom/ppu_gate_fm_movie_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/ram_map.json

Heart Tank — Spark Mandrill✓ Done0.15 / 0.15%
  • Heart Tank — Spark Mandrill0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L12, V12's same-clock pictures with L7's row), ROM-first mode: David's spark-mandrill take (R6): 0x0B f8536..8954, $1F9C 0x01 -> 0x41 f8865 (85:94D4 param 0x40), $1F9A 18 -> 20 (L7). The generated program's WRAM equals the capture on every frame f1..27368 (27,368 of 27,368). Pictures under Mesen2's PPU against V12's screen-buffer reference exact on every frame f8534..8957, the slot -2..+3 (424 of 424; L7 had 417: the 7 frames f8655..8859 were the old capture, V12). The take's 24 remaining frames (one-row class: f5075..5441, f6129, f16183, f17812..17914) lie outside. Bound: sound is checked on the CPU side only (WRAM); no APU run.

    knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/ppu_capture_buffer_2026-09-25.json · tools/tests/test_ppu_reference_buffer.py · docs/tasks/done/V12-reference-pictures-same-clock.md · docs/tasks/done/L7-ledger-new-recordings-and-tours.md · knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/ram_map.json

Heart Tank — Armored Armadillo✓ Done0.15 / 0.15%
  • Heart Tank — Armored Armadillo0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L8), ROM-first mode: heart tank = misc table 80F320 id 0x0B (stub 80:F37D, main 81:E992; card L5); placement list 85:8A0B, finder-0 entry at column 38 (x 1226, y 2359), param 0x02 = its bit in $7E1F9C, tested at 81:E99D. David's armored-armadillo take (R7, 15,055 of 15,055 frames equal): a finder-0 slot holds id 0x0B f5792..6010, $1F9C 0xCD->0xCF at f5921 (81:EAEC TSB), maximum health $7E1F9A (ram_map max_health; stored at 81:EB57) 26->27 at f6005 and 27->28 at f6009, slot freed at f6011. Pictures under Mesen2's PPU exact on every frame f5790..6013 (224 of 224). SFX 0x0C (81:EB64) is gated on the CPU side only; no APU run.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/ram_map.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

Heart Tank — Launch Octopus✓ Done0.15 / 0.15%
  • Heart Tank — Launch Octopus0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L8), ROM-first mode: heart tank = misc table 80F320 id 0x0B (stub 80:F37D, main 81:E992; card L5); placement list 85:85AA, finder-0 entry at column 198 (x 6344, y 1204), param 0x80 = its bit in $7E1F9C, tested at 81:E99D. David's launch-octopus take (R7, 38,341 of 38,341 frames equal): a finder-0 slot holds id 0x0B f14112..14288, $1F9C 0x41->0xC1 at f14199 (81:EAEC TSB), maximum health $7E1F9A (ram_map max_health; stored at 81:EB57) 20->21 at f14283 and 21->22 at f14287, slot freed at f14289. Pictures under Mesen2's PPU exact on every frame f14110..14291 (182 of 182). SFX 0x0C (81:EB64) is gated on the CPU side only; no APU run.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/ram_map.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

Heart Tank — Boomer Kuwanger✓ Done0.15 / 0.15%
  • Heart Tank — Boomer Kuwanger0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L8), ROM-first mode: heart tank = misc table 80F320 id 0x0B (stub 80:F37D, main 81:E992; card L5); placement list 85:97B6, finder-0 entry at column 50 (x 1618, y 874), param 0x20 = its bit in $7E1F9C, tested at 81:E99D. The Boomer Kuwanger run of David's items-collection take (R7, 15,103 of 15,103 frames equal): a finder-0 slot holds id 0x0B f6914..7194, $1F9C 0xCF->0xEF at f7105 (81:EAEC TSB), maximum health $7E1F9A (ram_map max_health; stored at 81:EB57) 28->29 at f7189 and 29->30 at f7193, slot freed at f7195. Pictures under Mesen2's PPU exact on every frame f6912..7197 (286 of 286). SFX 0x0C (81:EB64) is gated on the CPU side only; no APU run.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/ram_map.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

Heart Tank — Sting Chameleon✓ Done0.15 / 0.15%
  • Heart Tank — Sting Chameleon0.15%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L8), ROM-first mode: heart tank = misc table 80F320 id 0x0B (stub 80:F37D, main 81:E992; card L5); placement list 85:87BB, finder-0 entry at column 51 (x 1647, y 890), param 0x08 = its bit in $7E1F9C, tested at 81:E99D. The flooded Sting Chameleon run of David's launch-octopus-and-sting-flooded take (R7, 38,341 of 38,341 frames equal; the variant bit set on all 9,773 frames of the run): a finder-0 slot holds id 0x0B f32378..32543, $1F9C 0xC1->0xC9 at f32454 (81:EAEC TSB), maximum health $7E1F9A (ram_map max_health; stored at 81:EB57) 22->23 at f32538 and 23->24 at f32542, slot freed at f32544. Pictures under Mesen2's PPU exact on every frame f32376..32546 (171 of 171). SFX 0x0C (81:EB64) is gated on the CPU side only; no APU run.

    knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/ram_map.json · tools/tests/test_intake_david_0925.py · docs/tasks/done/R7-intake-david-recordings-0925.md

Sub Tank — Flame Mammoth✓ Done0.2 / 0.2%
  • Sub Tank — Flame Mammoth0.2%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L20, L12's rule: picked up and used in WRAM-equal takes, pictures under V12's reference), ROM-first mode: tank byte $1F86. The ROM's pickup 81:E64A..81:E660 (LDX #$00; LDA $1F83,X; BMI to the next byte; LDA #$80; STA $1F83,X; LDA $1633; TSB $1F99; INX; CPX #$04) sets bit 7 in the first of $1F83..$1F86 that lacks it, so a byte's stage is the level at its $00 -> $80 change: flame-mammoth (level 4), David's take items-collection (R7) f13332. knowledge_base/mmx1/ram_map.json has no tank entry for it (it names the byte weapon_slot_x_buster); the pickup loop above and these takes show the fourth tank byte. Used (drained $8E -> $80 in 14 steps, X's health rising): boss.mmo (R8) f9488..9540, health 1 -> 29, bosses 0x65 active; krl.mmo (R9) f8770..8822, health 8 -> 32, bosses 0x65 active. The generated program's WRAM equals the capture on every frame of these takes (items-collection (R7) 15,103, boss.mmo (R8) 15,997, krl.mmo (R9) 44,617). Pictures under Mesen2's PPU against V12's screen-buffer reference: exact on every frame of the pickup take (15,102 of 15,102), and on every frame of boss.mmo (R8) (15,996 of 15,996), krl.mmo (R9) (44,616 of 44,616). Bound: sound is checked on the CPU side only (WRAM); no APU run.

    knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925b_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925c_2026-09-25.json · tools/tests/test_ppu_reference_buffer.py · tools/tests/test_intake_david_0925b.py · tools/tests/test_intake_david_0925c.py · docs/tasks/done/R8-intake-david-sigma-final-0925.md · docs/tasks/done/R9-intake-david-sigma-final-win-0925.md · docs/tasks/done/L12-ledger-v12-exact-windows.md

Sub Tank — Storm Eagle✓ Done0.2 / 0.2%
  • Sub Tank — Storm Eagle0.2%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L20, L12's rule: picked up and used in WRAM-equal takes, pictures under V12's reference), ROM-first mode: tank byte $1F84. The ROM's pickup 81:E64A..81:E660 (LDX #$00; LDA $1F83,X; BMI to the next byte; LDA #$80; STA $1F83,X; LDA $1633; TSB $1F99; INX; CPX #$04) sets bit 7 in the first of $1F83..$1F86 that lacks it, so a byte's stage is the level at its $00 -> $80 change: storm-eagle (level 5), David's take storm-eagle-and-spark-dark (R7) f4679. knowledge_base/mmx1/ram_map.json names it sub_tank_2. Used (drained $8E -> $80 in 14 steps, X's health rising): boss.mmo (R8) f13867..13919, health 1 -> 29, bosses 0x65, 0x6B active. The generated program's WRAM equals the capture on every frame of these takes (storm-eagle-and-spark-dark (R7) 25,919, boss.mmo (R8) 15,997). Pictures under Mesen2's PPU against V12's screen-buffer reference: exact on every frame of the pickup take but f21065 (25,917 of 25,918; f21065 comes 16,386 frames after the pickup), and on every frame of boss.mmo (R8) (15,996 of 15,996). Bound: sound is checked on the CPU side only (WRAM); no APU run.

    knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925b_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925c_2026-09-25.json · tools/tests/test_ppu_reference_buffer.py · tools/tests/test_intake_david_0925b.py · tools/tests/test_intake_david_0925c.py · docs/tasks/done/R8-intake-david-sigma-final-0925.md · docs/tasks/done/R9-intake-david-sigma-final-win-0925.md · docs/tasks/done/L12-ledger-v12-exact-windows.md · knowledge_base/mmx1/ram_map.json

Sub Tank — Spark Mandrill✓ Done0.2 / 0.2%
  • Sub Tank — Spark Mandrill0.2%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L12, V12's same-clock pictures with L7's and L8's rows), ROM-first mode: picked up in David's spark-mandrill take (R6): $1F83 0x00 -> 0x80 f2204, 0x82 f12658 (L7); used in R7's takes: SC f10093..10105, Sigma 1 f32412..32460, Sigma 4 f32683..32715 (L8). The generated program's WRAM equals the capture on every frame of the four takes (27,368, 25,606, 35,587, 37,015). Pictures under Mesen2's PPU against V12's screen-buffer reference exact on every frame of the pickup window f2064..2288 (225 of 225; L8 had f2065 not exact: the old capture, V12) and on every frame of the three takes where it is used (25,605, 35,586, 37,014). Bound: sound is checked on the CPU side only (WRAM); no APU run.

    knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/ppu_capture_buffer_2026-09-25.json · tools/tests/test_ppu_reference_buffer.py · docs/tasks/done/V12-reference-pictures-same-clock.md · docs/tasks/done/L7-ledger-new-recordings-and-tours.md · docs/tasks/done/L8-ledger-david-takes-0925.md · knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/ram_map.json

Sub Tank — Armored Armadillo✓ Done0.2 / 0.2%
  • Sub Tank — Armored Armadillo0.2%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L20, L12's rule: picked up and used in WRAM-equal takes, pictures under V12's reference), ROM-first mode: tank byte $1F85. The ROM's pickup 81:E64A..81:E660 (LDX #$00; LDA $1F83,X; BMI to the next byte; LDA #$80; STA $1F83,X; LDA $1633; TSB $1F99; INX; CPX #$04) sets bit 7 in the first of $1F83..$1F86 that lacks it, so a byte's stage is the level at its $00 -> $80 change: armored-armadillo (level 3), David's take armored-armadillo (R7) f2428. knowledge_base/mmx1/ram_map.json names it sub_tank_3. Used (drained $8E -> $80 in 14 steps, X's health rising): boss.mmo (R8) f12674..12726, health 1 -> 29, bosses 0x65, 0x6B active; krl.mmo (R9) f12729..12781, health 4 -> 32, bosses 0x65, 0x6B active. The generated program's WRAM equals the capture on every frame of these takes (armored-armadillo (R7) 15,055, boss.mmo (R8) 15,997, krl.mmo (R9) 44,617). Pictures under Mesen2's PPU against V12's screen-buffer reference: exact on every frame of the pickup take (15,054 of 15,054), and on every frame of boss.mmo (R8) (15,996 of 15,996), krl.mmo (R9) (44,616 of 44,616). Bound: sound is checked on the CPU side only (WRAM); no APU run.

    knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925b_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0925c_2026-09-25.json · tools/tests/test_ppu_reference_buffer.py · tools/tests/test_intake_david_0925b.py · tools/tests/test_intake_david_0925c.py · docs/tasks/done/R8-intake-david-sigma-final-0925.md · docs/tasks/done/R9-intake-david-sigma-final-win-0925.md · docs/tasks/done/L12-ledger-v12-exact-windows.md · knowledge_base/mmx1/ram_map.json

Legs: capsule and dash upgrade✓ Done0.35 / 0.35%
  • Legs: capsule and dash upgrade0.35%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L12, V12's same-clock pictures with L7's row), ROM-first mode: the leg-parts capsule in David's chill-penguin-new-game take (R6): capsule 0x4D f7142..10075, $1F99 0x00 -> 0x08 f9707, dash 397 frames from f9987, none earlier (L7). The generated program's WRAM equals the capture on every frame f1..21068 (21,068 of 21,068). Pictures under Mesen2's PPU against V12's screen-buffer reference exact on every frame of the capsule window f7142..10075 (2,934 of 2,934; L7 had 2,933: f8877 was the old capture, V12) and on every frame of the take (21,067 of 21,067), the dash from f9987 included. Bound: sound is checked on the CPU side only (WRAM); no APU run.

    knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/rom/ppu_capture_buffer_2026-09-25.json · tools/tests/test_ppu_reference_buffer.py · docs/tasks/done/V12-reference-pictures-same-clock.md · docs/tasks/done/L7-ledger-new-recordings-and-tours.md · knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · knowledge_base/mmx1/rom/events_2026-09-24.json · knowledge_base/mmx1/ram_map.json · knowledge_base/mmx1/rom/sfx_ae_af_witness_2026-10-10_r112.json

Body: capsule and damage reduction✓ Done0.35 / 0.35%
  • Body: capsule and damage reduction0.35%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card L29, O1's KB with L8's residual rule), ROM-first mode (megaman-x.exe --rom-first): every behaviour the title names runs in WRAM-equal whole takes: capsule (87:D0B2): first sting-chameleon f11461, 1 frames, pictures 1 of 1; damage reduction (84:9D41): first sting-chameleon f12612, 402 frames, pictures 401 of 402. Pictures exact on 402 of 403 frames; the one other, launch-octopus-auto f4710, is a picture residual that belongs to the visual step (L8's rule; O1 held the step for it under L26's stricter wording). Bound: the recorded behaviours.

    knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json · tools/tests/test_objects_evidence.py · docs/tasks/done/O1-objects-evidence.md · docs/tasks/done/L29-ledger-object-residuals.md · knowledge_base/mmx1/rom/sfx_ae_af_witness_2026-10-10_r112.json

Helmet: capsule and breakable blocks✓ Done0.35 / 0.35%
  • Helmet: capsule and breakable blocks0.35%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card O1, coordinator decisions 1-3, from R10's and R12's WRAM-equal whole takes and their K5 captures): every behaviour the title names runs in David's takes, pictures exact on each one's frames (V12); behaviour, bank:addr, first (take, frame), snapshots: capsule 87:D0B2 (storm-eagle-and-spark-dark f8651, 1 0x4D/0x4E); breakable blocks 81:9EA5 (storm-eagle-and-spark-dark f20814, 1). KB knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json.

    knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json · tools/tests/test_objects_evidence.py · knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json · docs/tasks/done/R10-campaign-scenes-kb.md · knowledge_base/mmx1/rom/x_state_coverage_2026-09-24.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/sfx_ae_af_witness_2026-10-10_r112.json

Arms: capsule, Zero alternative and charge✓ Done0.35 / 0.35%
  • Arms: capsule, Zero alternative and charge0.35%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card O1, coordinator decisions 1-3, from R10's and R12's WRAM-equal whole takes and their K5 captures): every behaviour the title names runs in David's takes, pictures exact on each one's frames (V12); behaviour, bank:addr, first (take, frame), snapshots: capsule 87:D0B2 (flame-mammoth-arm-capsule f11486, 1 0x4D/0x4E); Zero alternative 88:D7D5 (sigma1-zero-arm f14236, 1); charge 81:98C6 (sigma1-zero-arm f14434, 6551). KB knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json.

    knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json · tools/tests/test_objects_evidence.py · knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json · docs/tasks/done/R10-campaign-scenes-kb.md · knowledge_base/mmx1/rom/intake_david_0925d_2026-09-25.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json · knowledge_base/mmx1/rom/sfx_ae_af_witness_2026-10-10_r112.json

Hadouken: acquisition and use✓ Done0.4 / 0.4%
  • Hadouken: acquisition and use0.4%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card R15, David's take pegar hadouken.mmo), ROM-first mode (megaman-x.exe --rom-first): acquisition and use run in the WRAM-equal whole take (73,902 of 73,902 frames after R9's merge; pictures exact 73,901 of 73,901): capsule 0x4D spawns at the fifth level-3 load ($1F7E = 5 at f37,010; 87:CAC8), capsule 0x4E subID 1 sets $1F7E bit 7 at f38,024 (87:D0DB); hadukenCheck (81:A0EA) passes 23 times, X action $42 then the shot (projectile id $04, 81:A121), first at f38,237 and f38,254; pictures exact on those frames. Bound: the recorded behaviours.

    knowledge_base/mmx1/rom/intake_david_0926b_2026-09-26.json · tools/tests/test_intake_david_0926b.py · docs/tasks/done/R15-intake-david-hadouken-0926.md · knowledge_base/mmx1/rom/sfx_ae_af_witness_2026-10-10_r112.json

Ride Armor: enter, pilot and exit✓ Done0.7 / 0.7%
  • Ride Armor: enter, pilot and exit0.7%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card O1, coordinator decisions 1-3, from R10's and R12's WRAM-equal whole takes and their K5 captures): every behaviour the title names runs in David's takes, pictures exact on each one's frames (V12); behaviour, bank:addr, first (take, frame), snapshots: enter 83:8605 (chill-penguin-new-game f11047, 9 0x2F); pilot 81:8E7F (chill-penguin-new-game f11090, 2631 0x2F); exit 83:8673 (chill-penguin-new-game f11546, 4 0x2F). KB knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json.

    knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json · tools/tests/test_objects_evidence.py · knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json · docs/tasks/done/R10-campaign-scenes-kb.md · knowledge_base/mmx1/rom/census_owners_2026-09-25.json

Health, energy, ammo and drops✓ Done0.5 / 0.5%
  • Health, energy, ammo and drops0.5%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card O2, coordinator decisions 1-3, over O1's WRAM-equal whole takes and their K5 captures): every behaviour the title names runs in David's takes (O1's rule, L29's residual reading); behaviour, bank:addr, first (take, frame), snapshots: health 82:E590 (flame-mammoth-lava f4237, 269); energy (sub tank) 81:E653 (spark-mandrill f2204, 4); ammo (weapon energy) 81:E0CE (chill-penguin-new-game f12219, 161); drops 84:A384 (intro-highway f1438, 106). KB knowledge_base/mmx1/rom/objects_evidence_o2_2026-09-26.json.

    knowledge_base/mmx1/rom/objects_evidence_o2_2026-09-26.json · tools/tests/test_objects_evidence_o2.py · knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json · knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json · docs/tasks/done/R10-campaign-scenes-kb.md

Stage changes after boss defeats✓ Done0.5 / 0.5%
  • Stage changes after boss defeats0.5%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card L29, O1's KB with L8's residual rule), ROM-first mode (megaman-x.exe --rom-first): every behaviour the title names runs in WRAM-equal whole takes: SC flooded (after LO) (80:BC95): first launch-octopus-and-sting-flooded f28915, 8,357 frames, pictures 8,357 of 8,357; SM dark (after SE) (80:BC83): first storm-eagle-and-spark-dark f16923, 10,005 frames, pictures 10,004 of 10,005; FM frozen (after CP) (80:BC71): first items-collection f9381, 15,597 frames, pictures 15,597 of 15,597. Pictures exact on 33,958 of 33,959 frames; the one other, storm-eagle-and-spark-dark f21065, is a picture residual that belongs to the visual step (L8's rule; O1 held the step for it under L26's stricter wording). Bound: the recorded behaviours.

    knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json · tools/tests/test_objects_evidence.py · docs/tasks/done/O1-objects-evidence.md · docs/tasks/done/L29-ledger-object-residuals.md

Moving platforms and elevators✓ Done0.5 / 0.5%
  • Moving platforms and elevators0.5%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card O1, coordinator decisions 1-3, from R10's and R12's WRAM-equal whole takes and their K5 captures): every behaviour the title names runs in David's takes, pictures exact on each one's frames (V12); behaviour, bank:addr, first (take, frame), snapshots: moving platforms 87:9794 (boomer-kuwanger f14828, 5956 0x16); moving platforms 87:B216 (boomer-kuwanger f11135, 10766 0x3F); moving platforms 87:C07A (storm-eagle-and-spark-dark f10847, 212 0x48); moving platforms 88:97BA (armored-armadillo f1132, 2572 0x2B); elevators 87:ADD8 (boomer-kuwanger f4553, 4157 0x3D). KB knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json.

    knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json · tools/tests/test_objects_evidence.py · knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json · docs/tasks/done/R10-campaign-scenes-kb.md · knowledge_base/mmx1/rom/census_owners_2026-09-25.json

Breakable blocks, obstacles and scenery✓ Done0.5 / 0.5%
  • Breakable blocks, obstacles and scenery0.5%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card O2, coordinator decisions 1-3, over O1's WRAM-equal whole takes and their K5 captures): every behaviour the title names runs in David's takes (O1's rule, L29's residual reading); behaviour, bank:addr, first (take, frame), snapshots: breakable blocks 81:9EBC (storm-eagle-and-spark-dark f20814, 1); breakable blocks 87:B542 (storm-eagle-and-spark-dark f4604, 2); obstacles 83:BBD2 (sting-chameleon f3015, 20087); obstacles 82:9689 (intro-highway f1873, 1233); scenery 87:BC8B (storm-eagle-and-spark-dark f6497, 485). KB knowledge_base/mmx1/rom/objects_evidence_o2_2026-09-26.json.

    knowledge_base/mmx1/rom/objects_evidence_o2_2026-09-26.json · tools/tests/test_objects_evidence_o2.py · knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json · knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json · docs/tasks/done/R10-campaign-scenes-kb.md · knowledge_base/mmx1/rom/x_state_coverage_2026-09-24.json · knowledge_base/mmx1/rom/census_owners_2026-09-25.json

Conveyors, currents, water and environmental hazards✓ Done0.5 / 0.5%
  • Conveyors, currents, water and environmental hazards0.5%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (gang G4, O2's rule: O1/W37 with L29's residual reading for colour_math frames only, over O1's 22 WRAM-equal whole takes and their K5 captures): every behaviour the title names runs in David's takes; behaviour, bank:addr, first (take, frame), snapshots: conveyors 83:E1BC (flame-mammoth-lava f8923, 955); currents 87:DABD (storm-eagle-and-spark-dark f12729, 720); water 84:9557 (launch-octopus-and-sting-flooded f1175, 32,596); environmental hazards 87:B808 (boomer-kuwanger f2964, 7,438); environmental hazards 87:B91C (boomer-kuwanger f2998, 3,387); environmental hazards 87:BA72 (boomer-kuwanger f2964, 7,148); environmental hazards 87:C994 (flame-mammoth-lava f9840, 2,189). Water is X's water state: collision tile types 0x0D/0x0E dispatch (84:9490, 84:9600) to 84:9557 / 84:987E (TSB $0C18 bit0, weight $21, fall cap $FD40) and types 0x00/0x0F/0x10 to 84:9529 / 84:969C (exit); in water 81:9B7B makes the bubbles; seen in 3 takes (launch-octopus-and-sting-flooded 49 entries, 49 exits). Pictures exact on every seen frame except colour_math residuals: launch-octopus-auto 11 (f3656, f3666, f3672). Bound: the recorded takes. KB knowledge_base/mmx1/rom/small_areas_2026-09-26.json.

    knowledge_base/mmx1/rom/small_areas_2026-09-26.json · tools/tests/test_small_areas.py · knowledge_base/mmx1/rom/objects_evidence_o2_2026-09-26.json · knowledge_base/mmx1/rom/objects_evidence_2026-09-26.json

Campaign, menus and presentation

10 of 12 steps7.73 / 8%Items done: 10 of 12

Done in this area, with video from the game

Pack identity and safe paths✓ Done0.5 / 0.5%
  • Pack identity and safe paths0.5%
    ✓ Verified

    Preserve the exact accepted behavior and limitations of the referenced foundation contracts.

    Technical details

    Existing accepted foundation contract; not complete campaign fidelity or physical owner QA.

    content/x1/manifest.json · tests/cpp/content_pack_contract_test.cpp · tests/cpp/content_paths_contract_test.cpp · tests/cpp/stage_identity_contract_test.cpp · docs/STATE.md

Input bindings and settings data✓ Done0.75 / 0.75%
  • Input bindings and settings data0.75%
    ✓ Verified

    Preserve the exact accepted behavior and limitations of the referenced foundation contracts.

    Technical details

    Existing accepted foundation contract; not complete campaign fidelity or physical owner QA.

    tests/cpp/input_bindings_contract_test.cpp · tests/cpp/settings_contract_test.cpp · src/app/input_bindings.cpp · src/data/settings.cpp · docs/STATE.md

Save and password data contracts✓ Done1 / 1%
  • Save and password data contracts1%
    ✓ Verified

    Preserve the exact accepted behavior and limitations of the referenced foundation contracts.

    Technical details

    Existing accepted foundation contract; not complete campaign fidelity or physical owner QA.

    tests/cpp/save_system_contract_test.cpp · tests/cpp/password_entry_contract_test.cpp · tests/cpp/mmx1_password_contract_test.cpp · src/data/save_system.cpp · src/data/mmx1_password.cpp

Typed boss/reward catalog✓ Done0.5 / 0.5%
  • Typed boss/reward catalog0.5%
    ✓ Verified

    Preserve the exact accepted behavior and limitations of the referenced foundation contracts.

    Technical details

    Existing accepted foundation contract; not complete campaign fidelity or physical owner QA.

    tests/cpp/catalog_contract_test.cpp · src/data/x1_catalog.cpp · src/data/x1_catalog.h · content/x1/manifest.json

Complete title, selection and navigation✓ Done0.55 / 0.55%
  • Complete title, selection and navigation0.55%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card R13, coordinator decisions 1-3): credited: every title function runs in a WRAM-equal whole movie with pictures exact. Tapes from power-on by K14's method (make_tape.lua): title-options-all (2253 frames) runs every option item once, then EXIT; title-password-accepted (2401 frames) types the password the ROM wrote in David's chill-penguin-new-game (f17960, 7 1 0 7 6 2 6 6 3 2 7 0 in $7EFFCB..$7EFFD6) and confirms it. Intakes (intake_movie.py --ppu mesen2, V12's buffer reference): title-options-all frame gate 2252 of 2252, WRAM 2252 of 2252, pictures 2251 of 2251; title-password-accepted frame gate 2400 of 2400, WRAM 2400 of 2400, pictures 2399 of 2399. Seen: key config 80:EB68 title-options-all f1020, stereo/mono 80:EBE5 title-options-all f1488, BGM test 80:EC27 title-options-all f1566 and 80:EC51 title-options-all f1592, SE test 80:EC6B title-options-all f1762 and 80:EC9D title-options-all f1788, EXIT 80:ECD0 title-options-all f1958; accepted password 80:F201 title-password-accepted f1776. R11's four movies as R11 (the three K14 movies' pictures exact whole since V15); the stage select 80:9576 in R10's takes (17 with pictures exact whole; intro-highway f14833). Required 15, seen in verified movies 15. KB knowledge_base/mmx1/rom/title_menu_tapes_2026-09-26.json.

    docs/goal/ENDGAME.md · knowledge_base/mmx1/rom/title_menu_tapes_2026-09-26.json · tools/tests/test_title_menu_tapes.py · knowledge_base/mmx1/rom/intake_title_menu_2026-09-25.json · tools/tests/test_intake_title_menu.py · knowledge_base/mmx1/rom/ppu_gate_title_start_2026-09-26.json · knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json

Pause menu, weapons and tanks✓ Done0.45 / 0.45%
  • Pause menu, weapons and tanks0.45%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L26, coordinator decisions 1-3, from R10's WRAM-equal whole takes and their K5 captures): every pause-menu function of re/mmx1 bank 80 runs in David's takes, pictures exact on each one's frames (V12). Opening mainPauseMenuCheck_00 80:9E68 ($1F24 = 1 at 80:9E82) 21; $1EC9 states (CODE_JP_80C424): $00 80:C43E 21, $02 80:C4C6 21, $04 80:C4DB, $06 80:C4ED 21; cursor menuLeftRightInput 80:C787 16, menu_pressedUp 80:C7F6 26, menu_pressedDown 80:C856 73; sub tank 80:C6E3 8, then 80:C723; START on a weapon 80:C71E 10; cell $09 checkUpgradeSelect 80:C93C 12 (refused getSelecteUpgrade 80:C94F 1, exit 80:C70B 11, then $D3 = $0A at 80:9AF6); weapon switch 80:CE3A 1. Pauses in 13 of 21 takes. KB knowledge_base/mmx1/rom/pause_menu_2026-09-25.json.

    knowledge_base/mmx1/rom/pause_menu_2026-09-25.json · tools/tests/test_pause_menu.py · knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json · docs/tasks/done/R10-campaign-scenes-kb.md · docs/tasks/done/L23-ledger-campaign-scenes.md

Progression, rematches and fortress order✓ Done0.75 / 0.75%
  • Progression, rematches and fortress order0.75%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L24, coordinator decisions 1-5, from R10's scenes KB): David's takes join at the stage select. Join = take N ends in a stage select and take N+1 starts in one with the same cursor $1F7A and the same progress bytes, the ones the password encoder CODE_FN_80F090 reads: $1F99 (80:F090), $1F9C (80:F095), bit 6 of $1F88..$1F96 (80:F09E), bit 7 of $1F7E (80:F0AD), $1F9B (80:F0BE). Chain of 14 takes (13 joins, raw bytes equal too): intro-highway -> flame-mammoth-lava -> chill-penguin-new-game -> boomer-kuwanger -> spark-mandrill -> sting-chameleon -> launch-octopus-and-sting-flooded -> storm-eagle-and-spark-dark -> armored-armadillo -> items-collection -> sigma1-zero-arm -> sigma2 -> sigma3 -> sigma4-final-not-beaten; R8 and R9 by the level-12 entry (f424, decision 2) to R9's ending. L20's 33 links: 21 inside a take (R10), 10 across joins, 2 by decision 4: SC's code (88:853E..88:8F29) and SM's (88:9BE1..88:A381) write no $1F0C; their fight end (88:8D1C, 88:A34F) leads to the weapon get (f23544, f25411). Off the chain: flame-mammoth-arm-capsule and the 4 auto tours. KB knowledge_base/mmx1/rom/take_chain_2026-09-25.json.

    knowledge_base/mmx1/rom/take_chain_2026-09-25.json · knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json · tools/tests/test_take_chain.py · tools/tests/test_campaign_scenes.py · docs/tasks/done/R10-campaign-scenes-kb.md · docs/tasks/done/L20-ledger-sigma-win-ending.md

Opening, Vile and Zero✓ Done0.6 / 0.6%
  • Opening, Vile and Zero0.6%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L23, coordinator decision 3, from R10's scenes KB, R6's intake, S30, V12 and a read of re/mmx1), ROM-first mode: the intro stage's story handlers, from the ROM: the dialogue box eventID_3C_textBoxFace (80:FADD -> eventID_textBoxFace_3c_main 87:ABA3) and the story actors eventID_32_mechVile (80:FAAB -> eventID_mechVile_32_main 83:CF70) and eventID_33_zero (80:FAB0 -> eventID_zero_33_main 88:A382). Level 0's ROM placement list (S30, 91 entries) places none of them; the ROM spawns them from code: 83:D793 writes id 0x33 into a new slot's +$0A in mechVile's code; 83:D84F writes id 0x3C into a new slot's +$0A in mechVile's code; 88:A781 writes id 0x3C into a new slot's +$0A in zero's code. After the clear ($1F9B $00 -> $04 at f14378) the stage runs CODE_809B70 ($D3 $08, 80:9B70) f14378-14490 and CODE_809B8D ($D3 $0A, 80:9B8D) f14491-14831, then the stage select from f14833. David's take intro-highway.mmo (R6) runs every one: 0x32 f10607-12863, 0x33 f12148-14378, 0x3C f11449-12057 and f13046-14261 (R6's object slots). The generated program's WRAM equals the capture on every frame (15,577 of 15,577) and the pictures under Mesen2's PPU against V12's screen-buffer reference are exact on every frame (15,576 of 15,576). Bound: sound is checked on the CPU side only (WRAM); no APU run.

    knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · knowledge_base/mmx1/rom/stage_population_2026-09-25.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · docs/tasks/done/R10-campaign-scenes-kb.md · tools/tests/test_campaign_scenes.py · tools/tests/test_intake_david_0924.py · tools/tests/test_ppu_reference_buffer.py · tools/tests/test_stage_population.py

Victory and all eight weapon rewards✓ Done0.6 / 0.6%
  • Victory and all eight weapon rewards0.6%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L25, a coordinator correction of L23's decision 1, from R10's scenes KB), ROM-first mode (megaman-x.exe --rom-first): for each of the 8 Mavericks, the weapon get runs from the frame its slot's bit 6 sets ($1F88..$1F96, ram_map.json), through CODE_809B70 ($D3 $08, 80:9B70) and CODE_809B8D ($D3 $0A, 80:9B8D, with the weapon screen $1F7A 27..34), to the stage select: Homing Torpedo (launch-octopus, take launch-octopus-and-sting-flooded): f27407, CODE_809B70 to f27890, weapon screen $1F7A 27, stage select f28368; Chameleon Sting (sting-chameleon, take sting-chameleon): f23544, CODE_809B70 to f24018, weapon screen $1F7A 28, stage select f25174; Rolling Shield (armored-armadillo, take armored-armadillo): f12181, CODE_809B70 to f12690, weapon screen $1F7A 29, stage select f14452; Fire Wave (flame-mammoth, take flame-mammoth-lava): f20894, CODE_809B70 to f21433, weapon screen $1F7A 30, stage select f22599; Storm Tornado (storm-eagle, take storm-eagle-and-spark-dark): f15000, CODE_809B70 to f15468, weapon screen $1F7A 31, stage select f16418; Electric Spark (spark-mandrill, take spark-mandrill): f25411, CODE_809B70 to f25951, weapon screen $1F7A 32, stage select f26939; Boomerang Cutter (boomer-kuwanger, take boomer-kuwanger): f37393, CODE_809B70 to f37898, weapon screen $1F7A 33, stage select f39756; Shotgun Ice (chill-penguin, take chill-penguin-new-game): f16654, CODE_809B70 to f17139, weapon screen $1F7A 34, stage select f20224. Every take is WRAM equal whole; pictures under V12's reference exact on every frame of those runs (15,446 of 15,446). L23 found that the $D2 $02 sequence its decision 1 named runs at stage entry, not after the get. Bound: the recorded gets, one per Maverick; the weapons' own behaviour belongs to the weapon steps.

    knowledge_base/mmx1/rom/campaign_scenes_2026-09-25.json · knowledge_base/mmx1/rom/intake_david_0924_2026-09-24.json · knowledge_base/mmx1/rom/intake_david_0925_2026-09-25.json · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · knowledge_base/mmx1/ram_map.json · tools/tests/test_campaign_scenes.py · tools/tests/test_intake_david_0924.py · tools/tests/test_intake_david_0925.py · tools/tests/test_ppu_reference_buffer.py · docs/tasks/done/R10-campaign-scenes-kb.md · docs/tasks/done/L23-ledger-campaign-scenes.md · docs/tasks/done/L25-ledger-weapon-get.md

Ending and credits✓ Done0.65 / 0.65%
  • Ending and credits0.65%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-25 (card L20, from R9's KB and Result and a read of 80:A50A), ROM-first mode: David's win take krl.mmo (R9) runs the ending inside the take: the win (the $1F0C rise with 0x6B active) at f13897, level 12 to f23000, then level 0 from f23001 ($D3 $0A -> $16) to the take's end f44618; the roll (credits) from f30808 ($D3 $04 -> $0C). The generated program's WRAM equals the capture on every frame f2..44618 (44,617 of 44,617) and the pictures under Mesen2's PPU against V12's screen-buffer reference are exact on every frame (44,616 of 44,616; level 0: 21,618 of 21,618). Last state, by a read of the roll's routine: 80:A50A's loop 80:A516..80:A526 (JSR (80:A528,X) by $1E49, JSR pauseFunc_05, BRA back; no exit) jumps through 8 entries $00..$0E; each handler stores the next index (80:A53A .. 80:A635); $0C's handler (80:A61C) fades b_colorV_cb/cc/cd to 0, then stores $0E at 80:A635; $0E's handler 80:A637 is a bare RTS, so $0E is the roll's last state. R9 (Result): $1E49 steps $02 at f30843, $04..$0E at f36400..36622 and holds $0E to the take's end, f44618. Bound: sound is checked on the CPU side only (WRAM); no APU run.

    knowledge_base/mmx1/rom/intake_david_0925c_2026-09-25.json · tools/tests/test_intake_david_0925c.py · docs/tasks/done/R9-intake-david-sigma-final-win-0925.md · knowledge_base/mmx1/rom/ppu_gate_mesen2_buffer_2026-09-25.json · tools/tests/test_ppu_reference_buffer.py

Campaign BGM and audio transitions0 of 1 step0.63 / 0.65%
  • Campaign BGM and audio transitions0.65%
    ↻ Partial32 of 33 parts

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-10-08 (L9, card R41; rule LG1 on a new closed list, no weight changed): the 33 music ids $10..$30, closed by the ROM (table 86:806B, option BGM test 80:EC3B); a song counts when its $FA upload lies in a whole campaign audio window (WRAM, port reads and APU frames N of N; R35). Seen 32 of 33; $10 is missing, already playing at intro-highway f1 (upload in the start state). Sound effects count under player, weapon and enemy.

    docs/goal/ENDGAME.md · knowledge_base/mmx1/rom/campaign_audio_parts_2026-10-08_r41.json · knowledge_base/mmx1/rom/campaign_audio_2026-10-08_r35.json · docs/tasks/done/R41-campaign-audio-parts.md

Save, resume, finish and physical controls0 of 1 step0.75 / 1%
  • Save, resume, finish and physical controls1%
    ↻ Partial3 of 4 parts

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-26 (card G10): not whole. Seen: save (password encoder 80:F00F -> 80:F090, chill-penguin-new-game f17960), resume (title-password-accepted: accepted 80:F201 at f1776, the bytes the encoder reads at f1777 equal the saved ones; continue after game over, sigma4-final-not-beaten f11321 -> f11919), finish (L24 chain of 16 takes, intro to ending). Missing: physical controls; no WRAM-equal take shows a pad on our exe. Needs David: a session on megaman-x.exe --rom-first with his pad, its input log replayed in Mesen2 WRAM equal. KB knowledge_base/mmx1/rom/g10_sigma4_campaign_2026-09-26.json.

    docs/goal/ENDGAME.md · knowledge_base/mmx1/rom/g10_sigma4_campaign_2026-09-26.json · tools/tests/test_g10_sigma4_campaign.py

Distribution and final acceptance

3 of 5 steps2.25 / 4%Items done: 3 of 5
Extracted portable baseline package✓ Done0.75 / 0.75%
  • Extracted portable baseline package0.75%
    ✓ Verified

    Preserve the exact accepted behavior and limitations of the referenced foundation contracts.

    Technical details

    Existing accepted foundation contract; not complete campaign fidelity or physical owner QA.

    docs/goal/ENDGAME.md · RELEASE-CHECKLIST.md · docs/STATE.md

Installation and play documentation✓ Done0.5 / 0.5%
  • Installation and play documentation0.5%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-30 (T6-next-docs): 4/4 obligations - build/install, controls, ROM-first launch with the user-supplied ROM (local-only) and the legacy-engine zip booting and passing a stage autotest (ctest -L release). Human onboarding and the final package smoke stay with the owner and final regression.

    README.md · docs/rom/README.md · docs/tasks/done/T6-next-docs.md · tools/package_release.py

Full regression on final candidate0 of 1 step0 / 0.75%
  • Full regression on final candidate0.75%
    ○ Pending

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/ENDGAME.md

Full longplay and per-stage comparisons✓ Done1 / 1%
  • Full longplay and per-stage comparisons1%
    ✓ Verified

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    2026-09-30 (D1): full-game engine longplay (13 stages, 1h35) and 13-stage side-by-side montage (original SNES vs engine, 30 s each), with regeneration instructions, manifest and 13 stills; WRAM equal on every frame. Videos local-only (evidence policy). David watched and approved on 2026-09-30. Sound still missing in 5 stages (SM, LO, BK, FM, Sigma 1), to be added.

    docs/evidence/final-showcase/README.md · docs/evidence/final-showcase/manifest.json · tools/video/showcase/render.py · docs/tasks/done/D1-final-showcase.md

Owner plays opening to credits and accepts0 of 1 step0 / 1%
  • Owner plays opening to credits and accepts1%
    ○ Pending

    Named behavior measured in the source, integrated into the engine and verified by applicable ENDGAME gates.

    Technical details

    Scope not yet closed by integrated evidence; earns no credit.

    docs/goal/ENDGAME.md

Mega Man X2A campaign of its own, with its weapons, bosses and mechanics.0%verified + partialVerified: 0% · Partial: 0%View planClose plan

Research and a reference prototype exist, but complete comparisons still diverge. No deliverable for this campaign has been accepted on this scale.

X: controls and survival0 of 2 steps0%0 / 12

Movement, terrain, damage, death and upgrades specific to this campaign.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 2.4
    ○ Pending

    List X's states specific to this game and integrate a short movement sequence, compared with the original.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 9.6
    ○ Pending

    Movement, terrain, damage, death and upgrades specific to this campaign.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Weapons and abilities0 of 2 steps0%0 / 10

Normal and charged weapons, energy, damage and interactions checked.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 2
    ○ Pending

    List this game's weapons, energy and upgrades, and integrate one complete weapon in a test scene compared with the original.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 8
    ○ Pending

    Normal and charged weapons, energy, damage and interactions checked.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Enemies and combat objects0 of 2 steps0%0 / 15

Inventory and check enemy behaviors, projectiles and interactions.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 3
    ○ Pending

    List this game's enemy families and integrate one family, including activation, attacks and defeat, in a scene compared with the original.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 12
    ○ Pending

    Inventory and check enemy behaviors, projectiles and interactions.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Bosses and minibosses0 of 2 steps0%0 / 18

Check entrances, attacks, damage, defeats and rewards for every encounter.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 3.6
    ○ Pending

    List this game's bosses and minibosses and integrate one complete encounter, from entry to reward, compared with the original.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 14.4
    ○ Pending

    Check entrances, attacks, damage, defeats and rewards for every encounter.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Stages, terrain and presentation0 of 2 steps0%0 / 26

Validate every stage, its objects, camera, colors, hazards and checkpoints.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 5.2
    ○ Pending

    List stages and their specific mechanisms and integrate a continuous section, with terrain, camera and objects compared with the original.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 20.8
    ○ Pending

    Validate every stage, its objects, camera, colors, hazards and checkpoints.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Upgrades and game-specific mechanics0 of 2 steps0%0 / 7

Check items, upgrades, vehicles and mechanics specific to the game.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 1.4
    ○ Pending

    List this game's items and mechanisms and integrate an example from each group chosen for the first section, with their effects checked.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 5.6
    ○ Pending

    Check items, upgrades, vehicles and mechanics specific to the game.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Campaign, menus and sound0 of 2 steps0%0 / 8

Complete progression, options, scenes, saving, audio and the route to the credits.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 1.6
    ○ Pending

    Map progression order and conditions and integrate the selection, stage entry and return cycle, with state preserved and compared.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 6.4
    ○ Pending

    Complete progression, options, scenes, saving, audio and the route to the credits.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Distribution and final acceptance0 of 2 steps0%0 / 4

Prepare installation, regressions, a complete run and player approval.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 0.8
    ○ Pending

    Build an installable version of this game and check startup and a short scene on a clean machine, retaining notices for content that is not yet validated.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 3.2
    ○ Pending

    Prepare installation, regressions, a complete run and player approval.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Mega Man X3The third campaign, including Zero’s original behavior.4%verified + partialVerified: 4% · Partial: 0%View planClose plan

Verified Zero work already counts here. X3 stages, bosses, progression and complete presentation remain pending.

X: controls and survival0 of 2 steps0%0 / 10

Movement, terrain, damage, death and upgrades specific to this campaign.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 2
    ○ Pending

    List X's states specific to this game and integrate a short movement sequence, compared with the original.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 8
    ○ Pending

    Movement, terrain, damage, death and upgrades specific to this campaign.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Zero: original behavior4 of 7 steps50%4 / 8

The character code has been brought over and compared in specific situations. This does not yet complete his role in the X3 campaign.

Each step's contribution to this plan's 100 points:

  • Movement in captured situations1 / 1
    ✓ Verified

    Walking, jumping, dashing, walls and ladders reproduce the retained reference calls.

    Technical details

    11 handlers, 40 pairs per handler; uncaptured cases do not receive acceptance.

    docs/tasks/done/PC5H-x3-zero-state-pairs-capture.md · tests/native/x3_zero_stand_oracle_test.cpp · tests/native/x3_zero_air_oracle_test.cpp · tests/native/x3_zero_dash_wall_oracle_test.cpp · tests/native/x3_zero_ladder_oracle_test.cpp

  • Saber and shots in captured situations1 / 1
    ✓ Verified

    Reproduce the retained attack and projectile calls.

    Technical details

    1730/1730 projectile calls; airborne exits are outside this criterion.

    docs/tasks/done/PC7B2-x3-zero-frame-pairs.md · docs/plans/2026-10-04-zero-x1-drive-plan.md

  • Update and collision in verified calls1 / 1
    ✓ Verified

    Compare the specified update and collision fields and side effects.

    Technical details

    900/900 frame calls and 300/300 collision calls. Older diagnostics 1827/3370 and 1832/3370 remain partial.

    docs/plans/2026-10-04-zero-x1-drive-plan.md · tests/native/x3_zero_frame_oracle_test.cpp

  • Damage and death in verified calls1 / 1
    ✓ Verified

    Reproduce captured reactions and palette calculation, including the death fade.

    Technical details

    Calculation equality, including 512 palette bytes; visual application and campaign still pending.

    docs/plans/2026-10-04-zero-x1-drive-plan.md · docs/tasks/done/PC7B2-x3-zero-frame-pairs.md

  • Remaining movement and attack exits0 / 1
    ○ Pending

    Cover airborne exits and paths still unimplemented or uncaptured.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Complete animation, colors, effects and sound0 / 1
    ○ Pending

    Apply the original character presentation in game, with all effects and sounds.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Zero integrated into the X3 campaign0 / 2
    ○ Pending

    Validate character switching, availability, encounters and campaign-specific rules.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Weapons and abilities0 of 2 steps0%0 / 10

Normal and charged weapons, energy, damage and interactions checked.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 2
    ○ Pending

    List this game's weapons, energy and upgrades, and integrate one complete weapon in a test scene compared with the original.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 8
    ○ Pending

    Normal and charged weapons, energy, damage and interactions checked.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Enemies and combat objects0 of 2 steps0%0 / 12

Inventory and check enemy behaviors, projectiles and interactions.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 2.4
    ○ Pending

    List this game's enemy families and integrate one family, including activation, attacks and defeat, in a scene compared with the original.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 9.6
    ○ Pending

    Inventory and check enemy behaviors, projectiles and interactions.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Bosses and minibosses0 of 2 steps0%0 / 16

Check entrances, attacks, damage, defeats and rewards for every encounter.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 3.2
    ○ Pending

    List this game's bosses and minibosses and integrate one complete encounter, from entry to reward, compared with the original.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 12.8
    ○ Pending

    Check entrances, attacks, damage, defeats and rewards for every encounter.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Stages, terrain and presentation0 of 2 steps0%0 / 18

Validate every stage, its objects, camera, colors, hazards and checkpoints.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 3.6
    ○ Pending

    List stages and their specific mechanisms and integrate a continuous section, with terrain, camera and objects compared with the original.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 14.4
    ○ Pending

    Validate every stage, its objects, camera, colors, hazards and checkpoints.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Upgrades and game-specific mechanics0 of 2 steps0%0 / 8

Check items, upgrades, vehicles and mechanics specific to the game.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 1.6
    ○ Pending

    List this game's items and mechanisms and integrate an example from each group chosen for the first section, with their effects checked.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 6.4
    ○ Pending

    Check items, upgrades, vehicles and mechanics specific to the game.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Campaign, menus and sound0 of 2 steps0%0 / 10

Complete progression, options, scenes, saving, audio and the route to the credits.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 2
    ○ Pending

    Map progression order and conditions and integrate the selection, stage entry and return cycle, with state preserved and compared.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 8
    ○ Pending

    Complete progression, options, scenes, saving, audio and the route to the credits.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Distribution and final acceptance0 of 2 steps0%0 / 8

Prepare installation, regressions, a complete run and player approval.

Each step's contribution to this plan's 100 points:

  • Game-specific inventory and integration0 / 1.6
    ○ Pending

    Build an installable version of this game and check startup and a short scene on a clean machine, retaining notices for content that is not yet validated.

    Technical details

    The list alone earns no credit: this first milestone also requires the stated integration and comparison. No acceptance is recorded yet. The next step closes the whole area and its remaining cases.

    No completion evidence yet.

  • Complete implementation and verification0 / 6.4
    ○ Pending

    Prepare installation, regressions, a complete run and player approval.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

ExtrasNew modes and truly new content: extra characters, training, challenges, generated maps, the editor and our own creations.30%verified + partialVerified: 30% · Partial: 0%View planClose plan

Vile and Zero already work in tests at the start of Chill Penguin. Generated maps and training also have verified deliverables; complete modes remain in development.

Playable, unlockable Vile4 of 7 steps66.7%10 / 15

His own moves and attacks, integrated into the X1 campaign.

Each step's contribution to this plan's 100 points:

  • Movement, walls and ladders3 / 3
    ✓ Verified

    Moves follow the approved character specification in dedicated tests.

    Technical details

    PC10C/D; movement-routine acceptance, not all-stage acceptance.

    docs/plans/2026-10-03-pc10-vile-native-plan.md · tests/native/vile_move_ground_test.cpp · tests/native/vile_move_wall_test.cpp

  • Cannon, bomb and dash attack3 / 3
    ✓ Verified

    All three attacks follow the approved speed, damage and duration data.

    Technical details

    Tests native.vile-cannon, native.vile-bomb and native.vile-dash-attack.

    docs/tasks/done/PC10F-vile-shoulder-cannon.md · docs/tasks/done/PC10G-vile-air-bomb.md · docs/tasks/done/PC10H-vile-dash-attack.md

  • Damage, health and character gauge2 / 2
    ✓ Verified

    Taking damage and updating the gauge preserves the character rules and icon.

    Technical details

    PC10E/R; health and HUD tests.

    docs/tasks/done/PC10E-vile-hurt-and-health.md · docs/tasks/done/PC10R-hud-character-icon.md

  • Chill Penguin opening section2 / 2
    ✓ Verified

    Enter the stage and execute the movement and attack sequence without faults.

    Technical details

    1017 calls, no fallback or exception. This is not a whole stage.

    docs/tasks/done/PC10O-vile-in-chill-penguin.md

  • Full stage and remaining campaign0 / 3
    ○ Pending

    Validate the boss, checkpoints, death and retries; repeat in the other stages.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Unlocking, selection and saved progress0 / 1
    ○ Pending

    Unlock and select Vile in the game, preserving the selection across save and load.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Complete presentation and sound0 / 1
    ○ Pending

    Review animations, effects, sounds and theme throughout a complete run.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Zero in X1 stages3 of 7 steps45%4.5 / 10

The adaptation to the X1 world has its own acceptance. The original character routines count in X3.

Each step's contribution to this plan's 100 points:

  • Character entry and controls1 / 1
    ✓ Verified

    Select Zero in a local run and connect input, position and camera.

    Technical details

    native.zero-drive; selection through --player zero, not a final menu.

    docs/tasks/done/PC7D-zero-x1-drive-skeleton.md

  • Combat in the opening section2 / 2
    ✓ Verified

    Saber and shots hit the checked enemies at the start of Chill Penguin.

    Technical details

    50 exact-damage hits; six attack states. Bosses and the green blade in the scene remain pending.

    docs/plans/2026-10-04-zero-x1-drive-plan.md · tests/native/zero_x1_integration_test.cpp

  • Damage, health gauge and retries1.5 / 1.5
    ✓ Verified

    Take damage, die and return to the stage in the verified sequence.

    Technical details

    Two retries in native.zero-hurt; no claim about every checkpoint.

    docs/tasks/done/PC7F-zero-hurt-and-health-bar.md · docs/plans/2026-10-04-zero-x1-drive-plan.md

  • Air attacks, walls and ladders0 / 1.5
    ○ Pending

    Complete airborne attack exits with and without a nearby wall or ladder.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • All of Chill Penguin, including the boss0 / 2
    ○ Pending

    Complete traversal, hazards, checkpoints, death, retries and boss in one run.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Colors, effects, icon and sound0 / 1
    ○ Pending

    Apply dynamic colors and effects; complete the icon and compatible sounds.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • In-game selection and remaining stages0 / 1
    ○ Pending

    Provide selection and check water, upgrades, bosses and progression across X1.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Training stage3 of 4 steps80%8 / 10

A place to practice controls and try tools.

Each step's contribution to this plan's 100 points:

  • Menu entry and arena arrival3 / 3
    ✓ Verified

    Enter training with a stable background and arrival presentation.

    Technical details

    M12: READY and beam-in checked; final manual review remains pending.

    docs/tasks/done/M12-training-entry-with-ready.md

  • Health and upgrade tools3 / 3
    ✓ Verified

    Change health and upgrades with state and gauge updated in tests.

    Technical details

    M10: preserved selection, maximum health and refill verified.

    docs/tasks/done/M10-training-entry-and-tools-fixes.md

  • Training arena loaded in the game2 / 2
    ✓ Verified

    Use the revised layout in the training stage.

    Technical details

    M14B; final player acceptance is not included.

    docs/tasks/done/M14B-training-arena-v2-in-game.md

  • Exit, free practice and final approval0 / 2
    ○ Pending

    Finish the exit flow and review a complete practice session.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Bloody Palace0 of 5 steps0%0 / 15

A sequence of combat arenas with increasing difficulty.

Each step's contribution to this plan's 100 points:

  • Waves and arenas0 / 5
    ○ Pending

    Define and run the complete combat sequence.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Bosses and encounters0 / 3
    ○ Pending

    Integrate opponents, arena boundaries and camera in each encounter.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Progression, defeat and restart0 / 3
    ○ Pending

    Advance between challenges, end the attempt and restart with correct state.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Rewards and interface0 / 2
    ○ Pending

    Show goals, results and rewards consistently.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Approved complete run0 / 2
    ○ Pending

    Finish a complete sequence and review balance and controls.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Boss Rush0 of 4 steps0%0 / 8

Face bosses in sequence in the current engine.

Each step's contribution to this plan's 100 points:

  • Entry and sequence0 / 2
    ○ Pending

    Choose the mode and advance through the planned encounters.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Bosses, arenas and characters0 / 3
    ○ Pending

    Check each fight with the available characters.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Defeat and retry0 / 1.5
    ○ Pending

    Lose and restart without leftover state from the previous encounter.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Completion and approval0 / 1.5
    ○ Pending

    Finish the mode and validate results, controls and presentation.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Roguelike and generated maps2 of 6 steps22.5%4.5 / 20

Map generation has started; the full run loop still needs to be built.

Each step's contribution to this plan's 100 points:

  • Scenery chunks and paths2.5 / 2.5
    ✓ Verified

    Assemble layouts from source chunks and check reachable paths in the model.

    Technical details

    Model reachability does not prove a complete run; door and terrain limits remain in M14P.

    docs/tasks/done/M14A-map-chunks-and-reachability.md · docs/tasks/done/M14M-screen-level-assembly.md

  • Map export and loading2 / 2
    ✓ Verified

    Export generated maps, load them in the game and check the start of traversal.

    Technical details

    Four maps loaded; walks in three samples. No encounter or full-stage acceptance.

    docs/tasks/done/M14H-generated-map-export.md · docs/tasks/done/M14I-load-generated-stage.md

  • Enemies, items and encounters0 / 4
    ○ Pending

    Populate maps with encounters and rewards compatible with the route.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Variety and complete traversal0 / 5
    ○ Pending

    Generate distinct, traversable maps, including doors, water and vertical sections.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Run loop and progression0 / 5
    ○ Pending

    Complete the start, choices, rewards, defeat or victory and a new attempt.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Balance and approval0 / 1.5
    ○ Pending

    Review complete runs across multiple seeds and approve the controls.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Map editor and community1 of 4 steps30%3 / 10

Edit, save and play custom maps, with safe sharing.

Each step's contribution to this plan's 100 points:

  • Reading, editing and writing data3 / 3
    ✓ Verified

    Rewrite unedited maps identically and produce the requested edit.

    Technical details

    13/13 identical layouts. Backend test; the complete interface has not been accepted.

    docs/tasks/done/M3-editor-pack-backend.md · tests/cpp/map_editor_pack_backend_test.cpp

  • Playable edited map0 / 2
    ○ Pending

    Create, save, reopen and play an edited stage through the editor flow.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Complete editing workflow0 / 3
    ○ Pending

    Edit terrain, objects and entry points with visual feedback and validation.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

  • Export and import creations0 / 2
    ○ Pending

    Share a creation, import it in another installation and check file boundaries.

    Technical details

    No acceptance has been recorded for this deliverable yet.

    No completion evidence yet.

Original content: a new enemy, tileset, boss and weapons0 of 4 steps0%0 / 12

Our own creations that exist in none of X1, X2 or X3: at least one new enemy, one new tileset, one new boss and new weapons.

Each step's contribution to this plan's 100 points:

  • A new enemy0 / 3
    ○ Pending

    Its own behaviour, picture and sound, placed in a stage and approved in a run.

    Technical details

    No acceptance recorded yet. The points came from the two deliverables that moved to the engine roadmap (cross-game arsenal and visual options).

    No completion evidence yet.

  • A new tileset0 / 3
    ○ Pending

    Its own tiles, colours and collision, forming at least one approved playable area.

    Technical details

    No acceptance recorded yet. The points came from the two deliverables that moved to the engine roadmap (cross-game arsenal and visual options).

    No completion evidence yet.

  • A new boss0 / 3
    ○ Pending

    Its own entrance, attacks, damage, defeat and reward, approved in a complete fight.

    Technical details

    No acceptance recorded yet. The points came from the two deliverables that moved to the engine roadmap (cross-game arsenal and visual options).

    No completion evidence yet.

  • New weapons (at least two)0 / 3
    ○ Pending

    Normal and charged shot, energy, damage type and effect on enemies and bosses, approved in play.

    Technical details

    No acceptance recorded yet. The points came from the two deliverables that moved to the engine roadmap (cross-game arsenal and visual options).

    No completion evidence yet.

How the five plans fit together

Each bar has its own 100% total. Weights are an editorial allocation of deliverables, not hours or playable content. Verified steps earn their weight; partial steps earn a fraction only when there is a counted list of parts. Preparatory research appears in notes and does not earn points on its own. We do not add the five bars into a global percentage.

X2 starts from the same area allocation as X1. X3 reserves eight points of its plan for Zero and explicitly allocates the remaining areas. Our own engine splits its points between the engine foundations, the three games (by the size of each cartridge's object list) and what joins the three; the details are in the downloadable data. Extras hold the new modes and truly new content; the cross-game arsenal and the visual options moved to our own engine, and their points form the new original-content item.

Zero in X3 earns credit for his original behavior. Zero in Extras earns credit for his adaptation to X1. Vile as a boss stays in the original campaign; playable Vile belongs to Extras.

Our own engine is measured apart from the X1 checklist: the checklist measures the translated original game; the engine measures our own code, compared with it. The two bars are never added.

The new plans start with broader deliverables. We will break them down without changing their area's weight; any reweighting will be disclosed.

Download the new plans' data

Still to prove

These are 123 steps of the X1 checklist that are not proved yet, grouped by reason. None is called impossible without proof: all of them stay on the list to be proved later, once the engine is ready.

Reachable: the moment is missing 11 steps · 0.15% of the checklist

They look possible to reach by playing, but no recording or automatic search has shown the moment yet.

  • Object 0x37 (label hotarion): SMDeath, drops, culling and respawn
  • Boomerang CutterMeasured sound or proven silence
  • Chameleon StingMeasured sound or proven silence
  • Electric SparkMeasured sound or proven silence
  • Fire WaveMeasured sound or proven silence
  • Shotgun IceMeasured sound or proven silence
  • Thunder SlimerSelection, conditions and RNG
  • VelguarderDamage, weaknesses and interruptions
  • Campaign BGM and audio transitionsCampaign BGM and audio transitions
  • Launch OctopusSelection, conditions and RNG
  • openingMovement and every attack
Technical details

The reasons below are in the original technical text: each is the audit’s explanation for that step.

  • enemy.oid_37.lifecycle drop routine 87:A45F/84:A38D/84:9086 on the family death path (r60 /parts rom), death witnessed b15-thunder-slimer-03-0-charged-r1-hunt f3589; seeded replay (method b)
  • weapon.boomerang-cutter.sound call 8197F8:17 gated for homing-torpedo/rolling-shield/storm-tornado (R62/A31/A32 /gated, same site); this weapon's A31/A32 hunt: not reached (charge_cancel_sfx_2026-10-12_a32.json /not_gated)
  • weapon.chameleon-sting.sound call 8197F8:17 gated for homing-torpedo/rolling-shield/storm-tornado (R62/A31/A32 /gated, same site); this weapon's A31/A32 hunt: not reached (charge_cancel_sfx_2026-10-12_a32.json /not_gated)
  • weapon.electric-spark.sound call 8197F8:17 gated for homing-torpedo/rolling-shield/storm-tornado (R62/A31/A32 /gated, same site); this weapon's A31/A32 hunt: not reached (charge_cancel_sfx_2026-10-12_a32.json /not_gated)
  • weapon.fire-wave.sound call 8197F8:17 gated for homing-torpedo/rolling-shield/storm-tornado (R62/A31/A32 /gated, same site); this weapon's A31/A32 hunt: not reached (charge_cancel_sfx_2026-10-12_a32.json /not_gated)
  • weapon.shotgun-ice.sound call 8193E6:17 gated for boomerang-cutter/chameleon-sting/homing-torpedo/rolling-shield/storm-tornado (R62/A31/A32 /gated, same site); this weapon's A31/A32 hunt: not reached (charge_cancel_sfx_2026-10-12_a32.json /not_gated)
  • boss.thunder-slimer.selection 03:choice:4/20/21/26/27 are $10 stores on the fight path (84:B27D, 84:B00E, 84:B03E, 84:B453, 84:B477; B46 lists 84:B00E/B27D/B453/B477 run with +01=02); sibling choices witnessed (r139); method d, condition not yet established
  • boss.velguarder.damage witness on file: volunteer_takes_2026-10-09_r96.json lists STORM.T hits (shot 0B) in vol-sf4-velguarder-1 and charged (shot 14) in vol-sf4-velguarder-3; b45 stop: observed damage does not equal the ROM table under B6/B7, so the block is the damage check, not reach
  • campaign.audio.acceptance song 10 (86:807B) plays at intro-highway f1 (campaign_audio_parts_2026-10-08_r41.json#/parts/10); its $FA upload precedes every capture start (Mesen dump state), so a capture from power-on through the intro holds it
  • boss.launch-octopus.selection 07:choice:7: a transition on the fight path with sibling choices witnessed (r105); method d input hunt, condition not yet established
  • boss.vile-intro.attacks 32:fight:1 set at 83:CBBD on the owner's fight dispatch; sibling fight states witnessed (r102); method d input hunt
A new recording is missing 2 steps · 0.03% of the checklist

Only a new recording of a play session settles these: we have none that shows these parts.

  • identity to confirmDamage, weaknesses and interruptions
  • Spark MandrillAnimation, palette and sound
Technical details

The reasons below are in the original technical text: each is the audit’s explanation for that step.

  • boss.utuboros.damage B15 stops for 23/24/25:weapon:9 and 24:weapon:11: needs a recording of this fight with the weapon owned and arm parts; r137: no charged special-weapon shot alive in the b5 takes; r157 volunteer takes credited the other charged rows (23:weapon:11-17)
  • boss.spark-mandrill.presentation both SM takes are gated and named; 31:death-job needs the kill with weapon index 4 (7E:0BDB = 04 at the +03 16->18 step, boss_coverage_map shared_presentation) and the other 5 parts (M1E/Q13 calls 88:9D66/9DBD/9DD3, Q3C, AF:DF6B) have no witness: a new take
Recordings not yet analyzed for these parts 23 steps · 0.36% of the checklist

The project has recordings of these fights or enemies, but no earlier analysis examined them for these parts. On 2026-10-16, the recordings of 11 of these steps were read again and none of the missing parts showed up.

  • LO mid-boss, object 0x21 (placed twice; label angler)Campaign entrance and activation
  • BospiderDamage, weaknesses and interruptions
  • BospiderAnimation, palette and sound
  • D-RexAnimation, palette and sound
  • Rangda BangdaAnimation, palette and sound
  • fortressSelection, conditions and RNG
  • Rangda BangdaSelection, conditions and RNG
  • fortressMovement and every attack
  • Object 0x18 (label fallingRocks): SCRendering, animation and audio
  • Object 0x34 (label cragMan): SCDeath, drops, culling and respawn
  • Object 0x34 (label cragMan): SCRendering, animation and audio
  • Object 0x11 (label roadAttacker) with 0x1A, 0x12, 0x1B: IHRendering, animation and audio
  • fortressAnimation, palette and sound
  • Armadillo digging machinesDeath, retry and handoff
  • Chill PenguinAnimation, palette and sound
  • Storm EagleAnimation, palette and sound
  • Flame MammothAnimation, palette and sound
  • fortressDamage, weaknesses and interruptions
  • Rangda BangdaMovement and every attack
  • D-RexDamage, weaknesses and interruptions
  • humanoidAnimation, palette and sound
  • LO mid-boss, object 0x21 (placed twice; label angler)Animation, palette and sound
  • Armadillo digging machinesAnimation, palette and sound
Technical details

For the steps of the AU1 audit, task AU1r (2026-10-16) read the recordings again and found none of the missing parts.

The reasons below are in the original technical text: each is the audit’s explanation for that step.

  • boss.lo-midboss-0x21.entry 5 of 5 parts; launch-octopus-auto (named by no KB that scans this boss)
  • boss.bospider.damage 2 of 2 parts; vol-sf1-bospider-3 (named by no KB that scans this boss)
  • boss.bospider.presentation 5 of 5 parts; vol-sf1-bospider-3 (named by no KB that scans this boss)
  • boss.d-rex.presentation 11 of 11 parts; vol-sf3-drex-3 (named by no KB that scans this boss); vol-sf3-drex-4 (named by no KB that scans this boss); vol-sf3-drex-5 (named by no KB that scans this boss)
  • boss.rangda-bangda.presentation 9 of 9 parts; vol-sf2-rangda-5 (named by no KB that scans this boss); vol-sf2-rangda-7 (named by no KB that scans this boss)
  • boss.vile-fortress.selection 8 of 8 parts; a recording (named by no KB that scans this boss); vol-bug-skip-dialogue-1 (named by no KB that scans this boss); vol-bug-skip-dialogue-2 (named by no KB th
  • boss.rangda-bangda.selection 1 of 1 parts; vol-sf2-rangda-5 (named by no KB that scans this boss); vol-sf2-rangda-7 (named by no KB that scans this boss)
  • boss.vile-fortress.attacks 1 of 1 parts; a recording (named by no KB that scans this boss); vol-bug-skip-dialogue-1 (named by no KB that scans this boss); vol-bug-skip-dialogue-2 (named by no KB th
  • enemy.oid_18.visual 1 of 2 parts; e43-oid34-death-child-hunt (enemy sweep excluded: no bounded scan of this window); e43-oid34-drop-hunt (enemy sweep excluded: no bounded scan of this window)
  • enemy.oid_34.lifecycle 2 of 2 parts; e43-oid34-death-child-hunt (enemy sweep excluded: no bounded scan of this window); e43-oid34-drop-hunt (enemy sweep excluded: no bounded scan of this window)
  • enemy.oid_34.visual 2 of 3 parts; e43-oid34-death-child-hunt (enemy sweep excluded: no bounded scan of this window); e43-oid34-drop-hunt (enemy sweep excluded: no bounded scan of this window)
  • enemy.oid_11.visual 39 of 76 unseen cells have a twin (same id, sprite, AF pointer) witnessed or credited under a boss row (39 same sprite+pointer); e54 (enemy_visual_catalogue_2026-10-13_e54.json) did not read those takes (r39 hunt takes, volunteer sweep)
  • boss.vile-fortress.presentation 45 of 74 unseen are sound parts; 18 vile-fortress takes have no whole APU-gated window (build/LG4/report.json gated_windows) (b8-vile-fortress-0x67 weapon hunts x6, a recording, vile-zero-with-arm, vol-sf1-vile-1, ...) and vol-bug-skip-dialogue-1/2, vol-bug-softlock-vile are named by no KB of the step
  • boss.armadillo-digging-machines.outro 2C:outro:state-04-from-00 (83:BFB8/83:BFD0); B47 stop was disk space, no search or intake ran; a recording and vol-bug-armadillo-sprite hold this boss and are named by none of b43/r42/b47
  • boss.chill-penguin.presentation all 7 unseen are sound or death-job parts; David's chill-penguin take holds the fight and has no whole APU-gated window (build/LG4/report.json gated_windows)
  • boss.storm-eagle.presentation all 4 unseen are sound parts; David's storm-eagle take holds the fight and has no whole APU-gated window (build/LG4/report.json gated_windows)
  • boss.flame-mammoth.presentation 6 of 7 unseen are sound or death-job parts; David's flame-mammoth take holds the fight and has no whole APU-gated window (build/LG4/report.json gated_windows)
  • boss.vile-fortress.damage 67:interrupt:0 (83:E8A5 writes +32=02); vol-bug-skip-dialogue-1/2 and vol-bug-softlock-vile hold the vile-fortress fight and are named by no KB of the step
  • boss.rangda-bangda.attacks 5E:fight:1 (88:AF7D); vol-sf2-rangda-1..7 hold the fight and are named by no KB of the step (b45, r31, r105, r139)
  • boss.d-rex.damage 61:interrupt:1 (88:B705) and 62:weapon:7 (R.SHIELD charged; H45 input budget exhausted, best_d 29); vol-sf3-drex-3/4/5 are named by no KB of the step
  • boss.sigma-humanoid.presentation all 11 unseen are sound or death parts; 13 sigma-humanoid takes have no whole APU-gated window (build/LG4/report.json gated_windows) (sigma-final-attempt-2, sigma-final-death-branch, vol-sf4-sigma-1..3, vol-sf4-wolfsigma-1..3, ...)
  • boss.lo-midboss-0x21.presentation 2 shared-hit sounds (Q10 via 84:9EEE, Q3C); b8-lo-midboss-0x21 C.STING/E.SPARK hunts, vol-b5-submarine-death-1/2, vol-b5-utuboros-death-1 have no whole APU-gated window (build/LG4/report.json gated_windows)
  • boss.armadillo-digging-machines.presentation 2 shared-hit sounds (Q10, Q3C); a recording and vol-bug-armadillo-sprite have no whole APU-gated window (build/LG4/report.json gated_windows) and no KB names them
Nobody has found the way to them yet 76 steps · 1.03% of the checklist

These parts exist in the game’s code, but nobody has found a way to make them happen yet. They may be impossible in normal play; we will say so only with proof, and until then they stay on the list.

  • Chameleon capsule guardianSelection, conditions and RNG
  • Object 0x11 (label roadAttacker) with 0x1A, 0x12, 0x1B: IHDeath, drops, culling and respawn
  • Boomer KuwangerSelection, conditions and RNG
  • Launch OctopusDamage, weaknesses and interruptions
  • Sting ChameleonAnimation, palette and sound
  • openingSelection, conditions and RNG
  • Object 0x01 (label hoganmer): SC, FM, SE, BK, Sigma 1, Sigma 2Rendering, animation and audio
  • Object 0x2F (label armorSoldir): SC, CP, Sigma 2Attacks and projectiles, or proven absence
  • Object 0x3F (label slidePlatform): BKDeath, drops, culling and respawn
  • Object 0x44 (label laserTrap): BK, Sigma 1, Sigma 3Death, drops, culling and respawn
  • Robot OID 0x41 — identity under reviewContact, HP and weapon response
  • Strider OID 0x27Rendering, animation and audio
  • Armored ArmadilloAnimation, palette and sound
  • Chameleon capsule guardianMovement and every attack
  • Chameleon capsule guardianAnimation, palette and sound
  • Launch OctopusAnimation, palette and sound
  • SubmarineAnimation, palette and sound
  • Thunder SlimerMovement and every attack
  • Thunder SlimerAnimation, palette and sound
  • Axe MaxBody, launch and death sounds, or proven silence
  • Drifting bat (0x2D)Rendering, animation and audio
  • Helicopter OID 0x0FAttacks and projectiles, or proven absence
  • Helicopter OID 0x0FContact, HP and weapon response
  • Helicopter OID 0x0FActivation, movement and facing
  • Helicopter OID 0x0FRendering, animation and audio
  • Cannon robot OID 0x29Rendering, animation and audio
  • Snow ShooterRendering, animation and audio
  • Object 0x13 (label dodgeBlaster): BK, Sigma 1, Sigma 2Rendering, animation and audio
  • Object 0x1C (label seaAttacker): LORendering, animation and audio
  • Object 0x1D (label gulpferd): LO, Sigma 3Rendering, animation and audio
  • Mad Pecker (0x1E) with its worms (0x1F): SCDeath, drops, culling and respawn
  • Object 0x2F (label armorSoldir): SC, CP, Sigma 2Contact, HP and weapon response
  • Object 0x2F (label armorSoldir): SC, CP, Sigma 2Rendering, animation and audio
  • Object 0x35 (label metalWing): AARendering, animation and audio
  • Object 0x37 (label hotarion): SMRendering, animation and audio
  • Object 0x3B (label ladderJadder): BKRendering, animation and audio
  • Object 0x3F (label slidePlatform): BKRendering, animation and audio
  • Object 0x40 (label spring): Sigma 1Contact, HP and weapon response
  • Object 0x40 (label spring): Sigma 1Death, drops, culling and respawn
  • Object 0x40 (label spring): Sigma 1Rendering, animation and audio
  • Object 0x44 (label laserTrap): BK, Sigma 1, Sigma 3Contact, HP and weapon response
  • Object 0x46 (label airPortGasTank): SEAttacks and projectiles, or proven absence
  • Object 0x46 (label airPortGasTank): SEContact, HP and weapon response
  • Object 0x46 (label airPortGasTank): SEDeath, drops, culling and respawn
  • Object 0x46 (label airPortGasTank): SEActivation, movement and facing
  • Object 0x46 (label airPortGasTank): SERendering, animation and audio
  • Object 0x4F (label rollingGabyool): FMDeath, drops, culling and respawn
  • Object 0x4F (label rollingGabyool): FMRendering, animation and audio
  • Object 0x57 (label igloo) with 0x3A: CPAttacks and projectiles, or proven absence
  • Object 0x57 (label igloo) with 0x3A: CPContact, HP and weapon response
  • Object 0x59 (label longPillar) with 0x58, 0x5A: SEContact, HP and weapon response
  • Object 0x59 (label longPillar) with 0x58, 0x5A: SEDeath, drops, culling and respawn
  • Object 0x5B (label megaTortoise): LO, SM, BK, Sigma 1, Sigma 3Rendering, animation and audio
  • Object 0x6A (label vileFinalForm) with 0x68: Sigma 4Death, drops, culling and respawn
  • FM blue robot / junk heap (0x2A, two subtypes)Rendering, animation and audio
  • Rotor drone (0x49)Rendering, animation and audio
  • Storm Eagle eagletRendering, animation and audio
  • Robot OID 0x41 — identity under reviewAttacks and projectiles, or proven absence
  • Robot OID 0x41 — identity under reviewDeath, drops, culling and respawn
  • Robot OID 0x41 — identity under reviewActivation, movement and facing
  • Shielded Met (0x2E)Rendering, animation and audio
  • Turret OID 0x50Death, drops, culling and respawn
  • Turret OID 0x50Rendering, animation and audio
  • Stretch bird OID 0x04Rendering, animation and audio
  • WalkerRendering, animation and audio
  • Thunder SlimerCampaign entrance and activation
  • openingAnimation, palette and sound
  • Highway giant beeAnimation, palette and sound
  • Boomer KuwangerAnimation, palette and sound
  • LO mid-boss, object 0x21 (placed twice; label angler)Damage, weaknesses and interruptions
  • X-BusterSprites, poses and sounds
  • Shotgun IceSprites and animation
  • Object 0x10 (label sineFaller): BK, Sigma 1, Sigma 2, Sigma 3Rendering, animation and audio
  • Object 0x20 (label amenHopper): LO, SCRendering, animation and audio
  • Object 0x59 (label longPillar) with 0x58, 0x5A: SERendering, animation and audio
  • Object 0x6A (label vileFinalForm) with 0x68: Sigma 4Rendering, animation and audio
Technical details

The reasons below are in the original technical text: each is the audit’s explanation for that step.

  • boss.chameleon-capsule-guardian.selection 09:choice:81CCF3:1 writer 81:CC19 cited, no path to it; B13 counts every owner write as reachable (ROM owner write group; requires a unique consecutive owner t) [refs 81CC19=1 (defs 0), control None=0]
  • enemy.oid_11.lifecycle respawn (r60 part): no cited writer or route; r60 method d: Condition and input hunt from the named source [refs 81D551=2 (defs 0), control 81D551=2]
  • boss.boomer-kuwanger.selection 05:choice:2 writer 87:8D6D cited, no path to it; B13 counts every owner write as reachable (Requested event is absent; use inputs to establish its exact) [refs 878D6D=3 (defs 1), control 878D09=3]
  • boss.launch-octopus.damage 07:weapon:8 is F.WAVE (AU1a audit lo-midboss-0x21.damage) in an underwater arena; B13 assumes every 86:EF37 row reachable (AI3b needed a dry spot for Utuboros) [refs 86EF37=4 (defs 0), control 86EF37=4]
  • boss.sting-chameleon.presentation 0A:sound:888AA7 never witnessed in WRAM in a scanned take (b45 /missing); no route cited [refs 888AA7=1 (defs 0), control 888598=1]
  • boss.vile-intro.selection 32:choice:0 writer 83:CBBD cited, no path to it; B13 counts every owner write as reachable (Requested event is absent; use inputs to establish its exact) [refs 83CBBD=3 (defs 1), control 83CBEB=3]
  • enemy.oid_01.visual animation-table member AF:A584: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFA584=1 (defs 0), control AFA540=0]
  • enemy.oid_2f.attack placement:sting-chameleon:47 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 83C5AB=2]
  • enemy.oid_3f.lifecycle live-child (r60 part): no cited writer or route; r60 method d: Kill the parent while its own child remains alive [refs 87B216=2 (defs 0), control 87B216=2]
  • enemy.oid_44.lifecycle death (r60 part): no cited writer or route; r60 method d: Condition and input hunt from the named source [refs 87BA72=2 (defs 0), control 87BA72=2]
  • enemy.se_mech.contact placement:storm-eagle:39 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 87B542=2]
  • enemy.se_strider.visual animation-table member AF:BBCB: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFBBCB=0 (defs 0), control AFBB48=0]
  • boss.armored-armadillo.presentation 14:sound:83B2E3 never witnessed in WRAM in a scanned take (b45 /missing); no route cited [refs 83B2E3=1 (defs 0), control 83B176=1]
  • boss.chameleon-capsule-guardian.attacks 09:state:16 writer 81:CEC7 cited, no path to it; B13 counts every owner write as reachable (Exact OID and dispatch key in NMI owner bytes.) [refs 81CEC7=3 (defs 1), control 81CCC4=3]
  • boss.chameleon-capsule-guardian.presentation 09:hit:Q3C never witnessed in WRAM in a scanned take (b45 /missing); no route cited [refs 849E6A=1 (defs 0), control 81CD54=1]
  • boss.launch-octopus.presentation 07:sound:81C535 never witnessed in WRAM in a scanned take (b45 /missing); no route cited [refs 81C535=1 (defs 0), control 81C45F=1]
  • boss.submarine.presentation 28:hit:Q10 never witnessed in WRAM in a scanned take (b45 /missing); no route cited [refs 849F0B=1 (defs 0), control 82D65C=1]
  • boss.thunder-slimer.attacks 03:fight:18 writer 84:B451 cited, no path to it; B13 counts every owner write as reachable (Requested event is absent; use inputs to establish its exact) [refs 84B451=3 (defs 1), control 84B1FF=3]
  • boss.thunder-slimer.presentation 03:sound:84B462 never witnessed in WRAM in a scanned take (b45 /missing); no route cited [refs 84B462=1 (defs 0), control 84AE85=1]
  • enemy.axemax.audio punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control 849E7E=1]
  • enemy.cp_bat.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control 849E7E=1]
  • enemy.intro_helicopter.attack placement:intro-highway:31 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 829689=2]
  • enemy.intro_helicopter.contact placement:intro-highway:31 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 829689=2]
  • enemy.intro_helicopter.motion placement:intro-highway:31 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 829689=2]
  • enemy.intro_helicopter.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control 849E7E=1]
  • enemy.intro_robot.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control 82DAC4=1]
  • enemy.mad_pecker.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control 849E7E=1]
  • enemy.oid_13.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.oid_1c.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.oid_1d.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.oid_1e.lifecycle respawn (r60 part): no cited writer or route; r60 method d: Condition and input hunt from the named source [refs 82A7DB=2 (defs 0), control 82A7DB=2]
  • enemy.oid_2f.contact placement:sting-chameleon:47 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 83C5AB=2]
  • enemy.oid_2f.visual animation-table member AF:C324: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFC324=0 (defs 0), control AFC30A=0]
  • enemy.oid_35.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control 84A4B8=1]
  • enemy.oid_37.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.oid_3b.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.oid_3f.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.oid_40.contact contact-X (r60 part): no cited writer or route; r60 method d: Touch the selected family; global X damage is insufficient [refs 87B443=2 (defs 0), control 87B443=2]
  • enemy.oid_40.lifecycle death (r60 part): no cited writer or route; r60 method d: Condition and input hunt from the named source [refs 87B443=2 (defs 0), control 87B443=2]
  • enemy.oid_40.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.oid_44.contact contact-X (r60 part): no cited writer or route; r60 method d: Touch the selected family; global X damage is insufficient [refs 87BA72=2 (defs 0), control 87BA72=2]
  • enemy.oid_46.attack placement:storm-eagle:24 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 87BC8B=2]
  • enemy.oid_46.contact placement:storm-eagle:24 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 87BC8B=2]
  • enemy.oid_46.lifecycle cull (r60 part): no cited writer or route; r60 method d: Condition and input hunt from the named source [refs 87BC8B=2 (defs 0), control 87BC8B=2]
  • enemy.oid_46.motion placement:storm-eagle:24 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 87BC8B=2]
  • enemy.oid_46.visual no partial in the ledger: e54 closed=False, r60 blocked-visual-catalogue; punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.oid_4f.lifecycle death (r60 part): no cited writer or route; r60 method d: Condition and input hunt from the named source [refs 87D119=2 (defs 0), control 87D119=2]
  • enemy.oid_4f.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.oid_57.attack placement:chill-penguin:67 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 87E354=2]
  • enemy.oid_57.contact placement:chill-penguin:67 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 87E354=2]
  • enemy.oid_59.contact contact-X (r60 part): no cited writer or route; r60 method d: Touch the selected family; global X damage is insufficient [refs 87E7D4=2 (defs 0), control 87E7D4=2]
  • enemy.oid_59.lifecycle respawn (r60 part): no cited writer or route; r60 method d: Condition and input hunt from the named source [refs 87E7D4=2 (defs 0), control 87E7D4=2]
  • enemy.oid_5b.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.oid_6a.lifecycle live-child (r60 part): no cited writer or route; r60 method d: Kill the parent while its own child remains alive [refs 88D942=2 (defs 0), control 88D942=2]
  • enemy.rush_roader.visual animation-table member AF:C20B: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFC20B=0 (defs 0), control AFC0E9=0]
  • enemy.se_drone.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control 84A4B8=1]
  • enemy.se_eaglet.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.se_mech.attack placement:storm-eagle:39 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 87B542=2]
  • enemy.se_mech.lifecycle respawn (r60 part): no cited writer or route; r60 method d: Condition and input hunt from the named source [refs 87B542=2 (defs 0), control 87B542=2]
  • enemy.se_mech.motion placement:storm-eagle:39 (r60 part): no cited writer or route; r60 method d: Input hunt for exact ROM placement [refs 80DD91=1 (defs 0), control 87B542=2]
  • enemy.se_met.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control 849E7E=1]
  • enemy.se_turret.lifecycle cull (r60 part): no cited writer or route; r60 method d: Condition and input hunt from the named source [refs 87D3AF=2 (defs 0), control 87D3AF=2]
  • enemy.se_turret.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control None=0]
  • enemy.stretch_bird.visual punch hit sound (shot $19/$1A, 84:9E6A): e54/A27 count it for every owner; Ride Armor reach exists only for AI8b's 4 rows (one-cell body, DEEP-15), none for this member [refs 849E6A=1 (defs 0), control 849E7E=1]
  • enemy.walker.visual animation-table member AF:DA21: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFDA21=0 (defs 0), control AFDA10=0]
  • boss.thunder-slimer.entry first analysis B13+R75 enumerates child keys as +01 x +02 products (bound 84:B5F9); B46 (boss_entry_parts_2026-10-13_b46.json): 03:state:6/7 need +01=00 again but every $10 store (84:AEB5/B00E/B27D/B453/B477) runs with +01=02 (writer check: 0 writers, a method-f candidate), 1928:32 keys live under one frame, 1428:19 +01=00 keys carry a leftover +02; only entrance-integration is ordinary play; vol-b5-thunder-slimer-death-1 is named by no KB of the step
  • boss.vile-intro.presentation 87 of 103 unseen are child animation-table members of 0E68:33/0E68:3C (B13 map rule: table members are a finite upper bound, not reachability) and 20 siblings are already method-f (H29, B48, B53); the 14 sound parts may sit in vol-b5-vile-full-1, vol-b5-vile-intro-1, vol-b5-vile-softlock-1 (no whole APU-gated window (build/LG4/report.json gated_windows)); refs check inconclusive (87 of 87 unseen addresses 0 refs, control AF:C632 0 refs: entries are reached in sequence or the export has no address text)
  • boss.highway-giant-bee.presentation 11 of 21 unseen are child animation-table members (0E68:27 and others; table upper bound, siblings method-f by H28/B53); the 10 sound parts may sit in vol-b5-vile-intro-1 (no whole APU-gated window (build/LG4/report.json gated_windows)); refs check inconclusive (11 of 11 unseen addresses 0 refs, control AF:BA69 0 refs: entries are reached in sequence or the export has no address text)
  • boss.boomer-kuwanger.presentation 17 of 19 unseen are owner cells of AF table 75 (AF:D3AA..) while 22 siblings of the same table are method-f (H29 AFD40D-AFD425, H40 AFD408/AFD461-AFD47F); both BK takes are gated and named, so no scan gap; refs check inconclusive (17 of 17 unseen addresses 0 refs, control AF:D3A1 0 refs: entries are reached in sequence or the export has no address text)
  • boss.lo-midboss-0x21.damage 21:weapon:8/9 (F.WAVE): first analysis B13 assumes every damage-table row reachable (an assumed input); B15 hunts stopped (search stalled; wall-limit); not checked whether Fire Wave can fire in the 0x21 arena (Utuboros needed AI3b's dry spot, utuboros_fire_wave_dry_2026-10-12_ai3b.json); rows are read by the indexed 84:9E23 load, so not dead by references; launch-octopus-auto is named by no KB of the step
  • weapon.buster.presentation 8193E6:17: R78 lists the 81:93E6 call with $17 and charge owner $00 from the closure; R84 parked it (0 of 91 traces, two crafted verified takes gave 81:9478 instead); refs check inconclusive (1 of 1 unseen addresses 0 refs, control 81:9478 0 refs: entries are reached in sequence or the export has no address text)
  • weapon.shotgun-ice.visual not checked: $17 set $95 entry E104 cell $05 (weapon_poses_2026-09-26.json w44 missing); w41's hunter assumes the $95 script runs on to entry #5; shotgun_ice_sled_2026-10-02.json names no E104
  • enemy.oid_10.visual oid_10: no witness and no twin under any boss row; first analysis e54 counts every catalogue member of 0E68:10 as a part (finite upper bound); writers not checked
  • enemy.oid_20.visual oid_20: no witness and no twin under any boss row; first analysis e54 counts every catalogue member of 0E68:20, 1428:0C, 1928:0C as a part (finite upper bound); writers not checked
  • enemy.oid_59.visual oid_59: no witness and no twin under any boss row; first analysis e54 counts every catalogue member of 0E68:58, 0E68:59, 0E68:5A, 1428:13, 1428:27, 1928:09 as a part (finite upper bound); writers not checked
  • enemy.oid_6a.visual oid_6a: no witness and no twin under any boss row; first analysis e54 counts every catalogue member of 0E68:68, 0E68:6A as a part (finite upper bound); writers not checked
Nothing in the code points to them 6 steps · 0.07% of the checklist

Nothing in the game’s code points to the first missing part, while similar parts we have already seen are referenced. We suspect they never appear, but that is not proof, so they stay on the list.

  • VelguarderAnimation, palette and sound
  • Mine-dropping bat (0x19)Rendering, animation and audio
  • Object 0x06 (label boomerKuwanger): SCRendering, animation and audio
  • Object 0x0D (label rushRoader): SM, Sigma 3Rendering, animation and audio
  • Object 0x44 (label laserTrap): BK, Sigma 1, Sigma 3Rendering, animation and audio
  • Robot OID 0x41 — identity under reviewRendering, animation and audio
Technical details

The reasons below are in the original technical text: each is the audit’s explanation for that step.

  • boss.velguarder.presentation animation-table member AF:E228: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFE228=0 (defs 0), control AFE1FE=1]
  • enemy.bat.visual animation-table member AF:B69E: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFB69E=0 (defs 0), control AFB650=1]
  • enemy.oid_06.visual animation-table member AF:AA72: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFAA72=0 (defs 0), control AFA9F3=1]
  • enemy.oid_0d.visual animation-table member AF:A51C: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFA51C=0 (defs 0), control AFA4EF=1]
  • enemy.oid_44.visual animation-table member AF:D344: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFD344=0 (defs 0), control AFD310=1]
  • enemy.se_mech.visual animation-table member AF:BC5F: the closed catalogue bounds what can appear (B13 rule), no route; siblings method-f in E52-E57 [refs AFBC5F=0 (defs 0), control AFBC01=1]
Only the sound of a punch 3 steps · 0.03% of the checklist

One part is missing in each: the sound of the Ride Armor’s punch. In the automatic searches we have not yet managed to take the armor to these enemies; this waits for a proof of its own.

  • Snowball OID 0x54Rendering, animation and audio
  • Flying spike ballRendering, animation and audio
  • Mad Pecker (0x1E) with its worms (0x1F): SCRendering, animation and audio
Technical details

The reasons below are in the original technical text: each is the audit’s explanation for that step.

  • enemy.cp_snowball.visual DEEP-15: the punch sound sound:849E6A is the only open part; unreachable until the AI8g proof (David 2026-10-16)
  • enemy.intro_spikeball.visual DEEP-15: the punch sound sound:849E6A is the only open part; unreachable until the AI8g proof (David 2026-10-16)
  • enemy.oid_1e.visual DEEP-15: the punch sound sound:849E6A is the only open part; unreachable until the AI8g proof (David 2026-10-16)
Long investigation: the terrain 1 step · 0.05% of the checklist

It depends on a long investigation, postponed because the engine comes first. Here, the effects of lava and ceilings.

  • Floors, slopes and platformsFloors, slopes and platforms
Technical details

The reasons below are in the original technical text: each is the audit’s explanation for that step.

  • player.terrain.coverage DEEP-INVESTIGATIONS item 13: part s38-probe-scope; open with item 12 and the lava-ceiling effects 84:9581/84:944B (attempts R141, S64)
Long investigation: the boss Utuboros 1 step · 0.08% of the checklist

It depends on a long investigation, postponed because the engine comes first. Here, the introduction of the boss Utuboros.

  • identity to confirmAnimation, palette and sound
Technical details

The reasons below are in the original technical text: each is the audit’s explanation for that step.

  • boss.utuboros.presentation DEEP-INVESTIGATIONS item 14: bounds 48/49/50/52/54 open, declared resolved for the score by R155 (41 of 96); also vol-b5-utuboros-1, vol-b5-utuboros-death-1, vol-b6-utuboros-6 have no whole APU-gated window (build/LG4/report.json gated_windows)

Besides these, 3 steps can only be proved at the end, when the rest is ready; together they are worth 2.00% of the checklist:

  • Save, resume, finish and physical controlsSave, resume, finish and physical controls
  • Full regression on final candidateFull regression on final candidate
  • Owner plays opening to credits and acceptsOwner plays opening to credits and accepts
Technical details

Source: the tables build/AU1/audit.md (91 open steps) and build/AU1a/audit.md (32 open steps) in the game repository, of 2026-10-16, checked against the imported checklist; each step’s points are equal in both sources. Task AU1r read the recordings of the AU1 audit’s 11 UNSCANNED steps again. Audited steps that the checklist has since verified and that left the list: census.0x38.ownership (3 bp, verified). 380 bp are missing in all, summing the open steps and the end steps.

The data is in data/x1-to-prove.json; the importer is tools/sync_code_map.py.

Updates

What’s new in the game and on the site, newest first.

See all updates →

Full video

The video starts with every weapon already unlocked.