chore(bench): add client bench harness and Phase 2 handoff

The client now boots cleanly on the bench machine (the CAC spawn-key
crash was fixed in 8e8483d). Add the harness used to drive bench scenes
and capture frametimes, the bench-world generation workflow, and a
self-contained handoff brief. All files live under analysis/ (packwizignored),
so nothing player-facing changes.

- harness/rcon.py: minimal RCON client for the temp worldgen server
- harness/run_scene.py: apply variant -> launch Prism under MangoHud ->
  xdotool scene commands -> p50/p95/p99/1%-low from the CSV
- HANDOFF.md: state, gotchas, next steps
- build.py: disable DH autoUpdater for bench variants (suppress modal)
This commit is contained in:
Onion Agent committed 2026-10-14 23:16:31 -04:00
1 parent 8e8483d072
commit e5e369a693
7 files changed
+611 -1

No files matched your search

+37
View File
@@ -411,3 +411,40 @@ machine has.
2. Build the bench world (§2), then run B0 → B14. Write the winners into `build.py`, ship,
refresh, commit.
3. Report shader-policy data (B7) and any trial-mod verdicts (B12b) to the owner.
## Session 2026-10-15 — Phase 2 begins: client boots, bench harness built
Machine: **Manjaro**, Java 21 (OpenJDK), Prism 11.0.3, RX 7800 XT / Ryzen 9 9900X / 91 GB.
Unlike the previous machine this one runs the client. Full brief: `analysis/client-perf/HANDOFF.md`.
### Boot check (client) — essentially PASS
Pack reaches the main menu cleanly (ModernFix "Game took 29.3 s"; atlas 4096x4096x2;
Default Options seeds `options.txt` correctly). No missing deps, no mixin apply failures,
no `ftbteams`, no fishermans-haven errors, no YACL "Failed to deserialize". 22 benign ERRORs.
The one real blocker — **Critters & Companions spawn keys camelCase vs YACL's snake_case
policy**, NPE in `CACSpawnConfig$SpawnEntry.isTag`, broken mod state — was fixed and pushed
by the owner as **`8e8483d`** while this session ran. Alex's Mobs / Fowl Play spawn tuning
verified applied in-game.
**Open:** intermittent **world-load** crash in WATUT
(`ShaderInstanceBlur` → `FileNotFoundException: minecraft:shaders/core/particle.json`).
First load worked, next crashed. Needs repro; owner says remove no mods.
### Built this session (all under `analysis/client-perf/`, packwizignored)
- `harness/rcon.py`, `harness/run_scene.py` — apply variant → launch Prism into the bench
world under user-local MangoHud → drive scenes via xdotool → slice p99/1%-low from CSV.
Verified end-to-end once (C1/S1, but vsync-locked; `vblank_mode=0` added after).
- User-local MangoHud 0.8.4 (`~/.local/mangohud`, wrapper `~/.local/bin/mangohud-local`).
- Bench world `saves/onionbench` generated by temp server `~/onion-bench/server-bench`
(S2 Create floor, S3 mob pen placed+verified). S4 airships not built.
- `build.py` BENCH layer: `enableAutoUpdater=false` (suppress DH update modal). Tiers
unchanged; **nothing shipped**.
### Not done
The matrix blocks B0–B14. Fleet P0/P1/P2 are unreachable → any data here is a high-tier
proxy. Only one non-decision-grade run exists. Next agent: kill the WATUT crash, confirm
uncapped frametimes, then run B0→B14 per `BENCH-MATRIX.md`.
### Pushed
`8e8483d` (owner, CAC keys). This session's analysis/harness commit follows; it touches no
shipped file.