Repository navigation
fix(dancer): carry the accepted parts so the rig stage reruns from the tree - #89
Merged
Merged
Conversation
…e tree The rig stage had no parts to read in a clean checkout, and a fresh assemble on current parts refused the guard on bottomwear. The tree held only the padded rig images, so the accepted input could not be reached. The accepted part never left the tree: cropping the 4 px padding from producer/rig/images/bottomwear.png gives the decoded RGBA hash the guard declares. Current parts differ by 19 fringe pixels because assembly now keeps fringe between turn-moving pairs, so re-assembling would change the art. producer/ now carries parts.json and the 28 unpadded parts, and the verifier and manifests hold them. `rig --parts dancer/producer` on the pinned 1.64.0 writes all 31 files byte-identical to producer/rig. The guard is unchanged. Closes #88 Co-Authored-By: Jinni <342598851+fj-jinni[bot]@users.noreply.github.com> Co-Authored-By: Roa <342598975+fj-roa[bot]@users.noreply.github.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
Closes #88.
The dancer's rig stage can now run from a clean checkout. The accepted bottomwear was still in the tree, 4 px of padding away from the hash the guard declares, so the guard is unchanged and the art does not move.
Why it broke
explicitImageHashhashes the unpadded decoded RGBA buffer, whileproducer/rig/images/holds images padded by 4 px. That is why the card saw a third value:2c9aea37…is the padded PNG's file hash.@rig-c/parts1.64.0 still givesbf18e918…. Current parts givea9faf2ac…, because assembly now keeps 19 fringe pixels where bottomwear crosses the thighs, as a turn-moving pair.Verification
HQ ran these from a clean copy of the tracked and new files.
python3 check-inputs.pyproducer/rig/images/bottomwear.png, hash the RGBAbf18e918…, equal to the guard and toproducer/parts/bottomwear.pngrig --config dancer/config.json --parts dancer/produceron 1.64.0producer/rig/rig.jsondiffersByte identity on the pinned version is what covers the render: the inputs to the accepted dance do not move. The lane also ran the v4 replay, which reproduced its receipt, and
node --test tools/verify-producer.test.mjs, which passed.Rejected
a9faf2ac…: that changes the art by 19 pixels and is what the guard exists to refuse.config.jsondirectly: it skips the setup-order path and moves sleeve and torso projection ownership.build.shnow copies the assembled parts to the root of its output, becauseverify-producer.mjsrefuses an output with noparts.jsonandparts/there.🤖 Generated with Claude Code