Skip to content

feat: spread capture polish + post-spread harness fixes#41

Merged
jkbennitt merged 3 commits into
masterfrom
feat/obs-capture-polish
Jun 12, 2026
Merged

feat: spread capture polish + post-spread harness fixes#41
jkbennitt merged 3 commits into
masterfrom
feat/obs-capture-polish

Conversation

@jkbennitt

Copy link
Copy Markdown
Member

Summary

Capture polish used live during the 2026-06-11 v0.3.0 validation spread, plus the three harness fixes it surfaced:

Capture (validated live during the spread):

  • Score ticker prefers per-model subdirs (label showed spread instead of the model name)
  • mirror_latest_tick.py: single :9000 tick server follows whichever model is running
  • Capture URLs gain norefresh=1 (kills the dashboard background-repaint flash)

Fixes (from results/spread/issues_to_file/, archived in rle-media):

  • Stockpile-zone overlap guard (mirrors growing-zone guard; overlaps spam one RimWorld error per cell and pop the dev log over footage)
  • Semantic stockpile priority words (important etc.) — bare int() crashed on fable5 tick 1
  • Loud one-time WARNING when the deployed RIMAPI build lacks /ui/window/* — the whole spread ran with auto-dismiss silently inert

Chore: v0.3.0 spread recorded in benchmark history.

Test plan

  • 9 new unit tests (stockpile guard ×4, priority parsing ×5); 491 total pass; ruff + mypy strict clean

🤖 Generated with Claude Code

jkbennitt and others added 3 commits June 11, 2026 18:07
…rror

- obs_studio.py: _latest_tick_file prefers per-model subdirs so the score
  ticker shows the model name, not the watch-root dir ("spread"). Capture
  URLs gain norefresh=1 (kills the dashboard's 5s background-repaint flash;
  the RLE widgets poll :9000 on their own).
- mirror_latest_tick.py: copy the active model's latest_tick.json up to the
  watch root so a single :9000 tick server follows whichever model runs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ight

Three harness bugs found in the 2026-06-11 v0.3.0 validation spread
(drafted in results/spread/issues_to_file/, archived in rle-media):

- stockpile_zone now short-circuits overlapping repeats with a clear
  error, mirroring the growing-zone guard — RimWorld logs one
  "overwriting slot group square" error PER CELL on overlap, which
  spammed the dev log and popped it over the fable5 footage
- stockpile priority accepts RimWorld's semantic words (low/normal/
  preferred/important/critical) case-insensitively; bare int() crashed
  on fable5's priority="important" at tick 1
- game loop probes /api/v1/ui/windows once at run start and logs a loud
  WARNING when the deployed RIMAPI build lacks the window endpoints —
  the whole 11-model spread ran with auto-dismiss silently inert
  because every window/close 404 was swallowed at DEBUG level

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jkbennitt jkbennitt merged commit 6a84657 into master Jun 12, 2026
3 checks passed
@jkbennitt jkbennitt deleted the feat/obs-capture-polish branch June 12, 2026 03:30
@jkbennitt jkbennitt mentioned this pull request Jun 12, 2026
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant