Skip to content

fix(memory): normalize multimodal sync content#32030

Open
neopg27-claw wants to merge 1 commit into
NousResearch:mainfrom
neopg27-claw:fix/memory-sync-multimodal-normalization
Open

fix(memory): normalize multimodal sync content#32030
neopg27-claw wants to merge 1 commit into
NousResearch:mainfrom
neopg27-claw:fix/memory-sync-multimodal-normalization

Conversation

@neopg27-claw

Copy link
Copy Markdown

Summary

  • normalize OpenAI-style multimodal content blocks before syncing turns to memory providers
  • preserve text blocks and replace media blocks with short markers like [image attached]
  • handle both Python list content and serialized JSON list content centrally in MemoryManager.sync_all

Why

Memory providers expect plain text. Some gateway/model paths can pass multimodal content block lists, which can crash providers or persist raw media payload structures.

Test Plan

  • pytest tests/agent/test_memory_provider.py tests/agent/test_memory_session_switch.py tests/honcho_plugin/test_session.py::TestConcludeToolDispatch -q

Refs #30252

@daimon-nous daimon-nous Bot added type/bug Something isn't working P3 Low — cosmetic, nice to have comp/agent Core agent loop, run_agent.py, prompt builder tool/memory Memory tool and memory providers labels May 25, 2026
@daimon-nous

daimon-nous Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Duplicate of #30294 (and competing with #30264, #22768, #26484) — all add multimodal content flattening/normalization for memory sync_turn. This PR centralizes it in MemoryManager rather than the Honcho plugin specifically, which is a broader approach. Tracking issue: #30252.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/agent Core agent loop, run_agent.py, prompt builder P3 Low — cosmetic, nice to have tool/memory Memory tool and memory providers type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant