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
rememberandhandoffaccept repeatable--code-refvalues. MCPremember_contextandreview_session_contextacceptcodeRefswith an absolutecallerCwd. - References may be repository-relative paths, local
cgs_symbol handles, or repository-qualifiedcgr_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. exactmeans the captured file bytes or symbol fragment remain at the original locator.relocatedmeans one deterministic, unique match preserves the evidence elsewhere; the memory remains fresh and receives a stale-link warning.changedordeletedevidence makes a memory stale. Ambiguous, malformed, unavailable, non-current, incomplete, out-of-scope, racing, or over-budget evidence isunknownrather 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.