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.codeAnchors reports how many anchors resolved, how many memories matched, and whether coverage was complete. Selected memories identify a bounded code-citation basis 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-truncated gap 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 combine codeRefs with 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.