- capture.py: call link_temporal_next() after store.insert() in capture_turn()
- retrieve.py: call link_temporal_next() in contradict() for contradict inserts
- qdrant_store.py: events_query() was json.loads() on encrypted data_json,
losing record_id — pass raw string so query_events() can decrypt it
- Fix build_runtime_graph to use backend-agnostic records_as_dataframe()
and edges_as_dataframe() instead of LanceDB-specific open_table()
- Fix CLI topology command: JSON-RPC envelope + result extraction
- Fix community.py KeyError when graph has nodes but no edges
- Update doctor check (i) to report Qdrant collection counts when
Qdrant is active, LanceDB versions when LanceDB is active
- Fix HIBERNATION startup exit: dispatch REQUEST_ARRIVED on boot
- Fix systemd unit: StartLimit* keys in [Unit] section
- Broaden capture.py exception handler for deferred capture failures
- Add records_as_dataframe() and edges_as_dataframe() to MemoryStore