fix: use include_attributes=True on memory reads to survive schema evolution
v0.5.0 added source_uris as a column but old namespaces — ones not yet
written to after the upgrade — don't know about it. turbopuffer 400s when
you list an attribute in include_attributes that isn't in the namespace
schema:
attribute "source_uris" not found in schema, cannot be part of
`include_attributes`. consider passing `include_attributes=True` to
return all attribute data instead
consequence: build_user_context failed for @zzstoatzzdevlog and probably
other established namespaces, falling through to the "no previous
interactions" fallback. phi looked like it had amnesia.
fix: use include_attributes=True on the four read paths that touch the
evolving schema (observations + interactions in build_user_context,
_find_similar_observations, get_unprocessed_interactions). the cost is
returning a few unused fields per row — negligible vs the correctness
win, and forward-compatible for any future columns.
writes still use the explicit schema so new columns get added on first
write to each namespace.
Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>