Skip to content

Releases: GottZ/ctx

ctx v0.26.0

09 Apr 21:46
v0.26.0
ecd1936

Choose a tag to compare

v0.26.0 — MCP Remote Server + OAuth 2.1 PKCE + Client Management

MCP Streamable HTTP transport at /mcp, compatible with claude.ai and
Claude Code. Five tools: query (full retrieval pipeline with gravity
boost), store, search, get, recent (temporal listing).

OAuth 2.1 PKCE authorization flow for browser-based MCP clients:

  • /.well-known/oauth-authorization-server metadata
  • /authorize: HTML form, user authenticates with ctx API key
  • /token: PKCE code exchange, issues Bearer token

Client registration system (ctx mcp add/list/delete) with per-client
credentials stored in context_oauth_clients (Migration 023). Each
integration gets its own client_id, revocable independently.

Auth middleware now accepts both X-Context-Key and Authorization: Bearer.
Query handler backfills pending embeddings inline before search.
CLI query output formatted by default (--json for raw).
Block IDs included in source references (CLI + MCP).

Also includes: dream_mode removed from MCP (admin-only via CLI),
recent tool for temporal queries, Claude Chat MCP feedback applied.

Installation

With Go:

go install github.com/GottZ/ctx/cmd/ctx@v0.26.0

Binary download:
Download the binary for your platform, make it executable, move to PATH:

chmod +x ctx-*
sudo mv ctx-* /usr/local/bin/ctx

ctx v0.25.3

09 Apr 20:47
v0.25.3
c01cf07

Choose a tag to compare

v0.25.3 — Query-time embedding backfill + model docs update

Query handler auto-backfills pending embeddings before RRF search.
Blocks stored via /api/store are immediately searchable on the next
query, without waiting for the scheduler backfill loop.

Race-safe: concurrent backfill by scheduler and query handler is
idempotent (StoreEmbedding is a plain UPDATE, last write wins).

Also updated "Context Store — Aktive Modelle" knowledge block to
reflect current per-pipeline model configuration (qwen3.5:27b for
Dream, llama.cpp sidecar for Dream embeds).

Installation

With Go:

go install github.com/GottZ/ctx/cmd/ctx@v0.25.3

Binary download:
Download the binary for your platform, make it executable, move to PATH:

chmod +x ctx-*
sudo mv ctx-* /usr/local/bin/ctx

ctx v0.25.2

09 Apr 20:35
v0.25.2
22d55b1

Choose a tag to compare

v0.25.2 — Dream stats fix, CLI polish, duration parsing

  • Dream stats exclude snapshot blocks from total/checked counts,
    consistent with PickBlock filter. Fixes misleading "unchecked" count.
  • Dream idle wait log promoted from DEBUG to INFO for observability.
  • CLI: "tr" alias for dream throttle (ctx dr tr 20).
  • CLI: bare integers accepted as seconds in duration args (20 = 20s).

Installation

With Go:

go install github.com/GottZ/ctx/cmd/ctx@v0.25.2

Binary download:
Download the binary for your platform, make it executable, move to PATH:

chmod +x ctx-*
sudo mv ctx-* /usr/local/bin/ctx

ctx v0.25.1

09 Apr 20:13
v0.25.1
8fd6e49

Choose a tag to compare

v0.25.1 — Dream CLI subcommands + rename silent to throttled

New CLI commands for runtime dream mode control:
ctx dream enable — full throttle (back-to-back cycles)
ctx dream disable — off for maintenance/dev
ctx dream throttle — throttled mode (default 20s GPU cooldown)
ctx dream throttle 60s — throttled with custom interval

ctx dream (stats) now shows dream_mode and dream_interval inline.
Renamed "silent" to "throttled" across API, CLI, and internals for clarity.

Installation

With Go:

go install github.com/GottZ/ctx/cmd/ctx@v0.25.1

Binary download:
Download the binary for your platform, make it executable, move to PATH:

chmod +x ctx-*
sudo mv ctx-* /usr/local/bin/ctx

ctx v0.25.0

09 Apr 19:44
v0.25.0
bde884d

Choose a tag to compare

v0.25.0 — Async embedding backfill, dream mode control, handler decoupling

Embedding generation decoupled from HTTP request path. Store, Manage, and
Ingest endpoints return immediately — scheduler backfill loop generates
embeddings asynchronously. Store latency drops from ~10s to ~30ms.

