MIG-5: nothing left behind — the mechanical check and the reduced contract - #231
Merged
Merged
Conversation
The audit knew usd-motion-plugins' current package names only, so a connector library, `motionRuntime`, `vrmRetarget` or a departed test suite could return without failing it. It now holds every identity WORKSPACE.md §9.1 sent elsewhere, under its old and new names: member directories, targets and target prefixes, files under adapters/ and profiles/motion/, and sources that open the shared namespaces. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
WORKSPACE.md §1 and §2 still described execMotion, the adapters, the transport and OSC leaves, the tracker layer and the BVH layer as members, with the edges and product-split arguments that went with them. §1 now lists what this workspace builds and names what it consumes; §2's edges are the declared ones (graph gate on ost 0.23.6: 5 bundles, 3 bundle edges, 2 libraries, 13 library edges, 1 tool); §5 keeps the product membership rule without the identities it was argued over; §9 opens as a record with every row dated. The removed reasoning is the v0.9.0 copy of the document, which the text now points at. PACKAGE_CONTRACT.md §3's two rules stated over departed packages move to the past tense. current.md, the roadmap README and the migration track say MIG-0..MIG-4 are done here and what MIG-5 has left. Co-Authored-By: Claude Opus 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.
MIG-5, "nothing left behind": the first two of its four items. Two commits: the check (code), then the contract (docs), which describes the check, so they go together.
1. The mechanical check (
scripts/check_cmake_boundaries.py)"No generic motion source file remains here, checked mechanically."
The audit already refused a
usd-motion-pluginsidentity built here, but only under that repository's current package names. None of the six identities that went tomotion-connectorscould fail it, and neither couldmotionRuntime,vrmRetargetor a departed suite such asexecMotion_blend_tests.It now holds every identity WORKSPACE.md §9.1 sends elsewhere, under every name it has had (here and there), and fails on:
tools/motionRetargetis the one exception: it holdsmotion_retarget);<id>_...);adapters/orprofiles/motion/;openstrata,motion,vrmAdapter*, …). Using them (openstrata::motion::MotionPose,namespace om = ...) passes.2. The reduced contract (docs)
"WORKSPACE.md §1 and §2 describe the reduced tree, §9 becomes a record, and
PACKAGE_CONTRACT.mddrops the packages that left."git show v0.9.0:docs/architecture/WORKSPACE.md, the last release that built the departed identities, for the reasoning this document held about them.execMotionrow gone) and names what it consumes.adapters/blockquotes gone.liveTransport/osc/motionTracking/ BVH-chain rules. New: nothing here depends onmotion-connectors, because a live session arrives as a file. The graph count is re-measured onost0.23.6:5 bundle(s), 3 bundle edge(s), 2 libraries, 13 library edge(s), 1 tool(s), valid.execMotionfrom the artifact list (embedded inexecVrm's package) and keeps the product-membership rule (no product name, nothing that opens a transport) without the adapter and BVH history.motionCore/motionRuntimerows, and every row is dated.liveTransport,oscand the adapters, and are now in the past tense with the rule kept.execMotioncould not yet be consumed. It now says MIG-0..MIG-4 are done here and lists MIG-5's four items. The P0 identity list is the current one..vrmastage does not change" is marked held: nousdVrmaFileFormatgolden changed from 2026-09-18 to 2026-09-24.Verification
--selftest: 28/28, including 10 new cases. Two of them are negatives: using the namespaces, andmotion_retarget/oscillator, which are not departed names.adapters/, and a source openingnamespace openstrata, each fail with exit 1.ost plugin test --workspace --graph-onlyis valid, with the counts above.check_docs.pyis OK.Left in MIG-5
.vrmand a.vrmafrom release artifacts, with the shared core as a dependency. This is the next release's dry run.MotionClip→ VRM test runs by default.🤖 Generated with Claude Code