Release · 2026-08-29T05:45:18+02:00 · By Threadnote
Threadnote 4.6.0
Threadnote 4.6 closes the loop between code graphs and memory. After an agent finds a file or stable symbol, it can ask Context Brief for memories that explicitly cite that code, while retaining the ordinary task-text recall lane. The result is a bounded, source-verifiable answer rather than a semantic guess about nearby code.
What's new
Threadnote 4.6 closes the loop between code graphs and memory. After an agent finds a file or stable symbol, it can ask Context Brief for memories that explicitly cite that code, while retaining the ordinary task-text recall lane. The result is a bounded, source-verifiable answer rather than a semantic guess about nearby code.
Ask code what the team remembers about it
Pass up to eight repository-local file or cgs_ symbol anchors:
threadnote context brief \
--task "Trace checkout retries and check the remembered contract" \
--code-ref src/checkout/retries.ts \
--budget-tokens 1250 \
--json
The equivalent context_brief MCP request uses an absolute callerCwd and a codeRefs array. Threadnote resolves the
anchors against the already-ready exact-current graph, then retrieves durable memories and handoffs whose immutable
citations directly match them. Direct matches are protected ahead of lexical backfill within the existing bounded
candidate budget.
- Requests with code anchors return Context Brief v3. Existing task-only requests retain the v2 response contract.
coverage.memory.codeAnchorsreports how many anchors resolved, how many memories matched, and whether coverage was complete. Selected memories identify a boundedcode-citationbasis without exposing private paths or hashes.- Exact and uniquely relocated citations remain usable; changed or deleted evidence marks the memory stale. Missing, deferred, racing, ambiguous, or incomplete graph evidence stays unknown instead of being guessed.
- Reverse citation search is bounded too. A
code-anchor-recall-truncatedgap means deeper eligible links may have been omitted, so agents must treat it as abstention rather than a no-memory result. A true no-memory conclusion requires resolved anchors and no truncation gap.
Keep the connection precise and fail closed
Code-anchored recall is deliberately narrower than graph traversal:
- It matches explicit file or symbol citations only. It does not infer that a memory applies because its code is adjacent in the graph.
- It never starts a graph build. Index first when the repository does not have an exact-current ready snapshot.
- This milestone supports one local repository.
cgr_anchors and requests that combinecodeRefswith a Workset return explicit unsupported coverage rather than partial cross-repository claims. - Context Brief still separates repository evidence from untrusted memory excerpts and retains the 1,500-token hard ceiling. Instruction-shaped memory remains evidence, never executable agent policy.
Make release evidence reproduce the agent workflow
The 4.6 release gate adds deterministic backlink precision, recall, no-answer, ordering, budget, latency, and 100,000-memory scale checks. Its dense shadow-prefix case requires the exact first eight matches plus two explicit selector-truncation receipts; that demonstrates bounded abstention without claiming completeness past the scanned prefix. The gate also requires practical dogfood cases and a preregistered finite-corpus agent comparison covering first-use behavior, useful usage, task outcomes, stale and missing graph states, unrelated-memory rejection, and direct and lexical instruction-injection controls. Release evidence is bound to the exact candidate executable and retained for replay before publication.
Keep the runtime easier to maintain
Manager, MCP, memory, sharing, Obsidian, update, Cursor, and process implementations now live in focused src/
subdirectories behind the existing public entry modules. The reorganization keeps runtime and build entry points
stable while making ownership and future changes easier to review.
Upgrade to Threadnote 4.6
Existing standalone installations upgrade with:
threadnote update
Existing memories, citations, and task-only Context Brief consumers require no migration. Code-anchored lookup is
opt-in: supply codeRefs only after discovering code whose explicit memory backlinks are useful to the task.