Skip to content

[Bug]: GetRequest DTO accepts page / page_size / filters for memory_type='profile' which the manager silently drops #270

@Fearvox

Description

@Fearvox

Area: src/everos

What happened?

POST /api/v1/memory/get with memory_type="profile" accepts page, page_size, and filters on the request DTO, but the GetManager profile branch (src/everos/memory/get/manager.py:96-102) is a single-row KV-by-owner lookup. The five request fields are read into local variables (lines 72-79) but never threaded into the profile path — a paginated/filtered request always returns 0-or-1 row with total_count in {0,1} and no signal that the requested page / page_size / filters were dropped.

The same request also accepts sort_by and sort_order, but for profile (single-row KV) the sort field is not consulted by the manager; this is documented in GetData.effective_sort (src/everos/memory/get/dto.py) and not addressed here.

Steps to reproduce

  1. Send POST /api/v1/memory/get with body {"user_id":"u1","memory_type":"profile","page":3,"page_size":50,"filters":{"role":"user"}}.
  2. Observe 200 OK with at most one row in data.profiles.
  3. The page=3, page_size=50, and filters arguments are silently dropped — no log, no metric, no DTO field flags the override.

Expected vs actual

  • Expected: 422 Unprocessable Entity with a body that names the dropped fields ("memory_type='profile' is a single-row KV fetch and ignores pagination/filter arguments; got page=3, page_size=50, filters=").
  • Actual: 200 OK with the profile row (or empty), and the caller has no way to know that pagination/filter were dropped.

Environment

  • Repo: EverMind-AI/EverOS
  • File: src/everos/memory/get/manager.py (lines 96-102), src/everos/memory/get/dto.py
  • Commit (as filed): upstream/main @ 9fc6ad2

A fix is staged at https://github.com/Fearvox/EverOS/pull/new/proofstorm/r2-sort-override-observable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    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