Dream mode runtime control via API (action "dream-mode"):

  • on: full throttle, back-to-back cycles
  • silent: GPU cooldown throttle between LLM calls (configurable, default 20s)
  • off: dream disabled for maintenance

Idle wait configurable via CTX_DREAM_IDLE_WAIT env var (default 20s).
Dream audit log enriched with per-link details (target_id, relationship, confidence).

Installation

With Go:

go install github.com/GottZ/ctx/cmd/ctx@v0.25.0

Binary download:
Download the binary for your platform, make it executable, move to PATH:

chmod +x ctx-*
sudo mv ctx-* /usr/local/bin/ctx

ctx v0.24.0

09 Apr 16:56
v0.24.0
7b75267

Choose a tag to compare

v0.24.0 — Dual-Protocol Wire Format + Dream Temporal Validation + CPU Embedding Sidecar

Dual-protocol inference: per-pipeline CTX_*_PROTOCOL env var selects
"ollama" (/api/chat, /api/embed — supports think, num_ctx) or
"openai" (/v1/chat/completions, /v1/embeddings — any provider).

Dream Temporal Validation: new pipeline step between PickBlock and
keyword extraction. Phase 1 (deterministic): re-extract dates, fix
missing dimensions. Phase 2 (LLM): extract explicit dates, detect
false positives (percentages, version numbers), return directional
references (past/future) without fabricating dates.

CPU Embedding Sidecar: Dream keyword embeddings can run on a separate
llama.cpp instance via CTX_DREAM_EMBED_HOST + CTX_DREAM_EMBED_PROTOCOL=openai.
Frees GPU for query-path embedding + synthesis. Verified live: llama-embed
receives POST /v1/embeddings from ctx container over internal Docker network.

Bug fixes:

  • B02: ValidateTemporal no longer hallucinates dates (estimate removed)
  • B03: EvaluateRelationships propagates parse errors (1-day retry vs 14-day)
  • B04: ListMeta LIMIT 10000, composite index (Migration 022)
  • B05: Health check pings all pipeline hosts (embed/chat/dream)
  • B06: CTX_RATE_LIMIT_WRITE + CTX_RATE_LIMIT_READ env-configurable
  • Dream embedNumCtx from config (was 0 causing 32k context load)

New eval: T04 LLM temporal fallback test. 47 total eval tests.
22 SQL migrations. 536+ Go test functions.

Installation

With Go:

go install github.com/GottZ/ctx/cmd/ctx@v0.24.0

Binary download:
Download the binary for your platform, make it executable, move to PATH:

chmod +x ctx-*
sudo mv ctx-* /usr/local/bin/ctx

ctx v0.23.1

09 Apr 12:47
v0.23.1
895858d

Choose a tag to compare

v0.23.1 — Remove OLLAMA_* backward compatibility

Clean break: all OLLAMA_* env vars removed from config, docker-compose,
and .env.example. Pre-1.0 — no backward compatibility needed.

Canonical env vars are now CTX_EMBED_, CTX_CHAT_, CTX_DREAM_*.
See .env.example for full reference with openssl secret generation
and cloud provider examples (Claude, Groq, Gemini).

Breaking: OLLAMA_* env vars no longer read. Migrate .env to CTX_*.

Tests: 536 Go unit tests, 16/16 test.sh, 46/46 eval.sh.

Installation

With Go:

go install github.com/GottZ/ctx/cmd/ctx@v0.23.1

Binary download:
Download the binary for your platform, make it executable, move to PATH:

chmod +x ctx-*
sudo mv ctx-* /usr/local/bin/ctx

ctx v0.23.0

09 Apr 10:53
v0.23.0
cd45b78

Choose a tag to compare

v0.23.0 — Per-Pipeline Provider Config + FTS Precision

Independent inference configuration for each pipeline (Embed, Synthesis, Dream).
Each pipeline has its own host, API key, model, think mode, and context size.
OLLAMA_* env vars still supported as fallback.

