# Retained earlier failed qualification

Exact ROM SHA256: b29af4d9300da2f4d989e9537a0c94f2da43f701fdb6054f4c5b9ce5040fc3d8

These checks do not approve the current qualification.

## pass_height — FAIL

```text
Traceback (most recent call last):
  File "/home/jdc/mount/truenas/www/dela.jdc.se/nhl94/.workspace/work/replay-hud-20261101/stage-v2/tools/experimental/verify_pass_height.py", line 105, in <module>
    with ThreadPoolExecutor(max_workers=2) as pool:played=list(pool.map(native_input,[0,1]))
                                                          ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/concurrent/futures/_base.py", line 645, in result_iterator
    yield _result_or_cancel(fs.pop())
          ~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3.14/concurrent/futures/_base.py", line 312, in _result_or_cancel
    return fut.result(timeout)
           ~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3.14/concurrent/futures/_base.py", line 454, in result
    return self.__get_result()
           ~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/concurrent/futures/_base.py", line 396, in __get_result
    raise self._exception
  File "/usr/lib/python3.14/concurrent/futures/thread.py", line 86, in run
    result = ctx.run(self.task)
  File "/usr/lib/python3.14/concurrent/futures/thread.py", line 73, in run
    return fn(*args, **kwargs)
  File "/home/jdc/mount/truenas/www/dela.jdc.se/nhl94/.workspace/work/replay-hud-20261101/stage-v2/tools/experimental/verify_pass_height.py", line 104, in native_input
    p=o/('native-input-'+str(mode));p.mkdir(exist_ok=True);(p/'battery.srm').write_bytes(battery(0,(mode,0,1)));(p/'spec.json').write_text(json.dumps(dict(mode=mode)));core(p,o/'pass-observed.bin',['900 press 1 Down 5','1000 press 1 Right 5','1400 press 1 Up 5','1500 press 1 Start 5','1900 press 1 Start 5','15502 exit'],dict(GPGX_DEV='513',GPGX_SRM=str(p/'battery.srm'),GPGX_HOOK=str(h/'testcases/pass_height_input_hook.py')));d=json.loads((p/'native-input.json').read_text());human=[e for e in d['events'] if e['human']];assert len(human)>=3,('insufficient native human passes',mode,human);long=[e for e in human if e['time']>6];assert long,('no native human pass reaches low cap',mode,human);return dict(mode=mode,targeted_passes=len(d['events']),human_targeted_passes=len(human),human_passes_above_six_eighths=len(long),maximum_human_lift=max(e['vertical_velocity'] for e in human),private_probe_preserves_original_native_path=True)
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ^^^^
AssertionError: ('no native human pass reaches low cap', 0, [{'frame': 4241, 'actor': 2, 'role': 4, 'mode': 0, 'time': 5, 'vertical_velocity': 1280, 'human': True, 'target': 0, 'passer': 2}, {'frame': 4696, 'actor': 1, 'role': 3, 'mode': 0, 'time': 2, 'vertical_velocity': 512, 'human': True, 'target': 2, 'passer': 1}, {'frame': 5960, 'actor': 0, 'role': 5, 'mode': 0, 'time': 6, 'vertical_velocity': 1536, 'human': True, 'target': 2, 'passer': 0}])

```

## maintenance_replay — FAIL

```text
Traceback (most recent call last):
  File "/home/jdc/mount/truenas/www/dela.jdc.se/nhl94/.workspace/work/replay-hud-20261101/stage-v2/tools/experimental/verify_maintenance_replay.py", line 481, in <module>
    with ThreadPoolExecutor(max_workers=3) as pool:cases=list(pool.map(run,range(40)))
                                                         ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/concurrent/futures/_base.py", line 645, in result_iterator
    yield _result_or_cancel(fs.pop())
          ~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3.14/concurrent/futures/_base.py", line 312, in _result_or_cancel
    return fut.result(timeout)
           ~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3.14/concurrent/futures/_base.py", line 454, in result
    return self.__get_result()
           ~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/concurrent/futures/_base.py", line 396, in __get_result
    raise self._exception
  File "/usr/lib/python3.14/concurrent/futures/thread.py", line 86, in run
    result = ctx.run(self.task)
  File "/usr/lib/python3.14/concurrent/futures/thread.py", line 73, in run
    return fn(*args, **kwargs)
  File "/home/jdc/mount/truenas/www/dela.jdc.se/nhl94/.workspace/work/replay-hud-20261101/stage-v2/tools/experimental/verify_maintenance_replay.py", line 330, in run
    comparison=compare_replay(json.loads(actual.read_text()),json.loads(control.read_text()),json.loads((actual.parent/'presentation_trace.json').read_text()),json.loads((control.parent/'presentation_trace.json').read_text()))
  File "/home/jdc/mount/truenas/www/dela.jdc.se/nhl94/.workspace/work/replay-hud-20261101/stage-v2/tools/experimental/replay_trajectory_checks.py", line 29, in compare
    assert maximum<=1,('automatic-replay position jump exceeds one native unit/component',i+1,maximum)
           ^^^^^^^^^^
AssertionError: ('automatic-replay position jump exceeds one native unit/component', 285, 2)

```

