Releases: TsukumoHQ/trovex
Releases · TsukumoHQ/trovex
Release list
v0.15.0 — serve write-path hardening + blind-judged eval harness
Fix-heavy release. Everything under "serve write path" was root-caused on a live multi-agent store where trovex_write and trovex_search timed out at 30s while the process sat at 300-400% CPU. Each entry names the actual cause.
Fixes — trovex serve write path
- SQLite write concurrency: WAL mode,
busy_timeout, and retry/backoff onSQLITE_BUSYforput/delete. Two agents (or two devs on one store) writing at the same time no longer fail with "database is locked". (ebd5f60) - Stranded write transactions no longer wedge the store. A client disconnect mid-request, or a KNN query with k > 4096, used to leave an open write transaction holding the lock. (2a54453)
- MCP tool handlers run off the event loop. Every
@mcp.tool()ran inline, so one slow DB call froze every other MCP request. (33ca98a) Same fix for FastAPI's own routes, confirmed from a thread dump of the wedged process. (2af4cee) Same fix for@mcp.resourcehandlers, the last inline path. (d3b0cd6) - Reindex is single-flight and readers stay responsive while it runs.
/api/reindexno longer executes inline on the event loop, and a second concurrent request is refused instead of stacking. (3bce1da) - WAL checkpoint switched from
TRUNCATEtoPASSIVE.TRUNCATEneeds exclusive access and busy-waited up tobusy_timeoutafter every commit; with concurrent readers that was the direct source of the 30s timeouts. (457c8a0) .worktrees/and other dotted ignore dirs are pruned from the corpus walk again.ignore_dirslisted the bare name while the walk compared the dotted one, so every linked git worktree was re-scanned on each reindex and the WAL grew past the DB itself. (5acfccd)- Reindex commits on a 1s timer (
REINDEX_COMMIT_INTERVAL_SEC) instead of a count-based batch that never fired on a mostly-unchanged corpus. The writer lock is now held for under a second at a time. (2d23c39) sweep_bloat,sweep_retention, andreconcile_vec_metatake the in-process store lock per 200-doc batch instead of across the whole pass. Last layer of the wedge. (09e298f)- Timing hardening for the concurrent-write-during-
compute_statustest. (8bf75f6, f13982d)
Features
- Blind-judged eval harness for the savings claim:
trovex eval-harness <corpus> --retrieval-only --gate. The judge never sees which side is trovex. The token-savings number now comes from this harness, not from the binarybench --eval. (9dc098f)
CI
skill-gateworkflow uses a general left-anchored review-verdict regex with a pinned selftest, so domain-scoped review skills pass the check. (f217207)
Upgrade
uv tool upgrade trovex # or: uvx trovex@0.15.0
Restart trovex serve afterwards. No store migration is needed; the fixes were rolled onto an existing production store in place.
Full Changelog: v0.14.0...v0.15.0
v0.13.0 — local-default embedder + one-command setup
What's Changed
- fix(reach): add /savings aha bridge to dead-end answer page by @helios-code in #700
- fix(analytics): load Plausible on the 41 GEO/AEO pages shipping without it + coverage guard by @helios-code in #701
- ci(web): PII→OpenAI data-minimization guard (TSU-218) by @helios-code in #702
- fix(readme): swap hero banner to public-beta asset — kill private-beta leak (TSU-213/afcbf0bc) by @helios-code in #703
- fix(cli): trovex --version / -V (activation papercut, deae52e5) by @helios-code in #704
- feat(cli): trovex bench --retrieval — router quality over a labels file by @helios-code in #705
Full Changelog: v0.12.0...v0.13.0
v0.12.0 — eval harness, incremental re-index, GEO answers cluster
trovex v0.12.0 (35 commits since v0.11.11)
Product
- Doc-router retrieval eval harness (recall@k / MRR / hit@k) — defends the savings number + catches regressions in CI
- Incremental /
--watchre-index (only changed docs) — fast freshness - Search-results UX: empty / loading / error states
- MCP tool-surface contract tests + serverInfo version fix
Hardening
- Dependency CVE sweep (clean) + daily scheduled dep-audit gate
- Durable launchd serve (survives reboot)
GEO / AEO
- Operator /answers cluster + use-case pages + FAQPage retrofits
PyPI + MCP registry published via the tag workflow.
v0.11.11 — security hardening + SSOT fixes
Highlights
- section-write patches in place — no more silent whole-doc clobber; short
doc_idresolves (SSOT data-loss fixed). - Security: rate-limit + query-length caps on /search/partial (closes an anon cost-loop), constant-time write-token compare, default bind 127.0.0.1 (opt-in all-interfaces, loud warn).
- md-guard scoped to the trovex repo (+ SKILL.md exempt) so foreign-repo markdown isn't blocked.
v0.11.10
What's Changed
- content(discord): drop Slack from README community line — Discord only (cmo) by @helios-code in #653
- chore(skills): remove the 16 internal fleet skills from the product repo (skill-home migration) by @helios-code in #654
- chore(repo): untrack REFONTE.md — internal FR planning doc → trovex store by @helios-code in #656
- feat(mcp): trovex mcp — serve MCP over stdio (registry/.mcpb transport, pre-PH) by @helios-code in #655
Full Changelog: v0.11.9...v0.11.10
v0.11.9
What's Changed
- feat(discord): trovex Discord placements — hero button + README badge by @helios-code in #646
- chore(review-trovex): add the AX Product-Q&A standing duty (enforce b8e05fa3) by @helios-code in #647
- chore(review-tsukumo): add Product Q&A (AX self-report) standing duty by @helios-code in #648
- fix(readme): repoint hero image to a tracked path (growth/ purge broke the 404) by @helios-code in #649
- content(geo): cross-domain silo — 4 topical /answers → production-ops cornerstone by @helios-code in #652
- fix(brand-guard): hard-fail synergix/synxadmin in the shipped package (pre-PH #1) by @helios-code in #650
- fix(store): section-write patches in place + short doc_id (pre-PH #2, the #1 interview finding) by @helios-code in #651
Full Changelog: v0.11.8...v0.11.9
v0.11.8
What's Changed
- feat(brand-guard): block growth/ at CI (durable anti-regression) by @helios-code in #642
- feat(geo): soft tsukumo discovery-call band on the /vs/ comparison cluster by @helios-code in #643
- feat(geo): soft tsukumo discovery-call band on the /answers/ cluster by @helios-code in #644
- feat(security): security CI-guard — fail PRs on new high/critical backend risk by @helios-code in #645
Full Changelog: v0.11.7...v0.11.8
trovex v0.11.7
Full Changelog: v0.11.6...v0.11.7
trovex v0.11.3
What's Changed
- feat(cro): booking-completion pixel — /booked fires booking_completed by @helios-code in #564
- docs(growth/launch): mark Official MCP Registry LIVE (io.github.TsukumoHQ/trovex @ 0.11.2) by @helios-code in #565
- feat(analytics): scoreboard Panel F — web bookings (booking_completed) by @helios-code in #566
- design(tools): dokan in prep -> v0.1.0 beta (suite-map + brand-gallery) by @helios-code in #567
- docs(growth/launch): zero-stale version sweep of registry-kit body (0.11.2/LIVE) by @helios-code in #568
- revert(cro): kill trovex.dev/booked — booking converges on Tsukumo by @helios-code in #569
- fix(analytics): re-key Panel F booking_completed to tsukumo.ch by @helios-code in #570
- design(tools): gen_card terminal + diff layouts by @helios-code in #572
- skill(review-trovex): domain self-review gate for the trovex lane by @helios-code in #573
- feat(benchmark): reproducible token-savings harness (back the ~60% claim) by @helios-code in #574
- fix(install): user-facing MCP config → localhost:8765 (local-first); drop guard exception by @helios-code in #563
- release(0.11.3): bump version — ships corrected localhost install page in the wheel by @helios-code in #575
Full Changelog: v0.11.2...v0.11.3
trovex v0.11.2
What's Changed
- fix(brand): de-synergix pass — purge stale 'Synergix-lab' org refs by @helios-code in #558
- feat(automation): release-watcher — notify cmo on suite GitHub Releases by @helios-code in #562
- chore(registry): server.json name → io.github.TsukumoHQ/trovex (exact case) + 0.11.2 recovery by @helios-code in #561
- release(0.11.2): fix mcp-name namespace CASE for MCP registry by @helios-code in #559
- fix(brand-guard): scan FastAPI templates — close the install-page leak gap by @helios-code in #560
Full Changelog: v0.11.1...v0.11.2