Skip to content

refactor(memory): accept generated poses in lossless pose-fill - #4690

Closed
TomCC7 wants to merge 2 commits into
cc/feat/cdr-mls-plannerfrom
cc/feat/cdr-observation-poses
Closed

TomCC7 wants to merge 2 commits into
cc/feat/cdr-mls-plannerfrom
cc/feat/cdr-observation-poses

Conversation

@TomCC7

@TomCC7 TomCC7 commented Oct 20, 2026

Copy link
Copy Markdown
Member

Generated pose payloads now work with Observation metadata and dimos map pose-fill. Standard nested PoseStamped, TransformStamped, PoseWithCovariance and Odometry inputs normalize to the existing indexed seven-value pose without loading or mutating the target payload. Static mounts use explicit transform composition. SQLite pose-fill preserves original CDR blobs and exact sensor Headers.

Linear: https://linear.app/dimensional/project/message-encoding-refactor-05a3ddb4af3e/overview

Parent: #4689. This layer changes pose inputs only. Observation's legacy convenience output types and their remaining consumers will be migrated together in later layers.

File changes Files Purpose
Runtime 2 Normalize generated pose shapes; compose mounts; scope source/destination store cleanup
Tests 2 Original matching/mount assertions plus generated identities, rotation, lazy loading, input ownership and SQLite byte preservation
CI 1 Run the same cases against installed wheel modules and strict typing

Validation: 20 focused source tests and the same 20 installed-wheel tests pass; installed production modules asserted to come from site-packages. Two production files pass scoped strict mypy; applicable hooks pass; normal wheel builds and installed dependency check passes. Wheel SHA256: 133e2dac1643019397a6d369d16d9eedaeb35fc767ee68c792442adc832d3b3e.

Manual review from this checkout after the ordinary development install:

python -m pytest --noconftest --import-mode=importlib -o addopts='' -q \
  dimos/memory/type/test_observation.py \
  dimos/mapping/cli/test_pose_fill.py \
  dimos/memory/test_stream.py::TestWithPose \
  dimos/memory/store/test_cdr_recording.py

The SQLite case writes real canonical CDR streams, applies a separately timestamped pose, reopens both databases and checks the original bytes and nanosecond Header. No historical decoding fallback, hardware, network transport or benchmark run. CI has not been polled; no whole-stack completion claim.

@TomCC7 TomCC7 closed this Oct 20, 2026
@TomCC7
TomCC7 deleted the cc/feat/cdr-observation-poses branch October 20, 2026 18:11
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.

1 participant