fingerprint: hash only git-tracked kit files in a git checkout by henrychao521 · Pull Request #109 · wheresryan22/anatomy · GitHub
Skip to content

fingerprint: hash only git-tracked kit files in a git checkout - #109

Open
henrychao521 wants to merge 1 commit into
wheresryan22:mainfrom
henrychao521:fix/a11-fingerprint-tracked
Open

henrychao521 wants to merge 1 commit into
wheresryan22:mainfrom
henrychao521:fix/a11-fingerprint-tracked

Conversation

@henrychao521

Copy link
Copy Markdown

What this changes

When the skill is a git checkout, hash exactly the files git tracks under kit/ and scripts/inline-kit.mjs, as the gallery does; a folder outside git falls back to the files on disk.

Why

fingerprintOfSkill walked the kit folder on disk, so git-ignored or untracked files there (kit/audit.txt, kit/shots/, a .orig left by a merge) changed the fingerprint publish.mjs writes to figure.json. The gallery's fingerprintAt hashes only the files git tracks, found no published version of the skill with that kit, and failed the figure.

Tests

  • scripts/fingerprint.test.mjs

Each new or changed test fails on main and passes here. On this branch the whole suite that runs without a browser passes (Node 26, the CI's react/typescript/esbuild versions). The browser tests (all scripts/*.test.mjs that start Chrome) were run once, one file at a time, with this and the other twelve fix branches I'm sending merged together: all pass.

Checks

  • Every example rebuilds, and git status --short shows only the changes I meant.
  • No comments in code.
  • Kit changes are opt-in, and every existing example is byte-identical (or this PR says which pages change and why). (No kit change.)
  • I built and looked at both themes. Not done by eye: no committed page changes.
  • Figures with pipes, cables or round parts: arcade-cabinet and raptor-engine build.mjs --audit end audit passed.
  • node scripts/lines.mjs prints line ends: 0 on every committed example page in both themes. (turning-stress-light.html reports 16 floating ends, identically on main; it is not one of the pages CI checks.)
  • Shaders: not touched.
  • 3D: turn-check.mjs --fidelity passes on turning-dial/build.mjs and stress.mjs, identical to main. I ran the quick turn audit only (--audit --quick): it reports the same four cable-end findings on main and here; I did not do the full run.
  • Every number in the docs is true.
  • A line under Unreleased in CHANGELOG.md.

Screenshots

No committed page changes, so there is nothing new to screenshot.

🤖 Generated with Claude Code

fingerprintOfSkill walked the kit folder on disk, so git-ignored or
untracked files there (kit/audit.txt, kit/shots/, a .orig left by a
merge) changed the fingerprint publish.mjs writes to figure.json. The
gallery's fingerprintAt hashes only the files git tracks, found no
published version of the skill with that kit, and failed the figure.

When the skill is a git checkout, hash exactly the files git tracks
under kit/ and scripts/inline-kit.mjs, as the gallery does; a folder
outside git falls back to the files on disk.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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