Agate street approach: frozen source review, 2026-10-03
The approach failure occurs before movement. Whole-y52 exclusions are not the decisive cause: undefeated Antoine49 and Lyla45/Ezra46 divide the south component from every staging tile43–48,53. Separately, old defeated Ricardo exclusions30–33,62 blocked even the safe approach to Antoine. Root authorized removing only those four planning exclusions; Agate-defeated-Ricardo-avoid-removal130.json binds the frozen native763,48,A=True proof and before/after planning SHA. No UI or save data changed.
With all other guards retained, frozen763[46,70] has a37-step safe route to36,61: LEFT2, DOWN4, LEFT7, DOWN1, LEFT5, UP14, RIGHT4. At native39152, E82/E84's old51 setters are inactive blank pages, so32,62 does not recommit story. NextRIGHT into37,61 deliberately triggers ordinary Antoine1; stop at36,61 to prepare. Field is NoField and current regional overworld weather carries.
Antoine: Map763E49p0, Trainer(4),37,63 facingUp; MeteorAceF/Antoine/1. Exact installed roster is work/agate-antoine1-static-roster.json: Mamoswine86, Lurantis86, Liepard87, Mightyena88, Tyranitar88. Its event sets1040=True, then selfA only on victory, with no391 setter. Construction defaults are Hardy,10IV,85EV each; no held items or trainer medicines. Tyranitar starts sand when sent out.
Hypothetical AFTER a genuine Antoine win, with fresh actual actor positions required: player37,61→RIGHT1→38,61, the two normal rightward diagonal stair transitions→39,60→40,59, UP3→40,56, RIGHT1→safe41,56. AnotherRIGHT→42,56 enters both Lyla/Ezra rays. Do not replay this until the actual outside-battle checkpoint is reviewed and only source-proven defeated ray guards are removed.
Separate singles are not safely reachable from this south component: all Lyla side/back approach tiles and Ezra west/north tiles are impassable; Ezra43,55 is across the same overlapping ray. Lyla42,60 facesUp4 and Ezra42,55 facesDown4; their overlap is42,56–59. Game_Player.rb230–245 starts both reachable sightline events. Trainers.rb255–285 defers the first trainer when exactly one other undefeated trainer sees the player, then314ff combines both parties in doubles. Victory sets waitingtrainer selfA and bothD (Trainers411–416), while each event handles its ownA. Neither changes391. Source rosters are work/agate-lyla1-static-roster.json and work/agate-ezra1-static-roster.json, four87mons each; Ditto has Imposter, so verify its actual transformation.
All three events command132 with Atmosphere- Majesty100/100 before battle and133 with an empty AudioFile. Effective Field.rb3039–3047 overrides the earlier Interpreter method, with nextBattleBGM/ME taking priority (Utilities1866/1924). Empty victory is a no-op, not silence or fallback: Battle_Scene3927 calls Audio.rb221–251, whose name-empty branch sends no audio operation. Majesty therefore continues through victory/EXP; battle animation later restores overworld music. An archive span must use Majesty for both battle and victory, bounded by actual public world-return evidence.
Exact stage commitment remains763x43–48,y52 touch→39153. Keep it blocked until whole-chain party, healing, weather, bag, archive proof and actual input readiness are complete. Rebuild geometry and defeated trainer guards after each street fight; normal notice walking moves actors, so hypothetical original positions cannot substitute for a fresh outside-battle checkpoint.