Summary
tests/agent/test_memory_user_id.py::TestMemoryManagerUserIdThreading::test_multiple_providers_all_receive_user_id currently imports agent.builtin_memory_provider.BuiltinMemoryProvider, but that module/class does not exist in the repository.
The failure blocks the intended regression coverage for mixed built-in + external memory-provider initialization and also highlights code/docs drift around MemoryManager's "always-on built-in provider" story.
Affected files / lines
tests/agent/test_memory_user_id.py:112-128
agent/memory_manager.py:1-18, 71-129
agent/memory_provider.py:3-14
run_agent.py:1191-1218
Why this is a bug
The test suite claims to verify that both the built-in memory layer and an external provider receive threaded user_id, but the regression test cannot even import the built-in provider abstraction it expects.
This is more than a flaky test name mismatch:
agent/memory_manager.py and agent/memory_provider.py still document an always-present BuiltinMemoryProvider
run_agent.py now only instantiates MemoryManager when memory.provider is configured, and only adds the external plugin
- there is no
agent/builtin_memory_provider.py implementation to exercise the documented path
So the code, docs, and tests are out of sync, and the regression coverage for this memory path is currently dead.
Minimal reproduction / evidence
Run:
source venv/bin/activate
pytest -q tests/agent/test_memory_user_id.py::TestMemoryManagerUserIdThreading::test_multiple_providers_all_receive_user_id -vv
Current failure:
E ModuleNotFoundError: No module named 'agent.builtin_memory_provider'
Expected behavior
Either:
- the built-in memory provider abstraction exists and the regression test can exercise it, or
- the test/docs are updated to match the current architecture and coverage is restored through the real built-in memory path.
Actual behavior
The regression test imports a module that does not exist, so the intended user_id-threading coverage never runs.
Suggested investigation direction
- Decide whether
BuiltinMemoryProvider is still a real architectural concept.
- If yes, restore the implementation/module and wire it through
MemoryManager.
- If no, delete the stale abstraction from docs/comments/tests and replace this test with coverage against the actual built-in memory path that ships today.
Summary
tests/agent/test_memory_user_id.py::TestMemoryManagerUserIdThreading::test_multiple_providers_all_receive_user_idcurrently importsagent.builtin_memory_provider.BuiltinMemoryProvider, but that module/class does not exist in the repository.The failure blocks the intended regression coverage for mixed built-in + external memory-provider initialization and also highlights code/docs drift around
MemoryManager's "always-on built-in provider" story.Affected files / lines
tests/agent/test_memory_user_id.py:112-128agent/memory_manager.py:1-18, 71-129agent/memory_provider.py:3-14run_agent.py:1191-1218Why this is a bug
The test suite claims to verify that both the built-in memory layer and an external provider receive threaded
user_id, but the regression test cannot even import the built-in provider abstraction it expects.This is more than a flaky test name mismatch:
agent/memory_manager.pyandagent/memory_provider.pystill document an always-presentBuiltinMemoryProviderrun_agent.pynow only instantiatesMemoryManagerwhenmemory.provideris configured, and only adds the external pluginagent/builtin_memory_provider.pyimplementation to exercise the documented pathSo the code, docs, and tests are out of sync, and the regression coverage for this memory path is currently dead.
Minimal reproduction / evidence
Run:
source venv/bin/activate pytest -q tests/agent/test_memory_user_id.py::TestMemoryManagerUserIdThreading::test_multiple_providers_all_receive_user_id -vvCurrent failure:
Expected behavior
Either:
Actual behavior
The regression test imports a module that does not exist, so the intended user_id-threading coverage never runs.
Suggested investigation direction
BuiltinMemoryProvideris still a real architectural concept.MemoryManager.