Memory search ranks unrelated entities above exact-identifier matches; narrow lookups return oversized aggregate overviews
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
Research direction
Start by tracing openviking_search and openviking_find from the opencode plugin into the server-side ranking and response-building paths. Reproduce the exact-identifier and narrow limit=5, read_content=false cases, then inspect the returned ranking and payload sizes. Done means exact matches are not displaced by unrelated high-confidence results and narrow lookups avoid oversized aggregate overviews.
Written by the indexing model from the issue text.
Description
Summary
Semantic memory search (openviking_search / openviking_find via the opencode plugin) repeatedly returns unrelated entities at high confidence (82–88%) ahead of exact-identifier matches, and narrow lookups can return oversized aggregate overview documents that blow the caller's context budget.
Observed across many real agent sessions on self-hosted desktops (consolidated from open-bot reports shpaw415/open-bot#20, #21, #32, #71, #83 — same defect family, filed independently by different agent sessions over several days).
Repro patterns
- Exact identifiers lose to unrelated entities. A query containing precise current-task identifiers (round/contract/counter names, e.g.
R42 R43 Capstone distribution module version preflight STATIC PE, orfilons_pme_quebec filons-pme-quebec-quotidien reports coverage discord-bridge prompt-shield) returns an unrelated entity ("Tripo API V2") first at 82–88%, with the exact-matching task reports/skills absent or far below. Expected: exact technical-token overlap (or a lexical fallback boost) should keep unrelated entities from presenting as high-confidence guidance. - Oversized aggregate overviews. A narrow lookup with
limit=5, read_content=falsereturns aggregate events-overview documents containing many unrelated historical entries — 50 KB to 122 KB responses that truncate. Expected: token-bounded abstracts and per-hit excerpt limits;read_content=falseshould not inject full aggregate overviews, and leaf memories should be preferred over aggregate ones for narrow queries.
Impact
Agents either follow unrelated "high-confidence" guidance or burn their context budget on one search call. The client-side workaround (find with small limits, exact-identifier filtering, direct URI reads) helps but cannot fix ranking or server-side response sizing.
Happy to provide anonymized query/result pairs if useful — please tell us what shape helps (no user content or credentials are involved in the reports above).
- Dominant language
- Python
- Stars
- 41.8k
- Forks
- 3.4k
- Avg merge
- 19h 29m
- Merged PRs (30d)
- 500
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from volcengine/OpenViking
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
volcengine/OpenViking#7485 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
volcengine/OpenViking#7210 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
volcengine/OpenViking#7205 · 1 comment ·
Maintainers usually reply within 1 day
-
[Bug]: Retrieval rerank fallback statistics stay zero after provider failurePossibly taken @97Three claimed this 8 days ago. Openbug kernel
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
volcengine/OpenViking#7014 ·
Maintainers usually reply within 1 day
-
[Bug]: memory.prefetch_search_topn is inert above 5 (call site omits limit), plus two docstrings state the wrong defaultsPossibly taken @peterzhang987723 claimed this 8 days ago. Openkernel
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
volcengine/OpenViking#6923 · 2 comments ·
Maintainers usually reply within 1 day
All issues in volcengine/OpenViking
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
FinanceFlash/unvibecode#699 ·
Maintainers usually reply within 1 day
-
enhancement Website
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
OWASP/OWASP-Hunting#96 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
micropython/micropython#19942 ·
Maintainers usually reply within 1 day
-
A rebuild posts "not part of this build" success to the commit's failed `nix-build` gate and effectsPossibly taken @Padraic-O-Mhuiris claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
`epoch.Integer` raises a raw OverflowError for integers too large to convert to a floatPossibly taken @arindam77 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
pydantic/pydantic-extra-types#479 ·
Maintainers usually reply within 1 day