Repository navigation
Conversation
This branch has not been deployed
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.
The recorder still called legacy
to_pose()/.tsAPIs on canonical TF service results. It now accepts generated TFMessage, records each complete transform Header through CDR, and adapts the TF result into the existing internal Pose contract. MCAP readers recognize default-factory canonical LCM/Zenoh topics as logical stream names and reject canonical topic/schema or encoding conflicts.Linear: https://linear.app/dimensional/project/message-encoding-refactor-05a3ddb4af3e/overview
Parent: #4696. This closes specific recorder boundaries; it does not retire legacy Pose/value helpers or claim every robot graph/historical fixture is migrated. No automatic legacy recording fallback.
Manual local acceptance from this checkout after installing it and test dependencies:
python -m pytest --noconftest --import-mode=importlib -o addopts='' -q dimos/memory/test_module.py dimos/memory/store/test_cdr_recording.py dimos/memory/store/test_mcap.pyExpected: 19 passed. Tests explicitly constrain LCM to memq and Zenoh to discovery-disabled loopback; no host setup or robot is required. The actual default-factory capture writes SQLite, closes/reopens, exports MCAP with full ros2msg dependency schemas and separate source/log nanoseconds, then replays via its automatically derived logical stream name. TF recording tests preserve zero and one-nanosecond headers and the original internal pose return type. Existing legacy MCAP tests remain.
Validation: 19 source and 19 isolated installed-wheel tests passed; installed production modules preloaded and asserted from site-packages. Strict mypy passed two production files against installed generated stubs; scoped hooks passed except unavailable Nix lint. Main wheel SHA256
902ea1fc1794a5560c0718007333870a8b60c0f6a9956b4e9d5fa6f85a0e812f. No CI polling, benchmarks, hardware, or registry publication. Default-host multicast, human/Foxglove/M20 and final full-graph/dependency-retirement gates remain separate.