Repository navigation
feat(recall): search indexed original memory text - #285
jack-arturo wants to merge 10 commits into
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e3a3e3df2e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b83d349623
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if graph is not None and original_text_search is not None and query_str: | ||
| # Run independently of the vector pool: the desired fact may occur | ||
| # only in the preserved original and therefore lack vector evidence. |
There was a problem hiding this comment.
Record the required recall benchmark comparison
This enables an independent candidate source for every text recall query, changing which memories enter the shared ranking pool, but benchmarks/EXPERIMENT_LOG.md contains no baseline/candidate comparison for this change. The commit's isolated diagnostic explicitly is not an official benchmark, so it does not satisfy the repository's required recall/retrieval validation workflow. Run the baseline and candidate LoCoMo-mini evaluations, record both results in the experiment log, and complete the full LoCoMo evaluation before merge so regressions outside the diagnostic slice can be assessed.
AGENTS.md reference: AGENTS.md:L65-L71
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eaa72684f0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6ea44702c1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e45f2ed0b8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 45a2f1d53c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| existing_ids={_result_memory_id(candidate) for candidate in checked}, | ||
| dedupe_replacements=dedupe_replacements, |
There was a problem hiding this comment.
Preserve stronger vector evidence for checked replacements
With current-only recall, when a superseded memory matches both vector and original-text search, the original-text channel resolves it first and marks its replacement as checked. If that lexical replacement survives min_score, passing its ID here causes _apply_current_state_filter to discard the replacement derived from the vector hit, even when its score is higher. Consequently, the weaker lexical score wins before _dedupe_results can compare the candidates, and the current memory can lose a result slot to a competitor despite strong vector evidence. Preserve the stronger scored candidate or merge its evidence into the checked replacement while still preventing duplicate output IDs.
Useful? React with 👍 / 👎.
|
Babysit stopped — |
|
The no-provider full LoCoMo diagnostic against |
|
Babysit budget reset — fresh remediation budget explicitly granted by the operator. |
Summary
Recall queries the dedicated original-text index as an independent candidate source, applies scope and current-state controls, and combines results with the existing ranking pipeline. Bounded overfetch and coverage reranking reduce candidate-order misses, while current-state filtering happens before candidates are capped. Internal index text is excluded from returned memory payloads. Graph relation lookups for original-text candidates are deferred until final selection to avoid per-candidate amplification. Superseded matches retain explicitly attributed topical evidence when replaced with current content, including when multiple matches resolve to the same replacement or a second reranking pass runs.
Stacked on #284 and #283; merge those dependencies first. Existing legacy originals require the backfill's explicit trust assumption before they are indexed.
Isolated diagnostic
On candidate
45a2f1d53c507fb69a4a9d215fe8883754db3539, identifier Recall@5 improved from 10/16 to 16/16; the public LoCoMo evidence slice improved from 58/136 to 62/136. The exhaustive client-side chunk prototype scored 16/16 and 77/136 respectively, using a different candidate and ranking path. All 16 no-answer controls still returned results at a zero score floor; no cross-scope or current-state temporal leaks were observed. This is a diagnostic, not an official benchmark or answer-quality result. Graph expansion was disabled in this experiment and is covered separately by regression tests. The experiment and reviewed aggregate evidence are in verygoodplugins/automem-evals#93.A separate no-provider LoCoMo-mini diagnostic using the product harness scored baseline and optimized candidate
b3beabcat 197/235 each, with 69 judge-dependent questions skipped and no paired verdict changes. It uses local BGE embeddings, disables enrichment and judge/answer embedding scoring, and the native harness augments retrieved context with labeled evidence. A matched full-cohort run is in progress onb3beabc; neither result is a judged leaderboard score. No production data or paid provider calls were used.Validation
Breaking changes: none intended. The extra full-text channel adds indexing and query work; preliminary shared-host timing suggests additional recall latency, but is not a controlled latency estimate.
Implementation harness: Codex desktop.