Skip to content

Releases: Entrolution/causantic

v0.10.2

13 Mar 19:34
f93cb85

Choose a tag to compare

Added

  • Shared bootstrap() function (src/config/bootstrap.ts): Single entry point for configuration initialization — calls loadConfig()toRuntimeConfig()initRuntimeConfig(), returns the resolved config, idempotent. Eliminates the recurring pattern where entry points independently chain these calls (or forget to).
  • resetRuntimeConfig() in memory-config.ts: Test-only function to clear the runtime config cache.

Changed

  • Entry point config initialization: All 4 entry points (src/mcp/server.ts, src/dashboard/server.ts, src/hooks/session-start.ts, src/cli/commands/init/ingest.ts) now use bootstrap() instead of inline initRuntimeConfig(toRuntimeConfig(loadConfig())). The ingest command was also missing initRuntimeConfig() entirely — getConfig() would have returned bare defaults instead of user config.
  • SECURITY.md: Updated supported versions to >= 0.10.2.

Tests

  • 32 new tests across 3 new/updated test files:
    • test/config/memory-config.test.ts (13 tests): initRuntimeConfig/getConfig cache lifecycle, deep-merge for all 7 nested config objects, override immutability, idempotency.
    • test/config/loader.test.ts (+15 tests): Empty string env vars, NaN handling, clusterHour range validation (−1, 0, 12, 23, 24), halfLifeHours validation (−1, 0, 48), decayFactor validation (−0.1, 0, 0.95).
    • test/config/bootstrap.test.ts (4 tests): Config resolution, idempotency, return value, CLI override passthrough.
  • 2589 tests passing.

What's Changed

Full Changelog: v0.10.1...v0.10.2

v0.10.1

13 Mar 16:38
0639167

Choose a tag to compare

What's Changed

Full Changelog: v0.10.0...v0.10.1

v0.10.0

12 Mar 18:17
819385c

Choose a tag to compare

Highlights

  • Structural repo map: Tree-sitter-powered codebase analysis with 22 language support (12 tree-sitter + 10 regex fallback). New repomap MCP tool for on-demand structural orientation.
  • Session state capture: Structured extraction of files touched, errors, outcomes, and tasks during ingestion. New briefing mode for reconstruct.
  • Keyword-first retrieval: BM25 keyword search is now primary. Vector search demoted to optional enrichment. Embedding no longer required during ingestion.
  • Summary-augmented recall: Session summaries searched before chain walking for better "why did we choose X?" answers.

See CHANGELOG.md for full details.

What's Changed

Full Changelog: v0.9.4...v0.10.0

v0.9.4

04 Mar 23:39
ff69520

Choose a tag to compare

What's Changed

Full Changelog: v0.9.3...v0.9.4

v0.9.3

04 Mar 14:28
e811117

Choose a tag to compare

v0.9.2 — Budget-aware retrieval

  • Budget-aware MMR selection: The MMR greedy loop tracks a running token budget, excluding candidates that would exceed it at each step
  • Budget-aware chain formatting: Chain output assembly drops chunks exceeding the remaining budget — no partial chunks returned
  • Oversized chunk filtering: Chunks individually larger than the query's token limit are excluded from search (pre-MMR) and passed through in chains (graph connectivity preserved, excluded from output and median score)
  • Length penalty token extraction: Refactored for reuse across size filter and MMR budget map

v0.9.3 — Documentation fixes

  • Remove incorrect claim that predict uses half the token budget
  • Add missing list-sessions limit parameter to MCP tools reference
  • Document retrieval.feedbackWeight and lengthPenalty config sections
  • Update stale version in stats example output

2038 tests passing.

What's Changed

Full Changelog: v0.9.1...v0.9.3

v0.9.1

04 Mar 11:09
585e43b

Choose a tag to compare

Fixed

  • Token budget overhead: Search and reconstruction assemblers now reserve space for formatting overhead (per-chunk headers, separators, response diagnostics) before chunk assembly, preventing responses from exceeding stated token budgets by 5-15%.
  • Node version mismatch detection: Hook runner now detects NODE_MODULE_VERSION errors and surfaces actionable guidance ("run: npm install -g causantic") instead of the generic "internal error" message. These errors are also excluded from transient error retries.

Changed

  • Skill template memory queries: Roadmap skill reduced from 10 parallel queries at 8K tokens each (80K total) to 4 sequential queries at 4K (16K cap). Cleanup skill reduced from 4 parallel queries at 8K (32K) to 3 sequential queries at 4K (12K cap) with a 2K summarization step before passing to subagents. Both changes address "prompt is too long" failures.
  • list-sessions truncation: Added limit parameter (default 30) to the list-sessions MCP tool. When results exceed the limit, displays the most recent sessions with a truncation notice.
  • batch-ingest post-run guidance: Output now includes a "Next steps" section recommending npx causantic maintenance run update-clusters to generate topic clusters from ingested sessions.

Full Changelog: v0.9.0...v0.9.1

