Breakout ROM Fidelity v2

forced_loss_trace

{
  "episodes": 2,
  "steps": 2400,
  "policy": "forced-loss-v1",
  "reward_count": 2,
  "reset_like_events": [
    {
      "episode": 0,
      "step": 24,
      "previous_step": 23,
      "prev_ball_x": 77,
      "prev_ball_y": 205,
      "new_ball_x": 80,
      "new_ball_y": 0,
      "last_high_ball_step": 23,
      "last_high_ball_y": 205
    },
    {
      "episode": 1,
      "step": 99,
      "previous_step": 98,
      "prev_ball_x": 53,
      "prev_ball_y": 204,
      "new_ball_x": 50,
      "new_ball_y": 0,
      "last_high_ball_step": 98,
      "last_high_ball_y": 204
    }
  ],
  "reset_like_count": 2,
  "candidate_ram": {
    "reset_window_changed": [
      {
        "byte": 57,
        "event_changes": 2,
        "decreases": 2,
        "increases": 0,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 5,
            "after": 4,
            "delta": -1
          },
          {
            "episode": 1,
            "step": 99,
            "before": 5,
            "after": 4,
            "delta": -1
          }
        ]
      },
      {
        "byte": 86,
        "event_changes": 2,
        "decreases": 2,
        "increases": 0,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 25,
            "after": 20,
            "delta": -5
          },
          {
            "episode": 1,
            "step": 99,
            "before": 25,
            "after": 20,
            "delta": -5
          }
        ]
      },
      {
        "byte": 101,
        "event_changes": 2,
        "decreases": 2,
        "increases": 0,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 205,
            "after": 0,
            "delta": -205
          },
          {
            "episode": 1,
            "step": 99,
            "before": 204,
            "after": 0,
            "delta": -204
          }
        ]
      },
      {
        "byte": 103,
        "event_changes": 2,
        "decreases": 2,
        "increases": 0,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 1,
            "after": 0,
            "delta": -1
          },
          {
            "episode": 1,
            "step": 99,
            "before": 1,
            "after": 0,
            "delta": -1
          }
        ]
      },
      {
        "byte": 105,
        "event_changes": 2,
        "decreases": 2,
        "increases": 0,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 255,
            "after": 0,
            "delta": -255
          },
          {
            "episode": 1,
            "step": 99,
            "before": 1,
            "after": 0,
            "delta": -1
          }
        ]
      },
      {
        "byte": 99,
        "event_changes": 2,
        "decreases": 1,
        "increases": 1,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 77,
            "after": 80,
            "delta": 3
          },
          {
            "episode": 1,
            "step": 99,
            "before": 53,
            "after": 50,
            "delta": -3
          }
        ]
      },
      {
        "byte": 90,
        "event_changes": 2,
        "decreases": 0,
        "increases": 2,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 109,
            "after": 113,
            "delta": 4
          },
          {
            "episode": 1,
            "step": 99,
            "before": 154,
            "after": 158,
            "delta": 4
          }
        ]
      },
      {
        "byte": 104,
        "event_changes": 1,
        "decreases": 1,
        "increases": 0,
        "examples": [
          {
            "episode": 1,
            "step": 99,
            "before": 128,
            "after": 0,
            "delta": -128
          }
        ]
      },
      {
        "byte": 107,
        "event_changes": 1,
        "decreases": 1,
        "increases": 0,
        "examples": [
          {
            "episode": 1,
            "step": 99,
            "before": 130,
            "after": 0,
            "delta": -130
          }
        ]
      },
      {
        "byte": 102,
        "event_changes": 1,
        "decreases": 0,
        "increases": 1,
        "examples": [
          {
            "episode": 1,
            "step": 99,
            "before": 0,
            "after": 128,
            "delta": 128
          }
        ]
      }
    ],
    "life_like_decreasing": [
      {
        "byte": 57,
        "event_changes": 2,
        "decreases": 2,
        "increases": 0,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 5,
            "after": 4,
            "delta": -1
          },
          {
            "episode": 1,
            "step": 99,
            "before": 5,
            "after": 4,
            "delta": -1
          }
        ]
      },
      {
        "byte": 86,
        "event_changes": 2,
        "decreases": 2,
        "increases": 0,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 25,
            "after": 20,
            "delta": -5
          },
          {
            "episode": 1,
            "step": 99,
            "before": 25,
            "after": 20,
            "delta": -5
          }
        ]
      },
      {
        "byte": 101,
        "event_changes": 2,
        "decreases": 2,
        "increases": 0,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 205,
            "after": 0,
            "delta": -205
          },
          {
            "episode": 1,
            "step": 99,
            "before": 204,
            "after": 0,
            "delta": -204
          }
        ]
      },
      {
        "byte": 103,
        "event_changes": 2,
        "decreases": 2,
        "increases": 0,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 1,
            "after": 0,
            "delta": -1
          },
          {
            "episode": 1,
            "step": 99,
            "before": 1,
            "after": 0,
            "delta": -1
          }
        ]
      },
      {
        "byte": 105,
        "event_changes": 2,
        "decreases": 2,
        "increases": 0,
        "examples": [
          {
            "episode": 0,
            "step": 24,
            "before": 255,
            "after": 0,
            "delta": -255
          },
          {
            "episode": 1,
            "step": 99,
            "before": 1,
            "after": 0,
            "delta": -1
          }
        ]
      },
      {
        "byte": 104,
        "event_changes": 1,
        "decreases": 1,
        "increases": 0,
        "examples": [
          {
            "episode": 1,
            "step": 99,
            "before": 128,
            "after": 0,
            "delta": -128
          }
        ]
      },
      {
        "byte": 107,
        "event_changes": 1,
        "decreases": 1,
        "increases": 0,
        "examples": [
          {
            "episode": 1,
            "step": 99,
            "before": 130,
            "after": 0,
            "delta": -130
          }
        ]
      }
    ]
  },
  "known_ram": {
    "ball_x": 99,
    "ball_y": 101,
    "paddle_x": 72
  },
  "video_urls": [
    "https://file.aimusic.win/gemma/breakout/rom_fidelity_v2_forced_loss_atari.mp4"
  ]
}

transfer_delta

{
  "before_report": "breakout/calibration/reports/transfer_v1_report.json",
  "after_report": "breakout/calibration/reports/transfer_v2_report.json",
  "before_ratio": 0.45,
  "after_ratio": 0.5,
  "ratio_delta": 0.04999999999999999,
  "before_go_mean": 10.0,
  "after_go_mean": 9.0,
  "before_atari_mean": 4.5,
  "after_atari_mean": 4.5,
  "after_verdict": "partial_transfer"
}

changes

[
  "Added forced-loss-v1 to intentionally produce Atari life/reset evidence.",
  "Set Go lives from 3 to 5 after forced-loss RAM byte 57 decreased 5 -> 4 in both reset windows.",
  "Set Go bottom_margin from 60 to 0 after Atari ball-y RAM reset near 204/205 instead of far below the screen.",
  "Added paddle_bounce_y=10.0 to make post-paddle rallies harder while preserving the first reward timing."
]

next_recommendation

"Use the reset-window candidate RAM bytes to confirm lives with a longer forced-loss trace before adding brick bitmap state."