Repository navigation
Conversation
Clean-room generation (Opus 5.5) on guide 5caba53 (PR #62), then two independent audit and repair rounds. Repairs fixed consistency defects only; a script compared the generated and final spec and found no Ledger row's category, condition, default, option ids or labels changed and no rule or test added or removed. Four Ledger cells were reworded only to stop naming parts another row removes. Checker 0; gate text unchanged. Replaces the spec pinned to guide bbe7189 (owner decision 2026-10-19, replacing the D4 hand edit). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Decision Ledger for review: agent-memoryA plain-language version of the spec's Decision Ledger, for review. Each heading links to its row in this PR's How to read it. Before building, the build agent asks the learner one question per decision below. Each table lists the answers they can pick.
Some questions are asked only after a certain earlier answer; they say so. L1 · What the assistant is forThe learner is asked: what are you building? Why it's a choice: the default is the course's own example; a learner with a different project swaps it.
L2 · What the paper library starts withThe learner is asked: what data does the assistant start with? Why it's a choice: the course loaded 100 real arXiv records; the default uses invented records so the build runs offline.
L3 · What "working" meansThe learner is asked: what should the finished assistant be able to do? Why it's a choice: the default is the course's closing demo; a learner can state their own goal.
L4 · Which AI model provider, for live useThe learner is asked: which model provider should the assistant use? Why it's a choice: the course used OpenAI; another provider changes the message format, not the memory design. The offline tests never call a live model.
L5 · Where it runsThe learner is asked: where should the assistant run? Why it's a choice: the course ran in notebooks and wiped its tables each lesson; memory surviving restarts is the course's point, so the default keeps data between runs.
L6 · What this build leaves outThe learner is asked: here is everything this build does not include; keep it, or bring something back? (The question shows the full list.) Why it's a choice: the course made no choice here.
D1 · Which memories the assistant keepsThe learner is asked: should the assistant keep a full set of memory types, or only the chat history? Why it's a choice: Lesson 2 shows a chat-history-only agent working, then argues it isn't enough; Lesson 3 builds the full set.
D2 · Rewriting tool descriptions to make tools easier to findAsked only if D1 = D1a. The learner is asked: should the model rewrite each tool's description when the tool is added? Why it's a choice: Lesson 4 shows rewritten descriptions find the right tool more reliably, at the cost of two model calls per tool; plain descriptions also work.
D3 · What runs automatically, and what the model decides to doAsked only if D1 = D1a. The learner is asked: which memory steps run automatically every turn, and which does the model choose to call? Why it's a choice: Lesson 3 argues automatic steps are predictable and complete, while model-called steps save cost and use judgment.
D4 · Can a shrunk conversation be recovered?Asked only if D1 = D1a. The learner is asked: when the conversation is summarized, should the original messages stay retrievable? Why it's a choice: Lesson 5 argues a plain summary always loses detail, while compaction keeps the originals so the model can pull them back.
RR1 · Which database stores the memoriesThe learner is asked: which database should hold the assistant's memories? Why it's a choice: the course used Oracle, which needs an admin-installed database; the lesson is about the memory design, not the product.
RR2 · A web-search toolAsked only if D1 = D1a. The learner is asked: should the assistant have a web-search tool that needs a key? Why it's a choice: Lesson 4 teaches "search and save" with Tavily, but the course's final agent doesn't use it; the paper tools already save what they find.
RR3 · Which model the tests run againstThe learner is asked: should the offline tests use a scripted fake model or the live one? Why it's a choice: a scripted model makes every test repeatable offline; a live model's answers vary from run to run.
C1 · Do summaries belong to one conversation thread?Asked only if D1 = D1a. The learner is asked: should a summary be visible only in the thread it came from? Why it's a choice: the course did it both ways (Lesson 5 without threads, Lesson 6 with them).
Known open points (already flagged; tracked on #48)
Reviewers: comment with the Ref (for example "D1b: …"). |
Replaces the agent-memory agnostic
spec.md(guidebbe7189, September) with a fresh clean-room generation on guide5caba53(PR #62; merge #62 first somainhas the guide this spec pins). This regeneration replaces the planned D4 hand edit (owner decision 2026-10-19).How it was made (Opus 5.5)
Four Ledger cells were reworded only to stop naming parts another row's options remove (the cross-row rule in Guide: rows never restate parts another option removes; gate step 5 leaves out what exists only for a retired rule and records adapted criteria #62): the store row's Invariant and both options, D2a, and RR2a.
What changed for a learner
D1a); rows that stop mattering are skipped ("Applies only when D1 is D1a"). Labels: "(Recommended)" and "(course default)".Known open points (decisions, not repaired; going to #48)
🤖 Generated with Claude Code