shots: render refuses missing frames and fails on load errors; shots check errors on renders with failed loads (pitfall 93)

This commit is contained in:
CRTkafa 2026-10-21 18:09:06 +07:00
parent 00756e6908
commit 88d1b58f1f
7 changed files with 78 additions and 2 deletions

View file

@ -1136,3 +1136,15 @@ that fails without the fix (see CONTRIBUTING.md).
Owner-only operations (submit, release, delete, prices, testers, replies, ...) refuse `--confirm`: the owner
still types the id in a terminal. MCP and the desktop app still never send writes.
- **Guard:** `decide` / `OWNER_NO_CONFIRM` in `cli/api/gate.ts`, `tests/api.test.ts`.
## 93. Screenshots rendered without their frames (empty store images, check said 0 errors)
- **Symptom:** `shots render` finished and `shots check` reported 0 errors / 0 warnings, but the images showed only
captions and backgrounds: no app or game. The render log had only `404 .../frames/...` warnings.
- **Cause:** the raw frames folder (`shots.frames`) is usually git-ignored; in a fresh checkout it was never captured,
and the 404s were recorded in report.json `missing` but never checked.
- **Do:** run `storebound shots capture` (or restore the frames folder) before rendering. Never ship renders whose
log has 404 lines.
- **Guard:** `shots render` refuses to start while any frame a selected scene uses is missing (`framesForRender` in
`cli/shots/lib.ts`) and exits 1 if any file failed to load while rendering; `shots check` and `validate` raise a
`frame-missing` error for every render whose report entry has failed loads (`cli/shots/report.ts`,
`tests/shots-missing-frames.test.ts`).