v1.0.0
ctx 1.0 is our first major stable release and brings serious performance and correctness improvements. Cold ingestion of a 4 GB history corpus fell from 44 minutes to 2m22s, about 18x faster, and incremental refresh fell from 4.0s to 0.35s, about 12x faster. The release also adds automatic indexing across more than 40 local agent-history sources, tracks parent, subagent, fork, and copied-session lineage, and introduces ctx blame, a ctx pro command that connects files, commits, and pull requests to the agent sessions that produced them.
Indexing and storage
- Replaced the legacy SQLite/FTS history store with immutable, self-contained Tantivy Core generations.
- Complete normalized records now live in Core, so searches and transcript reads do not reopen provider databases or files.
- Publications are verified and activated as complete generations. Interrupted refreshes retain the last verified generation and safely retry.
- Semantic search now uses optional memory-mapped flat-F32 generations instead of
sqlite-vec. - Core, semantic, and pro state are bound to committed generations, preventing mixed or partially updated results.
- Added route-local incremental refresh, unchanged-source admission, bounded generation verification, and writerless no-op refreshes.
- Malformed or conflicting Codex rollouts can be quarantined individually while valid sibling histories continue importing.
Search and structured access
- Added content-aware ranking and explicit
all,transcript,calls, andoutputsscopes. - Added deterministic event queries through
ctx list events, with chronology, provider, source, session, lineage, agent, workspace, and file filters. - Added generation-bound JSON and streaming JSONL output for structured queries and exports.
- Added exact MCP server/tool attribution and policy-selected invocation search.
- Added provider-neutral parent, child, fork, and copied-session relationships. Proven copies are suppressed from default search without becoming inaccessible.
- Added
ctx show eventand expanded session rendering with text, Markdown, JSON, and JSONL output. - Added transcript export through
ctx show session --out.
Examples:
ctx list events --provider codex --event-type message \
--content full --format jsonl > codex-messages.jsonl
ctx list events --since 2026-08-01T00:00:00Z \
--until 2026-08-02T00:00:00Z --format jsonl
ctx show session <session-id> --mode full \
--format markdown --out transcript.mdctx pro
- Added file, commit, and pull-request blame for connecting code changes to the agent sessions that produced them.
- Added
ctx blame <target>shorthand with explicit--type file|commit|proverrides. - Added bounded verified evidence context to blame results.
- Added exact Git operation lineage for amend, rebase, and cherry-pick attribution.
- Added explicit attribution outcomes when evidence is absent, ambiguous, stale, or unverifiable.
- pro consumes committed Core generations directly and does not rescan provider histories.
- First setup can automatically start a 14-day trial without requiring an account or card.
- Added a browser handoff for connecting an account, retaining access after the trial, or subscribing.
- Core remains fully usable when ctx pro is unavailable.
Setup, indexing, and terminal UX
- First setup now coordinates Core indexing and optional pro trial setup while preserving Core-first, fail-soft behavior.
- Added automatic and manual indexing modes through
ctx index mode auto|manual. - Added whole-run progress and estimated completion time.
- Added continuously updating session, message, tool-call, and data-scanned counters.
- Added live terminal resize handling and persistent structured callouts.
- Hardened daemon recovery, concurrent publication, reinstall supervision, service ownership, and idempotent reinstall behavior.
- Added the universal
ctxagent plugin and migrated the managed skill and command to it.
Provider support and import reliability
- Added or completed support for Hermes, Grok Build, DeepSeek Harness, current and legacy OpenClaw history, OpenHands CLI, Cline SDK stores, Mux archives, Shelley, and compressed Codex rollouts.
- Fixed streamed Kimi assistant content and corrected wire semantics.
- Restored Factory Droid discovery and stabilized retry identities.
- Hardened Cursor, Copilot CLI, OpenCode, Codex, Claude, Pi, and other importers against sockets, symlinks, active writes, malformed optional metadata, duplicate identities, and partial records.
- Supported readable provider histories are now discovered and imported automatically.
Performance
Huge thanks to @malandin (Alex Malandin) of SereneDB for initially suggesting source-backed search indexing (instead of ingesting into sqlite). Turns out, this was a huge insight and was instrumental in achieving these performance gains with Tantivy. Here is the HN comment that started it all: https://news.ycombinator.com/item?id=48778744
| Workload | Before | ctx 1.0 | Result |
|---|---|---|---|
| 4 GB cold ingestion (#306) | 44m 33s | 2m 22s | About 18x faster |
| 648 MB incremental refresh | 4.015s | 0.345s | About 12x faster |
| 35 GB ordinary append | Full-route work | 469ms p50, 535ms p95 | Under 0.5s median |
| 5.44 GB lexical cold build | 30.60s | 7.65s | 75% faster |
| Lexical filesystem output | 3.87 GB | 240.8 MB | 16x smaller |
| Broad-term lexical query | 115.23ms | 1.178ms | 98x faster |
| 20.8 GB Core ingestion | 21m 49.8s | 15m 04.5s | 30.9% faster |
| 20.8 GB Core to pro completion | 28m 33.2s | 21m 47.4s | 23.7% faster |
| Four-CPU, 192-source refresh | 21.23s / 189.9 MB | 13.06s / 131.2 MB | 38.5% faster, 30.9% less memory |
| 33 GB unchanged refresh | 13.26s | 7.29s | 45% faster |
| 16,384-document publication | 3.141s | 84.5ms | 37x faster |
Platforms and distribution
Official artifacts are available for:
- Linux x86-64 and ARM64, targeting a GLIBC 2.28 ceiling.
- macOS x86-64 and Apple Silicon.
- Windows x86-64.
Official installs verify signed metadata and artifact hashes. Windows artifacts are Authenticode-signed, and macOS artifacts are signed and notarized. Source and package-manager installations remain fully supported as Core-only installations.
Breaking changes and upgrade notes
- On first run, ctx 1.0 automatically builds a new immutable Core generation from your existing provider histories. It does not convert the legacy index in place. The new generation is verified before activation, interrupted builds can safely retry, and your original agent history is never modified. No manual migration is required.
ctx sqland its persistent relational projection have been removed. Common structured-access workflows remain available through indexedctx list eventsfilters, JSON/JSONL,jq, MCP, and the SDKs. Arbitrary SQL is gone, but provider, source, session, lineage, chronology, role, event-type, workspace, and file selection have typed indexed equivalents.- The legacy
--jsonshortcut has been removed; use--format json. - Windsurf support was removed because its available source was hook-generated output rather than automatically discoverable native history.
- Trae support was removed because its history contract could not be supported reliably.
Contributors
Maintainer: @luca-ctx
External code contributors:
- @j2h4u: bounded provider imports, OpenClaw refresh efficiency, and OpenCode empty-value handling
- @rNoz: macOS path safety, Cursor and Copilot CLI source handling, Factory Droid discovery, and daemon upgrade recovery
- @rcny: Kimi streamed assistant content and corrected transcript semantics
- @createsomethingtoday: macOS stat metadata normalization
- @atharva-patill: source-backed indexing documentation
The Factory Droid discovery fix was integrated through a maintainer change and retains rNoz as its commit author.
Issue reports and product feedback also came from:
- @j2h4u, with 28 reports covering setup performance, large-corpus correctness, daemon recovery, incremental refresh, provider support, and progress, including #195, #306, #327, #506, #610, #614, and #619.
- @hampsterx: #171, #176, #177, #181, #247, #492
- @rNoz: #230, #248, #260, #261, #275, #277, #362
- @mrm007: #597, #621, #624
- @soichisumi: #158, #159
- @atharva-patill: #161, #164
- @xodn348: #60
- @mgitterle: #205
- @rafidka: #405
Thank you to everyone who tested ctx against real histories, reported failures, supplied benchmarks, and contributed fixes.
Full changelog
ctx 1.0 includes 391 merged PRs since v0.25.0.