Docs
Documentation
Guides, references, and resources for building with XMDB.
Documentation Menu
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:
gofmtgo test ./...(includesTestRecallEvalFTS)make smokepython3 -m unittest sdk/python/tests/test_conformance.pynode sdk/ts/test_conformance.js