fix(foyer): round-13 hosted-truth captions, vendored judge runs, sealed assets - #14
Merged
Merged
Conversation
…ed assets Round-12 review findings fixed: - FYwall beats 00/01 overclaimed "every product" / "every single one" is checked; 12 of 22 cards are registry-only (never probed). Captions now name the ten hosted products explicitly; beat 01 also asserts a registry-only chip is really on screen. - README embedded the stale round-11 FYwall render (400x250, NodeVoice "front door and back door") under "published" next to round-12 judge numbers. Re-captured and re-rendered at 720x450 from production (ec2a44e); the studio's assets/feature-foyer-FYwall.gif and feature-foyer-FYagent.gif now byte-match what node-foyer vendors and what the judge actually scored. - "judged twice, worse run kept" was unsupported — only one judge record was ever vendored. Both runs are now committed under public/wt/<id>/ as judge-run1.json/judge-run2.json plus a render.json naming each file's sha256 and which one is kept (worst by verdict, then P0 count, then blocked comprehension); check.mjs gained a rule that verifies the committed GIF and both judge runs hash-match render.json. - Minor caption/frame fixes: "checked live a moment ago" -> "on the last sweep"; beat 03's highlighted card now matches its caption/assert (NodeSlide, not a leftover NodeRoom hover that leaked unexplained sha256/HTTP-status apparatus text into the frame ahead of its explanation and blocked the comprehension judge); beat 06 now scrolls the node-foyer apparatus fully into frame before the shot; FYagent's README rewrite-count sentence now says "rounds 11 and 12" to match the commit history. FYwall went through two capture/render/judge cycles: cycle 1 introduced a real accuracy fix (hovering NodeRoom for the highlight-match fix) but leaked unexplained apparatus jargon a beat early and the comprehension judge blocked both runs; cycle 2 kept the accuracy fix by targeting NodeSlide's already-hovered badge instead, and both runs came back fix-then-publish / 0 P0 / comprehension incomplete (not blocked). FYphone and FYagent were not re-captured; their already-graded judge pairs (run1c/run2c and run1/run2, matched to the final MP4 by videoBytes) are now vendored the same way, with defects/comprehension recomputed from the kept (worse) record. Co-Authored-By: Claude Fable 5.1 <[email protected]>
The first FYwall re-render used fps=15 (this file's own README doc convention example), producing a 5.4MB GIF that alone blew past the 4MB posters+GIFs budget for all three captures combined. Round-12's FYwall GIF was fps=5 at the same 720x450; re-encoding at fps=4/640px (matching the round-08 council's aspect-preserving downscale, just at a size this capture's frame content actually compresses to) lands the three captures' total media at 3.82MB, under budget with room to spare. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
assets/feature-foyer-FYwall.gif/feature-foyer-FYagent.gifnow byte-match what node-foyer vendors and what the judge scored.public/wt/<id>/judge-run{1,2}.jsonwith arender.jsonnaming each file's sha256 and which one is kept;check.mjsgained a rule enforcing it.Test plan
node check.mjsexits 0 (60/60 files parse, 36/36 tour steps resolve, 3 render.json records verified)DEMO_URL=https://node-foyer.vercel.app/ FOYER_ONLY=FYwall node walkthrough.foyer.mjs), every frame PNG read and its caption checked true of the framefix-then-publish/ 0 P0 / comprehension incomplete (not blocked)Co-Authored-By: Claude Fable 5.1 [email protected]