Repository navigation
Give each module its own changelog file and stop committing the module list - #611
Merged
Merged
Conversation
…e list Every Digitakt/Digitone module PR edited the same lines of src/catalog/machine-modules.json and src/community/module-changelogs.json, so each merge left the other open module PRs conflicted until they were refreshed and re-checked. Release notes now live in src/community/module-changelogs/<id>.json, one file per module. Both combined files are generated instead of committed: npm ci (prepare) and npm run check write them, and every import keeps working. The author-release scope check applies the same rules per file: only the author's own modules' notes, published entries preserved. A Digi manifest change now decides the Worker deploy directly, as the committed list's diff did before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…alogue # Conflicts: # src/catalog/machine-modules.json # src/community/module-changelogs.json
Every Digitakt/Digitone module PR added pins to vendor/elekloader/catalog/catalog.json and changed the whole-catalogue revision there and the catalogue hash and count in the lock, so each merge left the other open module PRs conflicted. The upstream cores and mods move to vendor/elekloader/upstream-catalog.json, which the lock now pins alone (written and verified by the kit's own tool). Modwerk-built pins already live in each module's import record, sdk/imports/elekloader-*.json; the served catalog.json is the upstream catalog plus every record, generated by prepare and never committed. Every consumer keeps reading the same path. The assembled catalogue holds the same 43 pins as before; only their order and therefore the revision change once. elekloader:update writes the upstream part and locks it alone, and --overlay names a module record. The author-release check assembles the served catalogue at the base and head from Git objects and keeps every rule; an author may change only a record holding nothing but their own pins, and the lock now always needs owner review. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
repeat98
added a commit
to sumedho/modwerk
that referenced
this pull request
Oct 14, 2026
Main now generates the module list and the combined changelog and builds the Elekloader catalogue from per-module records (repeat98#611, repeat98#614). This moves the Sample Snap and Crossfade 0.2.2 release notes into src/community/module-changelogs/digitakt-sample-tools.json, drops the old combined files and catalog.json edits (its pins are already in sdk/imports/elekloader-sample-tools-2026-10-14.json) and takes main's upstream catalogue and lock unchanged. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Every Digitakt/Digitone module PR edited the same lines of two files, so each merge left the other open module PRs conflicted until they were refreshed and checked again. This is the first of two PRs that remove that.
What changes
src/community/module-changelogs.jsonto one file per module,src/community/module-changelogs/<id>.json(Digitakt/Digitone:<machine>-<id>.json). Each file is that module's list of releases, unchanged.src/catalog/machine-modules.jsonandsrc/community/module-changelogs.json.npm ciwrites them through a newpreparescript, and so donpm run check/build(first step) andnpm run dev.sdk/AGENTS.mdand four draft notes now name the per-module file.Still shared after this
vendor/elekloader/catalog/catalog.jsonand its lock. Every Digi module PR still adds pins there and changes the catalogue hash. The next PR builds that catalogue from each module's own import record. Until then,npm run catalog:resolve(#609) resolves those two files.Octatrack FX PRs still serialize on
sdk/catalog.jsonsourceRevision, which every compiled package depends on. That is a rebuild, not a merge conflict.Open PRs that need a one-time move after this merges
#577, #560, #555 and #412 edit the old changelog file. After
git merge mainstops on the two deleted files:src/community/module-changelogs/<id>.json.git rm src/catalog/machine-modules.json src/community/module-changelogs.json.npm run prepare, then commit.This PR did exactly that when merging main.
Tested
npm run check -- --base origin/mainpassed after the final merge with main: 284 test files, 2,326 tests, plus lint, typecheck, bundle and sdk checks.npm run preparerecreates them, identical to main's committed versions.preparestops the check before anything else runs;🤖 Generated with Claude Code