# PENGO-E012 — ACT3 phase diagnosis, closed

The9790 result remains **best verified planner trajectory**, not a full-game
record. ACT1 and ACT2 are complete. ACT3 is reached but incomplete. The tape
ends after a death has begun, before the lives counter decrements.

First UNKNOWN after ready6017: **7299**, also the first persistent terminal
UNKNOWN. At7298 the player is ready/raw2; at7299 raw0, collision latch0xff and
native pixels show contact with a live enemy.54 RAM bytes change at that
boundary. Screenshots before/after, full tile/object snapshots and byte-level
RAM differences are retained privately in e012-act3-phase-v1-neutral. Public
reports expose counts and hashes, not RAM bytes or extracted graphics.

Exactly600 neutral frames,7299→7899, reproduce: score9390 at collision, delayed
+400 at7323, remaining objectives5→4 at7381, death animation/raw6 at7475,
**lives3→2 at7601**, then life reset/raw7. Independently tested neutral, each
of four directions, button alone and four direction+button combinations all
have the same life decrement at7601. Each fixed32-frame input+568 neutrals
replays the identical observed prefix from a fresh process.10 probes,78990
physical frames; no search or load/write.

Hypotheses explicitly checked:

- Diamond sequence: rejected for this event. Diamonds are at(1,11),(11,11),
  (5,13), unchanged before the board reset; they do not form a contiguous row
  or column. The only score increment is400, with the pending crushed-enemy
  object transitioning to its points animation. No diamond value is inferred.
- Last Sno-Bee escape: rejected for this event. Five objectives remain at
  collision, four after the pending crush; several live/hatching objects are
  present. The stage remains ACT3, a life is lost, and play resumes on the same
  ACT after respawn. This does not establish the general escape mechanism.
- Death: reproduced by pixels, collision latch, subsequent animation and
  delayed counter decrement on all10 inputs. Inputs after collision cannot
  recover this registered state; this is not a proof about earlier alternatives.

Two additional native-speed reset confirmations: the E009 diagnostic through
8299 matches the earlier600-frame trace exactly and returns to playable state
at8135 with2 lives. A distinct fixed idle trajectory collides at6542, loses
a life at6668 and returns to play at7187.137.266s and122.688s process wall time.
18,385 per-frame observations across both confirmations and frozen E002 are
checked by the new reader; no historically playing frame is falsely rejected.

The opt-in `pengo_phase_reader.py` recognizes raw0 only together with the
verified collision latch and valid player observation. Raw0 without the latch
remains UNKNOWN; unfamiliar latch combinations are not admitted as safe play.
The original reader, E002/E006/E009 results and all old tapes stay unchanged.
Three new targeted tests pass locally/remotely. The reader fix makes the
terminal7299→7474 freeze a known death phase rather than UNKNOWN. It does not
complete ACT3 or retrospectively turn9790 into a zero-death result.

N1's original protocol and implementation hashes both match their registration:
25 playing decisions without progress was already a stop criterion; early
watchdog failure is incomplete, not budget exhaustion. N1b is not adopted.
Provenance: docs/pengo/PENGO-SCORE-TARGET-PROVENANCE.md. Diamond mechanics/values
remain UNKNOWN and excluded from any objective; E004 will verify them after
the E003 progression milestone. No score search resumes under this diagnosis.

Evidence: data/pengo/e012/inspection-v1, input-probes-v1, confirmation-v1,
reader-validation-v1 and n1-prereg-recovery-v1. Original diagnostic and
confirmation preregistrations are retained alongside their source hashes.
