The current manifest stamped package.json's version into itself (9 lines), so every RC/stable version bump made the committed artifact stale on every open branch: lint failed until authors committed content-free regeneration diffs, which also dragged the resources/skills-filtered update-roundtrip matrix onto unrelated PRs. Cutting a release tag whose skills tree changed had the same effect through release-mapping.json. - current-manifest.json is now schema 2 and content-only; the generator no longer reads package.json. Registry and mapping stay schema 1 so the append-only released-history guard keeps its schema gate. - The running build's version enters at the IPC boundary (skills:freshnessInventory passes app.getVersion()) and threads through the inventory to placement observation; current-revision placements are labeled with it while historical revisions keep resolving through the release mapping. The artifact loader and its cache stay content-only. - verify tolerates a committed release mapping that is a byte-exact prefix of the derived one when every missing trailing row's revisions equal the current manifest (a just-cut tag over unchanged-since bytes); such rows are provably redundant until the next real regeneration adds them. Artifacts now change only when skills/ content changes. |
||
|---|---|---|
| .. | ||
| app-icons | ||
| build | ||
| darwin/bin | ||
| icon-source | ||
| linux | ||
| notification-sounds | ||
| onboarding/feature-wall | ||
| skills | ||
| tray | ||
| win32/bin | ||
| claude.webp | ||
| ghostty.svg | ||
| gremlin.webp | ||
| gwindows_logo.svg | ||
| icon-dev.png | ||
| icon.png | ||
| logo.svg | ||
| minimax-icon.svg | ||
| openclaude-logo.png | ||
| opencode.webp | ||