Repository navigation
Fix Guitar Hero post-failure routing and cut gameplay vision latency in V11 - #148
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ac4025d508
ℹ️ 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".
| if protected_route and self.phase is not GuitarHeroPhase.BOOT and not self._explicit_title_template(ctx): | ||
| old_threshold = self.title_splash_threshold | ||
| self.title_splash_threshold = 1.01 | ||
| try: | ||
| screen = super()._classify(ctx, obs) | ||
| finally: | ||
| self.title_splash_threshold = old_threshold |
There was a problem hiding this comment.
Suppress both image-only title detectors
When a protected route is in PRESENTATION—for example, if the failed-to-setlist animation outlasts the five-second guard—the inherited V2 classifier can still return TITLE from obs.title_score. Raising only title_splash_threshold disables V4's detector but not this second image-only path, after which V4 resets the route to BOOT and recreates the unattended-stream failure this change is intended to fix. Reject a returned image-only TITLE here unless _explicit_title_template(ctx) is true.
Useful? React with 👍 / 👎.
Evidence from the uploaded soak
The retained runtime bundle was still running Guitar Hero V9, not V10. It begins on SONG FAILED, successfully emits Down + Confirm for New Song, and then immediately classifies the transition as TITLE. V4's title handler resets route state to BOOT, after which the run spends the rest of the soak waiting/probing Start rather than returning to setlist.
The same bundle also exposes a more fundamental gameplay problem: the requested 60 Hz loop has a 16.67 ms budget, while representative telemetry shows roughly 30 ms capture + 47 ms policy and ~90 ms total loop time with a 100% overrun ratio / critical pressure. Tuning hit windows on top of that cadence is not meaningful.
V11 lifecycle hardening
V11 vision/runtime performance
Regression coverage
Adds tests for locked-highway fast-path reuse, gameplay menu-score suppression, preservation of failed->setlist routing through a title-like false positive, V11 telemetry, and active registry export.
This remains diagnostic until a fresh V11 process reaches and survives real Easy gameplay. The uploaded bundle itself contains no fret-playing inputs, so it cannot validate V10/V11 note quality.