Repository navigation
Split the SDK: @misofm/musicos, @misofm/partyos, and @misofm/platform - #27
Merged
Merged
Conversation
…fm/platform Closes #26. `@misofm/musicos` and `@misofm/partyos` are the object models. Everything Miso offers on top of them is platform. - `packages/protocol` becomes `packages/musicos` (`@misofm/musicos`), bound to the single `musicos` Move package (composition, recording, release, track) with a one-key deployment manifest. - New `packages/partyos` (`@misofm/partyos`), bound to the single `partyos` Move package: Party identity, admin cap, and group membership. - `packages/platform` absorbs every other binding (work and Party extensions, royalty primitives, Vault, Actions, plugins, Record and Record Shop), the Party extension client, the royalty queries and builders, the extension event decoders, and the platform package bindings. It depends on both object-model packages and exports `./party`, `./packages`, `./contracts`, and `./contracts/*`. - Codegen generates three trees from one config; the prune set is derived from the config and a label that disagrees with a Move package name fails the run instead of leaving an orphan. Generated directories follow the renamed Move packages (`musicos`, `partyos`, `record`, `record_shop`). - Deployment manifests carry the 2026-09-08 testnet generation: all 46 Move packages were republished immutably through the Onara sponsor and verified; `recording_genre` is published for the first time. - The isolated-consumer fixture installs real tarballs of all five packages under `types: []`, asserts a single instance of every `@misofm/*` package, and runs in CI. `@misofm/streaming` is pinned at 0.2.1 by platform and transcoding; transcoding no longer strips `@internal` declarations that its public declarations reference. - Publish workflow gains the `musicos-v*` and `partyos-v*` tag arms. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QGmuA3eMr4iaRTdz3J8JZJ
…yStake in the platform barrel Review follow-ups for the split: the musicos README named the Party object model as platform, the partyos README example lacked its Transaction import, the platform contracts barrel had no export under the name the retired protocol barrel used for the stake module, and an unused ref-returning entry implied a second curation layer over partyos's curated barrel. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QGmuA3eMr4iaRTdz3J8JZJ
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 #26.
What changes
packages/protocol→packages/musicos(@misofm/musicos0.2.0): only themusicosMove package; single-key deployment manifest.packages/partyos(@misofm/partyos0.2.0): only thepartyosMove package (Party, admin cap, membership). Carved out at the user's request after the issue was written.packages/platform(0.25.0) holds the other 39 bindings plus the Party extension client, royalty queries/builders, extension event decoders, and platform package bindings; depends on both object-model packages; exports./party,./packages,./contracts,./contracts/*.sui-codegen.config.ts; the prune set is derived from the config, and a label that disagrees with a Move package name fails codegen.recording_genrefirst publish; new release, genre, and vault registries).types: []), extended to every@misofm/*package, and wired into CI. Streaming pinned at 0.2.1 in platform and transcoding; transcoding's.d.tsno longer strips referenced@internaldeclarations (0.3.1).musicos-v*andpartyos-v*publish tag arms.Verification
bun run typecheck,bun run build,bun run codegen:check: clean across all five workspaces.bun test: 321 pass; the 2 remaining local failures are transcoding's FFmpeg-dependent tests (no FFmpeg on the dev box; green in CI and covered bytranscoding-ffmpeg.yml).bun run test:consumer: all five tarballs install into the fixture and verify with a single instance of every@misofm/*package.Follow-ups (separate PRs)
misofm/api(Onara policy IDs already swapped on a branch),misofm/app,misofm/cli.🤖 Generated with Claude Code
https://claude.ai/code/session_01QGmuA3eMr4iaRTdz3J8JZJ