You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Related results in build_context responses were losing required identifying
fields (title, file_path, created_at) because _slim_context() stripped them
post-serialization, creating a gap between the Pydantic schema and the actual
response payload. This caused schema validation failures in Claude Desktop.
Replace post-hoc dict stripping with Pydantic Field(exclude=True) on
internal-only fields so the models themselves control what gets serialized:
- EntitySummary: exclude entity_id, keep created_at (🐛 the bug fix)
- RelationSummary: exclude internal IDs, keep title/file_path/created_at
- ObservationSummary: exclude parent-redundant fields
- MemoryMetadata: exclude generated_at and total_results
Delete _slim_context(), _slim_summary(), and all _*_STRIP sets from
build_context.py — one set of models, one serialization path.
Add get_load_options() to ObservationRepository for eager entity loading.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: phernandez <paul@basicmachines.co>
0 commit comments