v0.9.0

27 Feb 02:26
9e53512

Choose a tag to compare

Added

  • Dashboard retrieval analytics: New analytics section on the Overview page surfaces retrieval feedback data that was previously collected but never visualized. Addresses 4 observability gaps identified in the system audit:
    • Tool call frequency: Horizontal bar chart showing MCP tool usage breakdown (search, recall, predict, etc.)
    • Retrieval volume over time: Weekly time series of retrieval activity
    • Top retrieved chunks: Table of the 10 most-retrieved chunks with project, preview, token count, and retrieval count — surfaces dominant-chunk problems
    • Chunk size distribution: Vertical bar chart of chunk token-count buckets (0-200, 201-500, 501-1K, 1K-2K, 2K-5K, 5K+) for validating length penalty tuning
    • Per-project retrieval quality: Projects page now shows Retrievals and Unique Queries columns alongside existing chunk counts
    • Stat cards: Total Retrievals, Unique Queries, and Top Tool summary cards
  • ToolUsageChart component: D3 horizontal bar chart for tool usage data
  • SizeDistribution component: D3 vertical bar chart for chunk size buckets

Changed

  • GET /api/stats: Response now includes an analytics object with toolUsage, retrievalTimeSeries, topChunks, projectRetrievals, sizeDistribution, and totalRetrievals. Gracefully returns empty arrays and 0 when no feedback data exists.
  • GET /api/projects: Each project now includes retrievals and uniqueQueries fields (default 0).
  • SECURITY.md: Updated supported versions to >= 0.9.0.

Tests

  • 4 new route tests: empty analytics, populated analytics with feedback data, zero retrieval counts on projects, per-project retrieval counts.
  • 2031 total tests passing.

What's Changed

Full Changelog: v0.8.2...v0.9.0

v0.8.2

25 Feb 22:48
4c026ff

Choose a tag to compare

Fixed

  • Worktree sessions fragment project identity: When Claude Code runs in a worktree (isolation: "worktree", introduced in v2.1.47), hook stdin reports the worktree path (e.g., /tmp/claude-worktree-abc123/) as cwd. All entry points now resolve worktree paths back to the main repository via git worktree list --porcelain with a .git file parsing fallback. Project identity is consistent across worktree and non-worktree sessions.

Added

  • src/utils/project-path.ts: New utility — resolveCanonicalProjectPath(cwd) detects linked worktrees, resolves to the main repo path, and caches results. 500ms timeout, submodule-safe.
  • Claude Code Compatibility section in integration guide: Documents worktree resolution, CLAUDE_CODE_SIMPLE mode, enterprise disableAllHooks, and future hook events.

Tests

  • 11 new tests for worktree path resolution (unit + integration with real git worktree)
  • 2066 total tests passing

See CHANGELOG.md for full details.

What's Changed

Full Changelog: v0.8.1...v0.8.2

v0.8.1

22 Feb 23:14
c7643ab

Choose a tag to compare

What's Changed

Changed

  • Reduced code duplication: Extracted sqlPlaceholders() and errorMessage() utilities, store delegation patterns (insertChunkinsertChunks, createEdgecreateEdges), and shared ingestionHookCli() for hook CLI entry points. 20 files changed, -25 net lines.
  • Dashboard dependency: Bumped lucide-react from ^0.469.0 to ^0.575.0.

Fixed

  • 28 documentation accuracy issues across 12 files: edge topology, missing config options and env vars, missing CLI command (reindex), stale hook config format, missing API routes, and more.

Removed

  • Stale artifacts: Deleted broken hdbscan-benchmark.ts and unused labeled-pairs.json fixture.

Full Changelog: https://github.com/Entrolution/causantic/blob/main/CHANGELOG.md#081---2026-02-22

What's Changed

Full Changelog: v0.8.0...v0.8.1

v0.8.0 — Multi-Path Chain Walking

22 Feb 22:08
688d550

Choose a tag to compare

Changed

  • Multi-path chain walking: Replaced greedy single-path traversal (walkSingleChain + pickBestEdge) with DFS backtracking (walkAllPaths). At branching points (agent transitions, cross-session links), all paths are now explored and emitted as candidates. selectBestChain() picks the best from a richer candidate set. Linear chains (out-degree 1) produce identical results to the previous algorithm.
  • Per-seed independence: Removed global visited set across seeds. Each seed now explores independently with per-path visited sets, allowing different seeds to traverse shared nodes.
  • Agent filter scoping: consecutiveSkips counter is now scoped per recursive frame (passed as parameter), not shared across backtracking paths.

Added

  • maxCandidatesPerSeed option (default: 10) — caps emitted chains per seed
  • maxExpansionsPerSeed option (default: 200) — bounds total DFS recursive calls per seed
  • Score memoizationscoreNode() results cached per seed walk

Tests

  • 10 new multi-path tests, 2 updated existing tests
  • 2053 total tests passing

What's Changed

Full Changelog: v0.7.2...v0.8.0