Problem
The current recall evaluation set reports 100% recall@5 on a small collection of direct, artifact-shaped queries. That score did not predict a real conversational recall failure where the index contained the exact answer but the requested message fell below the top five.
The missing evaluation dimensions are:
- Conversational paraphrase: the user describes a remembered concept without reproducing the original wording.
- Terminology recovery: the expected answer is a short term inside a longer prior response.
- Query-echo contamination: earlier
backscroll search tool calls repeat the query tokens and compete with historical prose.
- Progressive refinement: repeated searches should improve retrieval rather than add higher-ranked self-generated noise.
- Budgeted agent output: the expected result must remain reachable under
--robot --fields minimal --max-tokens.
Without these cases, recall@5 can remain perfect while realistic agent recall still requires several manual query rewrites.
Proposed Solution
Extend docs/eval/queries.toml and scripts/eval.sh with sanitized fixtures derived from this observed workflow.
At minimum, add cases that:
- ask for a prior technical term using different vocabulary from the stored answer;
- place the target phrase inside a longer assistant response;
- add later Backscroll query invocations containing the same terms;
- measure the target's rank before and after query refinement;
- execute the documented robot/minimal/token-budget contract;
- report both recall@5 and whether the target was present in the emitted bounded payload.
Keep the existing lexical baseline, but report results by cohort so regressions in conversational recall are not hidden by easy exact-term queries.
Suggested cohorts:
artifact-literal
conversational-paraphrase
terminology-recovery
query-echo
budgeted-agent-output
Alternatives Considered
- Replace the existing eval-set. Rejected because the current direct queries still protect useful behavior; new cohorts should complement them.
- Activate embeddings immediately. Rejected because the benchmark should first demonstrate the gap and compare lexical improvements against a stable baseline.
- Measure only whether the target exists anywhere in the result set. Rejected because agents consume bounded top-ranked output; rank and emitted-payload reachability are the user-visible contract.
Additional Context
The current repository documentation records 100% recall@5 as the reason semantic embeddings were not activated. This new cohort provides evidence for deciding whether lexical ranking, query relaxation, or semantic retrieval produces a measurable improvement.
This issue should land before changing query-relaxation behavior so that the implementation has a failing, representative acceptance case.
Problem
The current recall evaluation set reports 100% recall@5 on a small collection of direct, artifact-shaped queries. That score did not predict a real conversational recall failure where the index contained the exact answer but the requested message fell below the top five.
The missing evaluation dimensions are:
backscroll searchtool calls repeat the query tokens and compete with historical prose.--robot --fields minimal --max-tokens.Without these cases, recall@5 can remain perfect while realistic agent recall still requires several manual query rewrites.
Proposed Solution
Extend
docs/eval/queries.tomlandscripts/eval.shwith sanitized fixtures derived from this observed workflow.At minimum, add cases that:
Keep the existing lexical baseline, but report results by cohort so regressions in conversational recall are not hidden by easy exact-term queries.
Suggested cohorts:
Alternatives Considered
Additional Context
The current repository documentation records 100% recall@5 as the reason semantic embeddings were not activated. This new cohort provides evidence for deciding whether lexical ranking, query relaxation, or semantic retrieval produces a measurable improvement.
This issue should land before changing query-relaxation behavior so that the implementation has a failing, representative acceptance case.