feat(audio): add provider-neutral MusicPlan contract - #57
Draft
zedarvates wants to merge 24 commits into
Draft
zedarvates wants to merge 24 commits into
zedarvates wants to merge 24 commits into
Conversation
|
|
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.



Summary
Adds a provider-neutral symbolic MusicPlan between StoryCore narrative intent and music generation.
MusicPlan v1withfull,guided, andfreemodes, section timing, motifs, instrumentation roles, synchronization cues and separate dependency provenance.Current exact-head evidence
Current head:
385a2ea631c271bc44e0169d81b8062f2408bd9d.MusicPlan Contract run #17 executes on Python 3.10 and 3.12. Both jobs completed successfully, including:
The public holdout protocol smoke uses only the already-public reference fixture. It proves evaluator wiring, not secrecy or adequacy of any future private holdout.
Private holdout boundary
scripts/music_plan_holdout_evaluator.pyaccepts one JSON request on stdin:{"id":"opaque-id","input":{"plan":{},"expected_valid":true}}and emits only:
{"passed":true}The evaluator contains no private cases and performs no network I/O, model activation, publication or promotion. Private case payloads and hidden expected outcomes must remain outside the public repository and should be supplied only by an external/operator-owned holdout runner.
Previous proven correction
At
189d3d15fc711b006405ecd997485a4583ab5e4c, MusicPlan Contract #15 proved 18 tests on both Python versions, all five controlled invalid inputs rejected, Draft 2020-12 schema/fixture validation, and the corrected module-mode mutation command. The current head extends that contract only with the holdout evaluator protocol and its CI smoke.Remaining proof boundary
Still unproven:
The handoff still carries caller-supplied digest/evidence references rather than independently resolving them. Private holdout attestation and artifact verification remain separate evidence layers.
Activation boundary
No real provider/model activation, weight download, network inference, publication, automatic promotion or merge is authorized. Keep draft.