Skip to content

Plan the second workstream: memory accuracy - #17

Merged
rohan-hotdata merged 2 commits into
mainfrom
plan-memory-accuracy
Oct 13, 2026
Merged

rohan-hotdata merged 2 commits into
mainfrom
plan-memory-accuracy

Conversation

@rohan-hotdata

Copy link
Copy Markdown
Collaborator

This PR opens the second workstream, memory accuracy. It replaces docs/internal/plan.md with phases 6 to 13, adds them to the roadmap, and commits the benchmark research of 2026-10-08. Phase 6 is #16. This PR changes no code.

How

  • docs/internal/plan.md: the workstream goal, where it starts (the phase 5 numbers and four facts about the memory arm, read from the code), the proposed decisions, and for each phase its goal, tasks, acceptance criteria, and stop conditions. The phase 5 plan stays in git history at 4a6fb36.
  • docs/internal/roadmap.md: phases 0 to 5 become "the first roadmap", and a second table lists phases 6 to 13 as proposed. Deferred now lists the adapters (the old phase 6), the latency work, model calls in the library, and the hindsight ideas that this workstream does not take.
  • docs/internal/benchmarks.md: the research that chose LongMemEval-S, committed as a record with a note at the top. docs/benchmarks.md holds the observed numbers and wins where the two disagree.
  • AGENTS.md and README.md: the pointers to plan.md and docs/internal/ name the workstream and the research.

The phases, in order:

Phase What it targets
6. The accuracy loop A held-out sample B, the memory arm configured from the command line, a finer diagnosis, and the baselines
7. The extractor The 19 of 35 misses where no stored fact held the answer. Benchmark code only
8. Episodes behind facts capture stores its text as an episode, and recall can add the cited or ranked episodes within one budget
9. The ranking An ablation of the fused ranking, then a default chosen by the benchmark
10. Supersede in capture A fact names the record that it replaces, and remember closes it
11. Search over history recall(as_of=T) returns the revision valid at T, with the filter in SQL
12. The full benchmark All 500 questions with the final configuration, and a LoCoMo smoke test
13. Release on PyPI The release flow of hotdata-langchain, and the first release

Why

Phase 5 showed that the store finds the evidence: the top 10 sessions from search gave 45 of 54 correct answers. The memory contract gave 19 of 54. The losses come from the extractor and from what recall returns, not from the platform. This workstream works on accuracy first, keeps the library deterministic, and leaves latency to Deferred.

Verification

  • make verify passes, including the link check.
  • A search of the diff, the commit message, this description, and Phase 6: the accuracy loop #16 found no private repository, customer, or deployment detail.
  • The simple-english linter shows no hit in plan.md. The hits left in roadmap.md are in lines that this PR did not change.

Notes

  • Every workstream decision is marked proposed. The owner agrees to them on Phase 6: the accuracy loop #16 before phase 6 starts. Four questions are open at the end of plan.md.
  • Issues for phases 7 to 13 open one at a time, when the phase before closes.
  • The research file keeps its counts as they were read. One is wrong (75 late evidence sessions, where the loader counts 43), and the note at its top says so.

Replace plan.md with phases 6 to 13: the accuracy loop, the extractor,
episodes behind facts, the ranking, supersede in capture, search over
history, the full benchmark, and the PyPI release. The roadmap gets the
new table and a Deferred list: adapters, latency, model calls, and the
hindsight ideas.

Commit the benchmark research of 2026-10-08 as a record, with a note
that docs/benchmarks.md holds the observed numbers.
@rohan-hotdata
rohan-hotdata requested a review from a team as a code owner October 13, 2026 11:58
@rohan-hotdata
rohan-hotdata requested review from shefeek-jinnah and removed request for a team October 13, 2026 11:58
Comment thread docs/internal/plan.md Outdated
Comment on lines +13 to +14
The retrieval arm scored 45 of 54. The target is the published range of memory layers with
a GPT-4o reader, 71.2 to 84.2 percent (read, not reproduced), within 10 to 20 points.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: State the workstream target as one testable number (not blocking).

"The published range ... within 10 to 20 points" can be read in two ways. One reading is within 10 to 20 points of the range. The other reading is within 10 to 20 points of the retrieval arm. Phase 12 has no acceptance criterion that checks the target, so the close of the workstream has no pass condition. Example fix: "The target is at least N of 54 on sample A and sample B, and at least X percent on all 500 questions."

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 9ed491b. The target now measures from the lowest published GPT-4o score, Zep at 71.2 percent (read, not reproduced): a pass level of at least 51.2 percent and a goal level of at least 61.2 percent on all 500 questions, with 28 and 33 of 54 as the guides for sample A and sample B. Phase 12 gains an acceptance criterion for the pass level and a stop condition for a miss.

claude[bot]
claude Bot previously approved these changes Oct 13, 2026
The goal said "within 10 to 20 points" without saying of what. It now
measures from Zep's 71.2 percent: a pass level of 51.2 percent and a goal
of 61.2 percent on all 500 questions, with the matching counts of 54 for
the samples. Phase 12 gains the check and a stop condition.
Comment thread docs/internal/plan.md
| Level | Distance from 71.2 percent | Sample A and sample B | All 500 questions |
|---|---|---|---|
| Pass | At most 20 points | At least 28 of 54 on each | At least 51.2 percent |
| Goal | At most 10 points | At least 33 of 54 on each | At least 61.2 percent |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

super nit: Change the goal guide to "At least 34 of 54" (not blocking).

33 of 54 is 61.1 percent, which is below the goal level of 61.2 percent. 34 of 54 is 63.0 percent.

@rohan-hotdata
rohan-hotdata merged commit 6cfb9d9 into main Oct 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant