Skip to content

Releases: raphasouthall/neurostack

v0.13.0 — Remove vault_capture

05 May 14:05

Choose a tag to compare

Breaking change

Removed vault_capture MCP tool and neurostack capture CLI command.

The tool wrote directly to {vault_root}/inbox/ without git tracking, indexing, or any path back to origin. In runtimes where the vault is a read-replica (e.g. an indexer container pulling from git), captured files were stranded on the replica's filesystem and invisible to every other tool — including NeuroStack's own search and ask. The architectural promise that your Markdown files are never modified had a single, surprising exception; this release restores it.

Migration

Drop captured thoughts into your vault using your editor, your shell, or any tool that produces Markdown. The inbox/ folder convention is unchanged — only the built-in writer is removed.

Removed surfaces

  • vault_capture(content, tags) MCP tool
  • neurostack capture <thought> CLI subcommand
  • capture_thought() and _make_slug() library functions (src/neurostack/capture.py deleted)
  • CloudClient.vault_capture()
  • vault_capture dispatch entry and manifest tool entry
  • tests/test_capture.py

Tool count

NeuroStack now exposes 20 MCP tools (was 21).


Full changelog: https://github.com/raphasouthall/neurostack/blob/main/CHANGELOG.md

v0.11.1 — Critical Bugfix Release

27 Mar 09:45

Choose a tag to compare

Critical fixes from 10-agent stochastic audit

Security

  • OAuth PKCE verification/oauth/token never verified code_verifier against the stored code_challenge, making PKCE completely broken. Auth codes are now opaque, PKCE-bound, one-time-use tokens with 10-minute TTL. Redirect URI validation added against registered clients.

Billing

  • MCP rate limiting tier resolution — All MCP tool calls hardcoded tier: "free", causing pro/team users to be incorrectly throttled. Tier is now resolved from Firestore for all 9 rate-limited tools.

Data Integrity

  • Cloud sync _merge_memories data lossINSERT OR REPLACE silently deleted embeddings, revision counts, and merge history on UUID conflict. Replaced with INSERT ... ON CONFLICT DO UPDATE SET to preserve existing fields. Fixed ttl_hoursexpires_at column mismatch. Switched from raw sqlite3.connect() to get_db() for proper WAL mode and busy timeout.

