Files
plugin-helper/.agents/skills/references/live-validation.md
T
2026-07-10 08:42:55 -07:00

44 lines
1.7 KiB
Markdown

# Beat Saber Live Validation
Use this policy when a task changes or verifies a live BSManager instance.
## Smoke Test
- Follow `docs/SMOKETEST.md` for live game validation.
- Before starting Beat Saber, announce how long the smoke window will run, using
the current duration in `docs/SMOKETEST.md` unless the user requested a
different duration.
- Do not rely on `timeout` to kill the full game process tree.
- Prefer the documented foreground Proton launch with a background watchdog that
sleeps for the smoke window, then terminates Beat Saber by process name.
- After the run, confirm no Beat Saber process remains. If cleanup fails, say so
and ask the user to close it manually.
## Required After Live Apply
After any successful helper `apply` that changes a live BSManager instance, run
the documented live smoke test before the final response unless the user
explicitly says not to. Helper `check`, unit tests, compile checks, and file-hash
verification are useful but do not replace live validation.
## Logs
Inspect `Logs/_latest.log`, Unity `Player.log` when relevant, and the live
process command line before calling a black screen or launch failure a plugin
failure. Duplicate launch args such as repeated `--no-yeet fpfc` can trigger
fatal command-line parsing after BSIPA/plugin loading succeeds.
Expected successful BSIPA/SongCore lines include:
```text
Game version <version>
Loading plugins from Plugins and found <n>
Beat Saber IPA (BSIPA): <version>
SongCore (SongCore): <version>
```
Warnings about older mod target game-version metadata can be acceptable when
BeatMods verified that exact package for the target Beat Saber version. Record
them in the tracker or roadmap rather than treating them as automatic install
failure.