Repository navigation
Harden Guitar Hero title-screen ownership in V4 - #141
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4f287532bd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| # logo colors are not enough. Preserve V2's hit-confidence metric, but demote | ||
| # image-only GAMEPLAY when the receptor layout itself is weak. | ||
| guarded_obs = obs | ||
| if obs.receptor_confidence < self.gameplay_receptor_floor: |
There was a problem hiding this comment.
Reject the three-receptor confidence ceiling
With the default floor of 0.78, this strict < comparison still accepts an ideally aligned three-color layout: GuitarHeroVision._layout can score three detections as (3/5 * 0.55) + 0.20 + 0.15 + 0.10 = 0.78. That observation then has baseline gameplay confidence 0.78 * 0.88 = 0.6864, above the default 0.64 gameplay threshold even without visible notes, so the exact decorative three-color case this guard is intended to reject can still claim GAMEPLAY.
Useful? React with 👍 / 👎.
| if template_screen is not None: | ||
| self._title_splash_score_value = self._title_splash_score(ctx.frame) | ||
| return template_screen |
There was a problem hiding this comment.
Refresh the title-splash latch before returning templates
Whenever an authoritative template is present, this return bypasses every update to _title_splash_active and title_splash_episodes. An exact title template therefore reports the splash as inactive, while a main-menu or other template following an image-detected title leaves it falsely active and may merge a later title into the prior episode, corrupting the newly added runtime telemetry.
Useful? React with 👍 / 👎.
Live failure
The next supervised GH1 run reached the real
PRESS ANY BUTTON TO BEGINtitle screen, but V3 still misclassified it. The live console showedmain menu settling/main_to_quick_playand latertrack note highwaywhile the title logo remained on screen. The large colored Guitar Hero logo was supplying both false selected-menu color and a weak three-color receptor geometry.V4 fix
Starttransactionbootroute state from the title card even if a prior false positive already moved the policy into menu/gameplay stateGuitarHeroV4Profilein the registryRegression coverage
Adds tests proving a title-like frame wins even when injected evidence claims both GAMEPLAY and MAIN_MENU, that corrupted gameplay/menu state is reset to boot and Start is emitted, that weak receptor layouts cannot own gameplay, strong receptor layouts still can, and image-only menus require real row topology.
Evidence boundary
This addresses the exact live title-screen blocker shown in the latest retained capture. Guitar Hero remains diagnostic until the title -> main menu -> setlist -> difficulty -> live highway -> results lifecycle is proven end-to-end on retained runtime evidence.