Developer Experience

  • embed_url default port — Default was 11435 (off-by-one from Ollama's standard 11434), causing embeddings to silently fail. Fixed in config, install scripts, and docs.
  • vault-template not packaged in wheelneurostack demo, neurostack init, and all profession packs were broken on pip installs. Templates now ship inside the package with a fallback to repo root for dev checkouts.

Housekeeping

  • Synced server.json and manifest.json versions to 0.11.1

Full Changelog: v0.11.0...v0.11.1

v0.11.0

26 Mar 22:36

Choose a tag to compare

Full Changelog: v0.10.4...v0.11.0

v0.10.4 — Phase 1 Cloud Sync Foundation

26 Mar 19:30

Choose a tag to compare

Phase 1: Cloud Sync Foundation

Client-side infrastructure for the sync pipeline.

Bug Fixes

  • Fixed ghost entriespush() now transmits diff.removed file list to the server, so deleted vault files are purged from the cloud index

New Features

  • CloudClient 21-tool parity — all MCP tools now work in cloud mode via REST dispatch
  • Cloud dispatch layer — automatic mode-based routing (local SQLite vs cloud API)
  • Init default flipped to cloud mode — new users default to cloud; existing users unaffected
  • API contract v2 spec — full specification for 9 sync endpoints (upload, sync, query, delete, download, memories, artifacts, push-lock, db-version)

Stats

  • 9 new tests (299 total, 0 regressions)
  • ~1,800 new LOC across 9 files
  • Requires neurostack-cloud >=0.9.1 for full sync features (backwards-compatible with v0.9.0)

v0.10.3 — Windows support

26 Mar 11:27

Choose a tag to compare

New Features

  • Windows support — NeuroStack can now be installed and run on Windows via npm install -g neurostack

Installation layer (npm)

  • Added win32 to supported platforms
  • uv auto-install uses .zip download + PowerShell Expand-Archive on Windows
  • Fallback installer uses PowerShell (irm | iex) instead of sh
  • command -v replaced with where for command lookup
  • CLI wrappers created as .cmd batch files instead of bash scripts
  • Platform-aware PATH separator, config directories, and setup instructions

Python runtime

  • Config and data directories use AppData\Local\neurostack on Windows
  • CLI wrapper creation produces .cmd files on Windows
  • VS Code session harvesting uses %APPDATA%\Roaming\Code\User on Windows

Bug Fixes

  • vault_search depth="full" validation error fixed (from v0.10.2)

Full Changelog

v0.10.2...v0.10.3

v0.10.2 — Fix vault_search full-depth validation

26 Mar 10:46

Choose a tag to compare

Bug Fixes

  • fix(mcp): wrap vault_search full-depth return in dict — The depth="full" code path returned a list instead of a dict, causing Pydantic output validation to fail. This was the last remaining case missed by the list-to-dict fix in v0.10.1 (commit 0d6a751). All other depth modes (auto, triples, summaries) were unaffected.

Full MCP Tool Audit

All 21 MCP tools tested end-to-end. 20/21 passed — the only failure was the bug fixed above.

v0.10.1 — Unified init command

25 Mar 23:22

Choose a tag to compare

What's New

One-command setup

neurostack init now handles the entire onboarding flow:

npm install -g neurostack
neurostack init

The interactive wizard walks through:

  1. Cloud or Local? — cloud uses Gemini, local uses Ollama
  2. Lite or Full? — lite = FTS5 only, full = embeddings + summaries + communities
  3. Ollama models — choose embedding and LLM models, auto-pull
  4. Vault path + profession pack — point to existing notes or start fresh
  5. LLM endpoint config — works with any OpenAI-compatible provider
  6. Full index pipeline — automatically runs summaries, triples, and community detection

Non-interactive mode for scripted use:

neurostack init --mode full --pull-models ~/brain
neurostack init --cloud ~/brain

neurostack install deprecated

Still works but prints a notice pointing to neurostack init.

Bug fixes from v0.10.0

  • Fixed Pydantic validation errors in vault_triples, vault_memories, and vault_related MCP tools (wrapped list returns in dict)

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

v0.10.0 — Neuroscience-grounded ranking & community detection

25 Mar 22:33

Choose a tag to compare

What's New

Neuroscience-grounded reranking (replaces cross-encoder)

Three new scoring signals in hybrid_search, using only existing embeddings in SQLite — zero external models, zero network calls:

  • Energy landscape convergence confidence — measures how representative the matched chunk is of its note's overall embedding distribution. Based on Hopfield attractor basin dynamics: deep narrow wells (low chunk variance) score higher than broad shallow ones.
  • Lateral inhibition — winner-take-all diversity penalty. Higher-ranked results suppress semantically similar competitors, promoting result diversity. Mirrors PV+/SOM+ inhibitory interneuron function during engram allocation.
  • Prediction error demotion — notes with unresolved prediction errors (previously observed poor semantic fit) are demoted. Closes the predictive-coding feedback loop: errors logged at retrieval time now influence future ranking.

Attractor basin community detection (replaces Leiden)

Hopfield-style attractor dynamics replace the Leiden algorithm for community detection:

  • Blended similarity matrix: S = 0.6·cosine + 0.25·co-occurrence + 0.15·wikilinks — richer signal than Leiden's entity co-occurrence alone
  • Inverse temperature β controls granularity: β=0.5 for coarse themes, β=2.0 for fine sub-themes
  • Lateral inhibition merges singleton communities into nearest neighbours

Dependencies removed

Dependency License Why removed
sentence-transformers MS MARCO (non-commercial) Replaced by native scoring signals
leidenalg GPL-3.0 Replaced by attractor basin clustering
python-igraph GPL-2.0+ No longer needed

The [community] optional dependency tier is eliminated — communities now work with just [full] (numpy only).

Install mode simplification

neurostack install now offers two modes instead of three:

  • Lite — FTS5 search + graph, no ML
  • Full — + embeddings, summaries, communities

Full Changelog: v0.9.5...v0.10.0

v0.9.5

25 Mar 12:35

Choose a tag to compare

Full Changelog: v0.9.4...v0.9.5

v0.9.4

25 Mar 10:57

Choose a tag to compare

Full Changelog: v0.9.2...v0.9.4