## pickup_delay — FAIL

```text
PASS 224 human-release cooldown/keeper/guard/complete ABI cases
PASS 80 actual native countdown/stick/body/keeper collision cases
PASS 1040 record validation/ABI contexts and four complete64KB separated writes
Traceback (most recent call last):
  File "/home/jdc/mount/truenas/www/dela.jdc.se/nhl94/.workspace/work/replay-hud-20261101/stage-v2/tools/experimental/verify_pickup_delay.py", line 226, in <module>
    if a.section in ['all','menu']:sections['menu']=menu_suite()
                                                    ~~~~~~~~~~^^
  File "/home/jdc/mount/truenas/www/dela.jdc.se/nhl94/.workspace/work/replay-hud-20261101/stage-v2/tools/experimental/verify_pickup_delay.py", line 164, in menu_suite
    raw=menu('first-game-'+str(dev),initial(),['1500 press 1 Start 5','1900 press 1 Start 5','16001 exit'],{1200:dict(pickup=1),3300:dict(pickup=1)},dev,False,dict(pickup=1,gp=1))
  File "/home/jdc/mount/truenas/www/dela.jdc.se/nhl94/.workspace/work/replay-hud-20261101/stage-v2/tools/experimental/verify_pickup_delay.py", line 144, in menu
    p=o/name;p.mkdir(exist_ok=True);(p/'battery.srm').write_bytes(raw);(p/'spec.json').write_text(json.dumps(dict(name=name,checks=checks,render=render,finish=finish)));game_core(p,observed,commands,dict(GPGX_DEV=str(dev),GPGX_SRM=str(p/'battery.srm'),GPGX_HOOK=str(h/'testcases/pickup_delay_menu_hook.py')));rows.append(dict(name=name,observations=json.loads((p/'results.json').read_text())));return(p/'battery.srm').read_bytes()
                                                                                                                                                                         ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jdc/mount/truenas/www/dela.jdc.se/nhl94/.workspace/work/replay-hud-20261101/stage-v2/tools/experimental/verify_pickup_delay.py", line 46, in game_core
    with(p/'log').open('w') as log:subprocess.run(['nice','-n','19','python3',str(h/'test_core.py'),str(rom.resolve()),str(p/'commands.txt'),str(p)],env=env|settings,stdout=log,stderr=log,check=True,timeout=100)
                                   ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/subprocess.py", line 578, in run
    raise CalledProcessError(retcode, process.args,
                             output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['nice', '-n', '19', 'python3', '/home/jdc/mount/truenas/www/dela.jdc.se/nhl94/.workspace/work/replay-hud-20261101/stage-v2/tools/experimental/test_core.py', '/var/tmp/nhl94-replay-quick-menu-qa112-mmibn17f/all/pickup_delay/renderer/rom.bin', '/var/tmp/nhl94-replay-quick-menu-qa112-mmibn17f/all/pickup_delay/first-game-1281/commands.txt', '/var/tmp/nhl94-replay-quick-menu-qa112-mmibn17f/all/pickup_delay/first-game-1281']' returned non-zero exit status 1.

```

## shot_plan — FAIL

```text
PASS 120 actual native aim/keeper/distance boundary and both-team/end full-ABI guarded geometry contexts
PASS 18 bounded age/ownership/corruption native pure-decision and full ABI/RAM contexts
PASS 573 actual native target boundary both teams/ends/legs/stable-side/pressure/age/guard cases
PASS 560 actual committed-shot native return discard/decline/guard/full-ABI contexts
PASS 1040 record validation/ABI contexts and four complete64KB separated writes
PASS 30 native menu/render/boot/slot/lock/restart/first-match cases

```
