diff --git a/Dockerfile b/Dockerfile index 177519cd..9aca49cb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -105,8 +105,8 @@ USER agentmemory EXPOSE 8000 -HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ - CMD curl -f http://localhost:8000/v1/health || exit 1 +# No HEALTHCHECK here — the image is shared by api, mcp, and task-worker which each need +# a different check (or none). Healthchecks are defined per-service in docker-compose.yml. # Enable authentication by default. # You may override with DISABLE_AUTH=true in development. @@ -136,8 +136,8 @@ USER agentmemory EXPOSE 8000 -HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ - CMD curl -f http://localhost:8000/v1/health || exit 1 +# No HEALTHCHECK here — the image is shared by api, mcp, and task-worker which each need +# a different check (or none). Healthchecks are defined per-service in docker-compose.yml. # Enable authentication by default. # You may override with DISABLE_AUTH=true in development. diff --git a/agent_memory_server/api.py b/agent_memory_server/api.py index cefed05f..290d9f4a 100644 --- a/agent_memory_server/api.py +++ b/agent_memory_server/api.py @@ -772,12 +772,17 @@ async def search_long_term_memory( for key in ( "topics", "entities", - "namespace", "memory_type", "extraction_strategy", "event_date", ): fallback_kwargs.pop(key, None) + # Preserve only an exact namespace eq match in fallback; drop namespace for any other + # namespace filter (any/all/ne/startswith) to widen the search without crossing an + # explicit eq scope boundary. + ns_filter = filters.get("namespace") if filters else None + if ns_filter is None or getattr(ns_filter, "eq", None) is None: + fallback_kwargs.pop("namespace", None) def _vals(f): vals: list[str] = []