Release · 2026-08-27T10:31:16+02:00 · By Threadnote

Threadnote 4.4.0

Threadnote 4.4 lets durable memories and handoffs cite exact file or symbol evidence, then checks those citations against current ready code graphs when compiling a Context Brief. It distinguishes a moved link from changed or deleted evidence, abstains when validation is incomplete, and keeps existing uncited memories in recall.

What's new

Threadnote 4.4 lets durable memories and handoffs cite exact file or symbol evidence, then checks those citations against current ready code graphs when compiling a Context Brief. It distinguishes a moved link from changed or deleted evidence, abstains when validation is incomplete, and keeps existing uncited memories in recall.

Capture code evidence with memory

  • CLI remember and handoff accept repeatable --code-ref values. MCP remember_context and review_session_context accept codeRefs with an absolute callerCwd.
  • References may be repository-relative paths, local cgs_ symbol handles, or repository-qualified cgr_ handles. Threadnote resolves them against an already-published exact-current graph and derives repository, snapshot, file, and source-fragment evidence internally; callers never supply hashes or validation status.
  • Capture is atomic, deduplicated, and bounded to eight citations per memory. An invalid, absent, ambiguous, non-current, or racing reference fails the write. Citation capture never starts or refreshes indexing.
  • Replacing memory with code references recaptures evidence. Omitting references clears earlier citations and reports the cleared count, so edited prose never silently inherits old evidence.
  • Reviewed candidates may carry citations captured at review time. Approval preserves those immutable receipts rather than recapturing against a different snapshot.

See exact, relocated, changed, deleted, or unknown evidence

  • Context Brief v2 validates citations only for the memories selected by bounded recall and returns compact per-citation receipts in JSON and MCP structuredContent.
  • exact means the captured file bytes or symbol fragment remain at the original locator. relocated means one deterministic, unique match preserves the evidence elsewhere; the memory remains fresh and receives a stale-link warning.
  • changed or deleted evidence makes a memory stale. Ambiguous, malformed, unavailable, non-current, incomplete, out-of-scope, racing, or over-budget evidence is unknown rather than a guess.
  • Precise current evidence supersedes commit-only freshness, so cited bytes that survive a later commit can keep the memory fresh. An exact citation proves evidence persistence, not the semantic truth of the memory prose.
  • Validation remains within the existing 1,500-estimated-token response ceiling and is bounded to 96 citations and 32 cited repositories per brief with concurrency capped at four. It reads already-ready snapshots only and never fans out cold graph builds.

Preserve existing memory and sharing safety

  • Existing v1, v2, v3, and unversioned uncited memories remain recallable. Context Brief keeps their conservative source-commit comparison when one repository snapshot resolves and otherwise reports unknown freshness; upgrading does not produce empty recall merely because old memories have no citations.
  • New and rewritten memory uses schema v4. Upgrade every writer that may replace a shared cited memory before publishing schema-v4 citations. Older writers do not understand the repeated citation header and may drop it while reformatting a record.
  • Shared publishing preserves valid citations and blocks dirty-worktree, local-only repository, or malformed citation evidence. Commit the cited source and recapture it; Threadnote never silently strips evidence to make a publish pass.
  • Remote canonical import/export and Obsidian-compatible memory flows preserve valid schema-v4 citation metadata while keeping high-entropy hashes out of semantic recall text.

Observe Context Briefs without exporting private evidence

  • Optional anonymous telemetry schema v5 adds closed Context Brief phase timing, validation coverage/result classes, one closed unknown-reason class, output truncation, and power-of-two citation/work buckets on successful results.
  • It never exports task or mode, memory body or identity, citation or node identity, path, symbol, repository or Workset identity, commit, snapshot, hash, exact private count, SQL, or raw error text. Failed and interrupted briefs do not emit result-derived citation classifications.
  • Live telemetry helps diagnose latency, coverage, abstention, and warnings; it cannot prove citation correctness or the absence of stale memory. Correctness remains an offline labeled and property-tested release gate.

This is a material expansion of the optional telemetry contract. Existing consent-v1 through consent-v4 configurations fail closed after the upgrade. Review the current preview and opt in again only if you agree:

threadnote telemetry status
threadnote telemetry enable
threadnote telemetry enable --apply

Restart already-connected MCP clients after changing telemetry consent; CLI changes apply on the next invocation. The schema-v5 gateway and storage canary, v5-capable dashboard, and only then the consent-v5 producer must be deployed in that order.

Upgrade to Threadnote 4.4

Existing standalone installations upgrade with:

threadnote update

Canonical memories and ready graphs are preserved. Code citations are opt-in on new or replaced memories; no citation migration or graph rebuild is required for legacy recall.