Skip to content

Split the SDK: @misofm/musicos, @misofm/partyos, and @misofm/platform - #27

Merged
tamashi095 merged 2 commits into
mainfrom
feat/split-musicos-platform
Sep 8, 2026
Merged

tamashi095 merged 2 commits into
mainfrom
feat/split-musicos-platform

Conversation

@tamashi095

Copy link
Copy Markdown
Contributor

Closes #26.

@misofm/musicos and @misofm/partyos are the object models. Everything Miso offers on top of them is platform.

What changes

  • packages/protocol → packages/musicos (@misofm/musicos 0.2.0): only the musicos Move package; single-key deployment manifest.
  • New packages/partyos (@misofm/partyos 0.2.0): only the partyos Move 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/*.
  • Three generated trees from one sui-codegen.config.ts; the prune set is derived from the config, and a label that disagrees with a Move package name fails codegen.
  • Deployment manifests carry the 2026-09-08 testnet generation (46 packages republished immutably via Onara, verified; recording_genre first publish; new release, genre, and vault registries).
  • Isolated-consumer fixture fixed (types: []), extended to every @misofm/* package, and wired into CI. Streaming pinned at 0.2.1 in platform and transcoding; transcoding's .d.ts no longer strips referenced @internal declarations (0.3.1).
  • musicos-v* and partyos-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 by transcoding-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)

  • Downstream: misofm/api (Onara policy IDs already swapped on a branch), misofm/app, misofm/cli.
  • Effect v4 migration across all SDKs.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QGmuA3eMr4iaRTdz3J8JZJ

tamashi095 and others added 2 commits September 8, 2026 16:20
…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
@tamashi095
tamashi095 merged commit 56c9bbf into main Sep 8, 2026
12 checks passed
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.

Split the SDK: @misofm/musicos (object model) and @misofm/platform (everything on top)

1 participant