Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
searchbench — chat message search at scale (#13534)
Regression benchmark for corpus-wide chat message search: Postgres FTS
(websearch_to_tsquery + ts_rank_cd) with a pg_trgm partial-word fallback,
measured against a real ≥10,000-message PGlite store. Follow-up to the
shallow ILIKE keyword search shipped in #9955.
What it proves
Retrieval quality over a labeled gold set of edge cases (multi-word
non-adjacent, partial-word/trigram, accent fold, quoted phrase vs OR, URL,
emoji, CJK, attachment filename, near-duplicate, and the older-than-any-recency-
window hit): precision@10, recall@10, MRR, nDCG@10.
Latency of the index-backed hot path: p50 / p95 / max query time. The
searchable document is a STORED generated column (message_search_document),
so no query recomputes the fold/attachment function per row. The latency
budget is capability-aware: with pg_trgm the partial/substring fallback is a
trigram-GIN index scan (tight budget, cloud/production); without it (the
bundled PGlite build) that fallback scans the stored column (relaxed budget,
~10x slower under WASM). Both still catch the pre-materialization
O(n)-recompute regression that made p95 ≈ 11s.
Index build time (REINDEX of the FTS GIN index on the full corpus).
Honesty contract
A metric is measured:true only when a real searchMessages call against the
real store produced it. Unmeasured metrics are null, never 0 — a fabricated
zero recall would silently pass a budget. The run exits non-zero when a measured
budget in budgets.json regresses; it exits 2 (nothing measurable) only on a
genuine environment failure, never as a false green.