Repository navigation
FathomDB 0.8.28
The changelog
has the full change and removal list.
Retrieval and application APIs
- Direct node/edge body FTS accepts SearchFilter across Rust, Python and
TypeScript, applied before candidate caps, deduplication, ranking and limit.
Attributes are node-scoped. Status/time need stored vector metadata; status
has an empty-string sentinel and time is inclusive projection time. - Independent include-superseded/include-inactive search flags preserve validity,
dependency and edge-expiry rules. Historical property filters use canonical
rows; incomplete dense history uses lexical fallback. - Native vec0 lifecycle/validity metadata replaces the whole-store eligibility
scan before KNN caps. Lexical query/ranking and bounded pending-work fixes
retain their documented limits. - Context pack, role-tagged round bodies, full-item overrides and open-time
stop words are available across the three SDKs. Context rendering is stateless;
item-text budgets count Unicode scalars and exclude headers/separators.
See filtering,
context packing and configuration.
MCP server exposure, including this filtered body FTS, belongs to planned 0.8.29.
Storage, provider admission and maintenance
Current fresh-store format is 37. It retains format35's 64-row vec0 chunks,
cursor-keyed FTS and UTF-8 head coverage, plus format36's persisted maintenance
policy, queue and fence metadata. Transaction-owned visibility coalescing retains
external-writer invalidation. Older formats, including36, are refused without migration.
Finish/export old stores with the matching old product, then re-ingest into a
fresh store. Head coverage is metadata, not chunked retrieval.
Production engines accept the pinned built-in provider or none. Caller-provider
injection is removed. Numerical mismatch and inability to verify are distinct
open errors returning no Engine; dense-disabled report fields/modes are removed.
Persistent acceptance caching retains its backend-drift limitation. Deliberate
no-provider access is mutable canonical/text access, not verification or certified
dense repair; no-provider dense rebuild has a known limitation.
Explicit maintenance is opt-in and persisted. Queueing leaves logical visibility
unchanged; an owned window excludes ordinary work during activation/cleanup.
Incomplete activated debt retains durable write fences and original-sink/WAL
requirements. No immediate revocation or completion deadline is promised.
Idle Autonomous maintenance confirms physical debt before reserving physical
service; debt-free primary contention no longer refuses foreground erasure.
Pending debt retains priority and genuine service contention refuses.
See erasure
and typed errors.
Python logging subscribers preserve lifecycle events while their bounded queue
has capacity and the logger is live and functioning. Full queues still report
dropped-record warnings.
Dependencies and platforms
The SQLite stack is rusqlite 0.41.1 / libsqlite3-sys 0.39.1 (SQLite 3.54.1)
with per-connection page caches, replacing the vendored SQLite crate. CUDA uses
qualified published cudarc-fathomdb 0.19.10 and Candle fork 0.11.0 dependencies;
the existing Candle-kernels git patch/linkage boundary remains explicit.
CUDA builds on AArch64 include the private Tegra pool; qualified AGX Orin builds
use it, while generic ARM64 native artifacts remain CPU-only. CUDA import/fork,
loaded-library and pool-setting limits remain in the
embedder guide. Supported CPU/native targets and exact runtime
pins are in compatibility. Existing performance
measurements are workload-specific evidence, not general SLAs or new platform
qualification. Release qualification is recorded in the
Slice 95 status.