Skip to content

Analog Rytm MKII: Main RMS 1.0.0 moves into the library - #1299

Merged
repeat98 merged 4 commits into
mainfrom
claude/rytm-main-rms-library
Nov 7, 2026
Merged

repeat98 merged 4 commits into
mainfrom
claude/rytm-main-rms-library

Conversation

@repeat98

@repeat98 repeat98 commented Nov 7, 2026

Copy link
Copy Markdown
Owner

Moves Iced-Cream's Main RMS 1.0.0 from _submissions/ (merged in #935) into the library, so it appears on the site once merged. It is the elemod port (rytm2_mods v1.2, afd461d) of MrScruff's rytm-mods 0009-main-rms: on the compressor pages the VOL label draws inverted while the main output is louder than -18 dBFS RMS, for gain staging. Version stays 1.0.0 and the code is unchanged. Needs repeat98's first-release approval.

Author's OK: Iced-Cream agreed to our doing the move: #1291 (comment)

  • Moved to sdk/analog-rytm-mkii/modules/main-rms/ with git mv. The manifest, build.json, source, include, media, evidence and every credit line are unchanged (author Iced-Cream; MrScruff's original, published in rytm-mods-src with permission; irpina's core). The submission already had tests.documentation, the tutorial, 1 rytm-emu capture with their record and measured memory, so the manifest needed nothing more. The modules README lists it.
  • Package: source-only OS 1.74 .elemod fe24c98b433da9c3d3cfd52965ee6696d22d5affcac14452bde53ac69c2b6f4a in sdk/imports/packages/main-rms/, recorded in sdk/imports/main-rms-2026-11-07.json, pinned by sdk/imports/elekloader-main-rms-2026-11-07.json (commit 100f1d85) and vendored through elekloader:update -- --overlay. Built by build-elemod-isolated.sh (modwerk-source-tools 28323550) from a clean checkout of d93ad9a2 (the move alone). package-elemod-recipe.mjs --check reproduces it, and verify-elemod-release-exports.mjs reproduces all 45 exports.
  • Against upstream: its .run, sites, symbols and relocations equal rytm2_mods v1.2's release object (cbd69edb…5d54). Where that object takes 2 runs (16 bytes, at most 8 in a row) from the stock OS at link time, this package carries the bytes compiled from the source, as Filter Hz's package does.
  • Screenshot: it has one capture (media/compressor-page.png, rytm-emu). module:doctor's module rules, machine-modules.mjs --base origin/main and CI's module contract all accept it, so I took no new captures.
  • Import record: sdk/imports/rytm2-mods-main-rms-afd461d.json names module-relative paths, so the move changes nothing in it and its hashes stand (sdk:imports:check green).
  • Release notes: src/community/module-changelogs/analog-rytm-mkii-main-rms.json, one 1.0.0 entry, 3 lines.
  • Tests: library-parity lists main-rms 1.0.0; digi-build.test.ts plans it beside Filter Hz and Temp Save on the plain base.
  • TESTING.md: the line saying it is a submission until the browser can build it now says it waited there; a new "Library package" section records the build above. The author's hardware reports stay as reported.
  • Evidence: as reported by the author, on an Analog Rytm MKII with OS 1.74: R8T2 and C3A4 (beside other rytm2_mods ports), SXH4 (beside the other five Modwerk submissions) and MRH4 (alone), all with core-ar2 0.3 or earlier. This package's own bytes have not been linked against a stock OS file, flashed from the site or run on the Modwerk base (core-ar2 0.7). Record: docs/verification/2026-11-07-rytm-main-rms-library.md.
  • Compatibility: Patches three sites: a jmp at 0x401213ca in the audio interrupt and two pointers at 0x401e14ec and 0x401e14f0 in the compressor view. No library module or base variant patches them, and its claims (ui:compressor VOL label drawing, audio:MAIN level read each block) are no other module's.
  • Agent board: pr:ready's board check says a move out of _submissions/ adds nothing that needs a claim, so it ran with MODWERK_BOARD=off, as for Env Reset Amp (Analog Rytm MKII: Env Reset Amp 1.0.0 moves into the library #1297).

Links: #935, #1297. Merge with a merge commit, not a squash, so the pinned commit 100f1d85 stays on main. If I merge main into this branch to clear a conflict, the pin stays in the branch history and the same applies.

What the guides lacked: nothing wrong. One gap, left out of this module release: ELEMOD_SOURCE_BUILDS.md does not say that an upstream release object may take runs from the stock OS (stock parts) while Modwerk's export carries the compiled bytes, so comparing an export with the author's object means comparing the hex parts at their offsets.

Validation commands and results:

  • npm run module:doctor -- main-rms: manifest, category guide, browser builder and module rules green
  • MODWERK_BOARD=off npm run pr:ready: Ready
  • node scripts/package-elemod-recipe.mjs … --check, node scripts/verify-elemod-release-exports.mjs <build>: reproduced (45 exports)
  • npx vitest run src/devices/library-parity.test.ts src/engine/elekloader/digi-build.test.ts: 51 passed

🤖 Generated with Claude Code

repeat98 and others added 3 commits November 7, 2026 14:41
Moves Iced-Cream's Main RMS 1.0.0 (an elemod port of MrScruff's rytm-mods
mod, in rytm2_mods) from _submissions/ into modules/main-rms, code unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Compiled in the pinned modwerk-source-tools image from a clean checkout
of d93ad9a and exported with package-elemod-recipe.mjs (--check
reproduces it). Its .run, sites, symbols and relocations equal
rytm2_mods v1.2's release object, apart from the runs that object takes
from the stock OS. Adds the import record, release notes, the library
list line and TESTING.md's library package section.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The elekloader record pins the package at 100f1d8; elekloader:update
--overlay fetched it into the vendored catalogue. The library parity
and planBuild tests list it, and the verification record says what
was built and what has not run on a unit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@repeat98
repeat98 enabled auto-merge November 7, 2026 14:00
Keeps Ctrl All (#1298) beside Main RMS in the modules README and the
library parity test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@repeat98
repeat98 merged commit 09c0234 into main Nov 7, 2026
8 checks passed
repeat98 added a commit that referenced this pull request Nov 7, 2026
Keeps Main RMS (#1299) beside Slice Loop in the modules README and the
library parity test.

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