Skip to content
dimple init template fixed — alpha.5’s template used baseUrl;
the schema requires baseURL, so every command after a fresh init
failed validation. The template now decodes as a valid config as-is
(zero env vars), and the llm section ships commented out
(regression-guarded by tests/cli/init-config.test.ts)
- First-boot directory races fixed — the jobs DB client and the
logging file sink now create their parent directory lazily before
connecting/opening (the store’s dir creation was not ordered before
them — fresh boots could fail with SQLITE_CANTOPEN / ENOENT)
- 32a099b: - Blue-green config reload —
dimple.reload(input) validates
the new config typed, pauses new calls, boots the new stack, drains
in-flight work (30s cap), and swaps atomically; a failed boot leaves the
old stack untouched; identical configs resolve as { reloaded: false }
- Index upsert lifecycle — re-indexing a changed file supersedes the
old unit with a confirmed identity edge (one transaction); stable
chunk keys (line-independent); cwd-anchored keys; content-identical
skips keep their embeddings and stranded units re-embed in place
Store.reconcile — deleted files AND removed definitions demote
(source_removed); rename/move candidates surface as pending
supersedes (rule near-duplicates); currentCommit provenance
stamping (codeVersion metadata, backfilled on re-index); code units
are TTL-exempt
code_calls edges — the extractor emits call sites; same-file and
imported-file resolution links callers to callees (index-derived
only, not authorable on the facade)
- Query context budgets —
query(text, { budget: { maxUnits, maxChars, maxMs } }) with results.truncated; CLI
--max-units/--max-chars/--max-ms
- Edge review surface —
graph confirm|reject|expire <edge-id>
(CLI + facade, Sdk.EdgeNotFound); explain --edge-kind; the
graphNeighbors expired-edge bug fixed
- Zero postinstall scripts on default installs — transformers is an
optional peer, auto-installed on first use (
autoInstall: false to
opt out); hosted providers need nothing
- Turso remote databases —
libsql:// store/jobs URLs with
${ENV_VAR} token resolution; one remote DB serves memories + jobs
- CLI stdout is data-only — console logs route to stderr;
--json
is compact (embeddings omitted, --embedding opts in); text results
carry [contentType] tags; dimple db-schema prints the
table/column map; dimple init writes the full annotated schema;
stats/health/graph coverage default to the config model
profile: "semantic" | "keyword" works — pure-leg weights; the
retrieval audit records the effective mode; every query emits a sync
hybrid.search log line
addEdge(confirmed) supersedes flips the old memory in the same
transaction; get/forget/updateEmbedding resolve logical keys;
query-time contentType filter on both search legs
- Worker-ready bundles —
node:fs loads lazily across
store/config/workflow/logger; edge runtimes (Cloudflare Workers)
build without a filesystem service
- 98fb80b: - Hosted embedding providers — any OpenAI-compatible endpoint
(OpenAI, ollama, vLLM, org-hosted gateways via per-model
baseURL),
plus native Google (gemini-embedding-2), Cohere and Amazon Bedrock
providers; dimensions sent to the endpoint and enforced on the output
- Per-model transformers runtime options —
device, full dtype
list (fp32/fp16/q8/int8/uint8/q4/bnb4/q4f16/q2/q2f16/q1/q1f16),
pooling, normalize, cacheDir
- DB-level vector quantization —
vectorType (float8 verified
4× smaller: 395 B vs 1536 B for 384-dim; float16/float1bit seams);
topic centroids pinned to float32, dequantization on read
- Multi-model switching — per-model trees + vector tables coexist;
memory.embed backfill re-embeds existing memories into a new model’s
tree (idempotent, durable)
- CLI
--version now reads the real package version
- Tag-based publishing —
v<version> tags trigger verified npm
publishes (tag must match both package.json versions); pushes to
master never publish
- Packaging — CHANGELOG.md shipped in tarballs; fully self-contained
type declarations; extensive package READMEs (problem/approach, topic
tree, dream mode, concepts, full config reference, storage & logs)
- CLI –version now reads the real package version (was hardcoded).
- Per-model embedding options (device/dtype/pooling/normalize/cacheDir), full transformers dtype list, DB-level vector quantization (vectorType), package READMEs.