Release · 2026-08-21T10:18:18+02:00 · By Threadnote
Threadnote 4.3.0
Threadnote 4.3 makes native code intelligence substantially more responsive and predictable in large repositories, improves recall across monorepos and shared memory, and makes long-running Workset and graph operations easier to understand and control.
What's new
Threadnote 4.3 makes native code intelligence substantially more responsive and predictable in large repositories, improves recall across monorepos and shared memory, and makes long-running Workset and graph operations easier to understand and control.
Faster, bounded code-graph reads
- Ordinary
query,node,neighbors, andexplainoperations can use an existing ready snapshot immediately while exact-currentpathandimpactoperations remain strict. threadnote graph analyzeand its statistics, community, group, hub, surprise, and confidence aliases now use this worktree's ready snapshot by default instead of silently rebuilding a stale repository. Use--freshness currentfor an explicit refresh or--freshness allow-staleto guarantee that no index is started.- Required foreground refreshes have a 25-second default budget, configurable with
--read-timeout-ms. Timeouts return an explicit state instead of continuing into analysis.graph reportremains strict-current and never writes stale or partial output after a timeout. - Large topology analysis returns a clearly qualified bounded result instead of discarding all useful topology when the complete graph exceeds the analysis budget.
Less graph rematerialization work
- Threadnote reuses complete, correctness-proven materialized graph batches within and across graph generations. Incomplete, malformed, or ambiguous batches rebuild together rather than mixing attribution contexts.
- A controlled 130-file differential reduced attribution from a 140 ms median to 16 ms while preserving identical stored-graph digests. This is bounded component evidence, not a universal production latency claim.
- Unchanged static TypeScript reexports remain incremental, and multiple valid declared-evidence records for one
structural dependency no longer force a false
project-closure-incompletefallback. - Ready-read, snapshot-release, and graph-analysis paths avoid redundant snapshot, provenance, cleanup, and maintenance work.
- Build status and Manager now separate raw-fact replay from materialized-shard replay and distinguish attributed, exact-generation, and cross-generation files.
Better recall and memory hygiene
- Explicit Project, Workset, and approved-authority boundaries are applied before lexical and vector result limits, so
unrelated records cannot crowd out eligible evidence. Omit
projectfor global recall or use a Workset for its configured repository union. The default topical relevance threshold is now0.3; explicit or environment-provided thresholds are strict0..1filters and are not bypassed by exact-match rescue. - Nested
callerCwdvalues add monorepo package context without turning packages into hard silos. Repo-wide records and bounded stronger sibling-package evidence remain available. New memories persist the nearest package/app asworkspace_scope, legacy memories stay repo-wide, and explicit current-branch queries receive branch affinity. - Exact camelCase and PascalCase identifiers, canonical recency, pinned URIs, and shared-memory aliases are handled more accurately. Identical authorized copies collapse into one result with aliases retained; divergent copies stay visible for review.
recall_contextreturns a bounded unread-pointer queue; full reasons, signals, expansions, and warnings requireexplain: true. Standard MCPresources/readis capped at 4,500 bytes, while localread_contextpages content at up to 1,500 estimated tokens with opaque, process-local, single-use cursors that expire after ten minutes. It also supports outlines and exact-heading section reads. Session-start guidance explicitly requires reading returned pointers before treating memory as evidence.compactremains preview-first while adding expiry archival, seven-day terminal-handoff archival, review of nonterminal handoffs after fourteen days, thirty-day active-handoff archival unless explicitly pending, provenance-preserving exact-duplicate retirement, and read-only cross-share merge review.- Managed memory paths now require
remember_context; rawadd_resourcewrites are rejected so identity and locking guarantees cannot be bypassed.
Clearer Workset preparation
- CLI and Manager show the active repository, retry attempt, indexing phase and counters, completed-member count, catalog, bridge, publication phases, and elapsed time.
- Retryable repository failures receive one bounded retry.
- Final receipts distinguish publication success from complete or incomplete member coverage and include typed recovery guidance. Live progress stays on stderr while the final machine-readable receipt stays on stdout.
Expanded privacy-safe operations telemetry
- Optional anonymous telemetry can report a closed automatic-update result and whether an applied update still needs repair.
- Workset preparation can report only closed phase/checkpoint, bounded work-unit, terminal coverage, and failure-class evidence through the existing privacy-safe operation fields.
- Graph-query telemetry adds only closed request and scope classes, stage timing, snapshot selection and freshness, and power-of-two snapshot-size buckets. It never includes repository identity, paths, commits, query text, symbols, results, or exact graph counts.
- The operated dashboard definition adds automatic-update and graph-query views, excludes synthetic canary traffic from every Tempo query, and handles an empty unexpected-full-build denominator safely.
This is a material expansion of the optional telemetry contract. Existing consent-v1, consent-v2, and consent-v3 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 production schema-v4 gateway, all-version canary, and v4-capable dashboard must be deployed and verified before the 4.3 application binaries are published.
Older materialized-shard cache derivations are safely ignored and repopulated as needed, and disposable recall indexes rebuild automatically. Canonical memories and ready graphs are not rewritten.
Existing standalone installations upgrade with:
threadnote update