Conversation
# Conflicts: # data/.lfs/go2_hongkong_office.db.tar.gz # data/.lfs/go2_short.db.tar.gz
Greptile SummaryThis PR fixes the memory2
Confidence Score: 5/5Safe to merge; the core recording path degrades gracefully when tf is unavailable and all observations are still written to the store. The change is well-scoped: tf lookup failures are handled with a None-pose fallback so recording is never blocked. The only findings are a redundant field declaration in RecorderConfig and a per-message warning that could flood logs when tf is absent — neither affects correctness or data integrity. dimos/memory2/module.py — the RecorderConfig field duplication and warning-log volume are worth a quick look before shipping to production deployments with high-frequency sensors. Important Files Changed
Sequence DiagramsequenceDiagram
participant Sensor as Sensor (In port)
participant Recorder
participant LCMTF as self.tf (LCMTF)
participant Stream
participant SqliteStore
Recorder->>Recorder: start() - register _port_to_stream per In port
Sensor->>Recorder: on_msg(msg)
Recorder->>Recorder: "ts = msg.ts or time.time()"
Recorder->>Recorder: "frame_id = msg.frame_id or default_frame_id"
Recorder->>LCMTF: "get(world, frame_id, time_point=ts, tf_tolerance)"
alt transform found
LCMTF-->>Recorder: Transform
Recorder->>Recorder: "pose = transform.to_pose()"
else transform not found
LCMTF-->>Recorder: None
Recorder->>Recorder: "pose = None, log warning"
end
Recorder->>Stream: "append(msg, ts=ts, pose=pose)"
Stream->>SqliteStore: persist Observation(data, ts, pose)
Reviews (5): Last reviewed commit: "Merge branch 'dev' into ivan/fix/go2reco..." | Re-trigger Greptile |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
…s into ivan/fix/go2recording
memory2 recorder wasn't appending poses to Observations stored.
now Recorder module uses the transform system to find global coordinates and timestamp of a message (according to its frame ID)