What's new:

  • Per-pipeline ENV: CTX_EMBED_HOST/API_KEY/MODEL, CTX_CHAT_, CTX_DREAM_
  • CTX_TIMEZONE for correct temporal resolution in non-UTC deployments
  • FTS expansion stripped to ISO dates + YYYY-MM only (75% False-Positive-Rate
    from weekday/month names empirically measured and eliminated)
  • 18/18 temporal matchers with isolated unit tests (536 Go test functions)
  • Temporal eval category (3 new tests, 46/46 total)
  • T09 DimensionWeights corrected for weekday disjunctions
  • .project/ moved to private git submodule (GottZ/ctx-project)
  • CLAUDE.md reduced to public minimum (51 lines)

Provider readiness:
All LLM/Embed functions accept apiKey parameter. Authorization Bearer header
is set when apiKey is non-empty — ready for Claude, Gemini, Groq, or any
OpenAI-compatible provider alongside local Ollama.

Tests: 536 Go unit tests, 16/16 test.sh, 46/46 eval.sh (0 regressions).

Installation

With Go:

go install github.com/GottZ/ctx/cmd/ctx@v0.23.0

Binary download:
Download the binary for your platform, make it executable, move to PATH:

chmod +x ctx-*
sudo mv ctx-* /usr/local/bin/ctx

ctx v0.22.1

06 Apr 22:47
v0.22.1
7dfeb1e

Choose a tag to compare

v0.22.1 — Configurable Embedding Context Size

OLLAMA_EMBED_NUM_CTX replaces the need for custom Ollama Modelfile
variants to control embedding model VRAM usage. Users can now set
context size via environment variable instead of maintaining a
separate model tag (e.g. qwen3-embedding:8b-ctx2k).

Setting OLLAMA_EMBED_NUM_CTX=2048 with the standard qwen3-embedding:8b
model reduces VRAM from 13.3 GB to 5.7 GB — identical to the previous
custom Modelfile approach, but portable and user-configurable.

New env var:

  • OLLAMA_EMBED_NUM_CTX (0 = model default, omitted from request)

num_ctx is threaded through the embed package to all handlers
(query, store, manage, ingest). Dream keyword embeddings use the
model default (keywords are short, context size irrelevant).

Installation

With Go:

go install github.com/GottZ/ctx/cmd/ctx@v0.22.1

Binary download:
Download the binary for your platform, make it executable, move to PATH:

chmod +x ctx-*
sudo mv ctx-* /usr/local/bin/ctx

ctx v0.22.0

06 Apr 22:35
v0.22.0
d0672c9

Choose a tag to compare

v0.22.0 — Dual-Model Dream Architecture

Dream Mode can now use a separate, larger model for background
cross-referencing while synthesis stays on the fast model. Evaluated
10 Gemma models — qwen3.5 family remains unbeaten. qwen3.5:27b is the
only model to pass all 4 dream tests including causal relationship
detection.

Per-function LLM configuration:

  • OLLAMA_DREAM_MODEL (separate model for dream evaluation)
  • OLLAMA_DREAM_NUM_CTX / OLLAMA_CHAT_NUM_CTX (per-function context)
  • OLLAMA_DREAM_THINK / OLLAMA_THINK (per-function think mode)
  • Removed global ThinkMode — think *bool threaded through full chain

Continuous dream loop:

  • Replaced 10s ticker with back-to-back processing
  • 120s idle wait when no blocks available
  • 2s yield to active queries (demand interruption)
  • 10s pause on error to prevent tight loops

Gemma evaluation results (Session 21):

  • 10 models tested (gemma3:4b/12b/27b, gemma3n:e2b/e4b,
    gemma4:e2b/e4b/26b/31b, embeddinggemma)
  • Best Gemma for dream: gemma4:e2b (3/4), but only 80% synthesis KW
  • Larger models consistently worse (gemma3:12b 0/4, gemma4:31b 0/4)
  • gemma4:26b initially scored 0/4 due to markdown fence wrapping
    (format:"json" not respected); actual quality 2/4 after strip

VRAM budget (24 GB Quadro RTX 6000):

  • Query path: qwen3-embedding:8b (5.3 GB) + qwen3.5:9b (9.3 GB) = 14.6 GB
  • Dream path: qwen3.5:27b (22.2 GB at num_ctx=16384) — Ollama swaps

Installation

With Go:

go install github.com/GottZ/ctx/cmd/ctx@v0.22.0

Binary download:
Download the binary for your platform, make it executable, move to PATH:

chmod +x ctx-*
sudo mv ctx-* /usr/local/bin/ctx