Docs

Documentation

Guides, references, and resources for building with XMDB.

Eval & Testing

Deterministic verification steps for XMDB packs, SDKs, and CI gates.

Recall eval gate

TestRecallEvalFTS is the deterministic recall gate that runs in CI as part of go test ./.... It spins up an in-memory XMDB instance, ingests fixture data, runs 12 queries, and fails the build if Recall@3 drops below 80%.

Run it locally:

bash
go test ./internal/server/ -run TestRecallEvalFTS -v

Run the live eval harness (requires running xmdbd + ingested data):

bash
make eval

Deterministic conformance gate

The conformance suite validates deterministic pack generation and SDK verification.

Run locally (xmdbctl)

Start a daemon with deterministic settings:

bash
export XMDB_ENCRYPTION_KEY="$(printf '0123456789abcdef0123456789abcdef' | base64)"
export XMDB_QUERY_MODE=fts
export XMDB_SIGN_PACKS=true
export XMDB_SIGNING_KEY_ED25519_B64="AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE="
export XMDB_SIGN_EVENTS=false
export XMDB_VERIFY_EVENT_SIGS=false
go run ./cmd/xmdbd

Create a token and run conformance:

bash
TOKEN_JSON="$(go run ./cmd/xmdbctl token create --base http://localhost:8080 --workspace demo-ws --scope demo-scope --scopes "capture,query,pack,pins:read,pins:write,sync:push,sync:pull,admin" --token "$XMDB_API_TOKEN")"
export XMDB_API_TOKEN="$(printf '%s' "$TOKEN_JSON" | sed -n 's/.*"token":"\([^"]*\)".*/\1/p')"
go run ./cmd/xmdbctl conformance --base http://localhost:8080 --workspace demo-ws --scope demo-scope --sign --fts --token "$XMDB_API_TOKEN"

Shortcut after xmdbctl smoke:

bash
go run ./cmd/xmdbctl smoke --base http://localhost:8080 --workspace demo-ws --scope demo-scope --token "$XMDB_API_TOKEN" --conformance --conformance-sign --conformance-fts

SDK verification

bash
python3 -m unittest sdk/python/tests/test_conformance.py
node sdk/ts/test_conformance.js

CI enforcement

The CI workflow runs:

  • gofmt
  • go test ./... (includes TestRecallEvalFTS)
  • make smoke
  • python3 -m unittest sdk/python/tests/test_conformance.py
  • node sdk/ts/test_conformance.js

Ready to add durable memory?

Get started with XMDB today.