Skip to content

Broken memory user_id regression test imports nonexistent agent.builtin_memory_provider module #14402

@NewTurn2017

Description

@NewTurn2017

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:

  1. the built-in memory provider abstraction exists and the regression test can exercise it, or
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/agentCore agent loop, run_agent.py, prompt builderduplicateThis issue or pull request already existstool/memoryMemory tool and memory providerstype/testTest coverage or test infrastructure

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions