Releases: terraphim/terraphim-clients
Release list
terraphim-clients v1.21.10
terraphim-clients v1.21.10
Bug Fixes
- terraphim/terraphim-clients#77:
terraphim-grep --answerno longer silently drops LLM answers when models return plain text instead of JSON.- The RLM prompt now embeds
AnswerSignature::instructions()so the model knows it must return structured JSON. - A new
extract_json()helper tolerates markdown fences and prose-embedded JSON payloads. - Verified with
deepseek/deepseek-v4-flash,amazon/nova-micro-v1, and other models.
- The RLM prompt now embeds
Improvements
- Long-timeout OpenRouter client:
terraphim-grepnow uses a dedicated 120-second timeout for LLM calls, avoiding the shared 10-second API timeout that caused synthesis to abort on slow providers. - Error taxonomy: Transient OpenRouter errors (network, rate limit, API, decode) now map to
ServiceError::Common(CommonError::Network)instead ofConfig, enabling better upstream handling. - Optional reqwest:
reqwestis now an optional dependency tied to thellmfeature, reducing build cost when LLM support is disabled. - Data governance warning: A warning is logged when the default free-tier model is used, alerting operators that RLM prompts may contain repository content excerpts.
Test Coverage
- Added prompt assembly tests (answer vs list paths).
- Added
OpenRouterClientconstruction and URL resolution tests. - Added
extract_jsonedge-case tests (generic fence, array payload, unterminated fence, mixed language fences).
Model Recommendations
Based on trade-off analysis (terraphim-ai branch task/3098-doc-grep-openrouter-rlm):
| Model | Speed | Cost | Reliability |
|---|---|---|---|
amazon/nova-micro-v1 |
~11s | Very low | Works reliably |
deepseek/deepseek-v4-flash |
~5.6s | Very low | Works after fix |
mistralai/mistral-nemo |
~31s | Lowest | Works reliably |
Avoid gpt-oss-20b for this use case (too large, returns reasoning-only content).
v1.21.9
Session Analyzer Parse Fix
Fixes two bugs that produced ~2430 WARN lines on every terraphim-agent sessions search invocation:
#3081: Metadata entry type pre-filter
- 12 Claude Code metadata JSONL entry types (
last-prompt,mode,permission-mode,ai-title,file-history-snapshot,queue-operation,agent-name,pr-link,tool_reference,text,attachment,system) now skipped before deserialization - Eliminates 2003 false warnings
#3082: ContentBlock enum missing variants
- Added
thinking,server_tool_use,advisor_tool_resultcontent block types - Added
#[serde(other)] Unknowncatch-all for future-proofing - Eliminates remaining 427
assistantparse failures
Combined result
- WARN count: 2430 → 0 (100% elimination)
- All 317 tests pass (7 new)
- No breaking changes to public API
terraphim-clients v1.21.8
Corrected release for signed updater archives. The release-binaries workflow now zipsign-signs tar.gz update archives before upload so terraphim-grep and terraphim-agent autoupdate can verify them.
terraphim-clients v1.21.7
Corrected release for cross-platform client binaries. Pins the terraphim_service registry patch exactly so the GitHub release-binaries workflow resolves dependencies deterministically.
terraphim-clients v1.21.6
Superseded by v1.21.7. The v1.21.6 release-binaries workflow failed before publishing assets because the terraphim_service registry patch was not pinned exactly.
terraphim-clients v1.21.5
Patch release for signed terraphim-agent and terraphim-grep updater assets.\n\nChanges:\n- Routes terraphim-agent update checks and updates to terraphim/terraphim-clients release assets.\n- Keeps terraphim-grep update support on terraphim/terraphim-clients.\n- Applies clippy/rustfmt cleanup in the touched terraphim-agent memory lifecycle section.\n- Attaches signed macOS ARM64 archives for terraphim-agent and terraphim-grep.\n\nAsset SHA-256:\n- terraphim-agent-1.21.5-aarch64-apple-darwin.tar.gz: fa5efaa208d2079ccb6027a1d6a2a72c8e87caa0e46e332f8a354e88437472b2\n- terraphim-grep-1.21.5-aarch64-apple-darwin.tar.gz: 886651fbc1cec5ae6f2a5c0fec9b1d72220b63bdd1a1861ff93e22e73963c271
terraphim-clients v1.21.4
Patch release for signed terraphim-grep updater assets.\n\nChanges:\n- Preserves the release asset filename during updater downloads so zipsign verifies against the same context used for signing.\n- Retains the Terraphim Clients zipsign Release Key 2026-07 verifier introduced in v1.21.3.\n- Bumps terraphim-grep workspace version to 1.21.4.\n- Attaches signed macOS ARM64 terraphim-grep archive.\n\nCompatibility note:\n- Updating directly from v1.21.2 with the old embedded verifier key is not supported because the old private signing key is unavailable in usable zipsign form. Install v1.21.4 manually once; future signed updates can use this verifier and filename-preserving updater path.\n\nAsset SHA-256:\n- terraphim-grep-1.21.4-aarch64-apple-darwin.tar.gz: 49d20d65ea8a1cb478dd6e12095634f340f09956533e3222ac53776ca3501a52
terraphim-clients v1.21.3
Superseded by v1.21.4.\n\nThis intermediate release rotated the zipsign verifier key and attached a signed macOS ARM64 archive, but the updater still downloaded release assets to random temporary filenames, which broke zipsign context verification. Use v1.21.4 instead.
terraphim-clients v1.21.2
Highlights
- Adds terraphim-grep check-update and terraphim-grep update commands.
- Reuses the shared terraphim_update crate rather than implementing a separate updater.
- Adds UpdaterConfig::with_repo(...) so binaries can target the correct GitHub Releases repository.
- Preserves existing terraphim-grep search behaviour and no-thesaurus fallback.
Verification
- cargo test -p terraphim_update test_updater_config -- --nocapture
- cargo test -p terraphim_grep --test no_thesaurus_cli --test default_feature_smoke
- cargo test -p terraphim_grep --bin terraphim-grep
- cargo clippy -p terraphim_grep -p terraphim_update --all-targets -- -D warnings
- cargo llvm-cov -p terraphim_grep --summary-only
- cargo run -p terraphim_grep -- check-update
Notes
The shared updater can check release metadata now. Actual binary replacement still depends on release assets and signatures being present for the binary.
terraphim-clients v1.21.1
Highlights
- Fixes terraphim-grep hybrid scoring so KG/thesaurus matches rank above generic substring metadata hits.
- Uses terraphim_automata for thesaurus query matching and chunk boost matching.
- Expands matched query terms by shared normalised thesaurus concept, then reranks a wider candidate pool before truncating results.
- Preserves no-thesaurus fallback behaviour.
Verification
- cargo test -p terraphim_grep --test no_thesaurus_cli --test default_feature_smoke
- cargo test -p terraphim_grep --bin terraphim-grep
- cargo test -p terraphim_grep thesaurus_query_concepts -- --nocapture
- cargo test -p terraphim_grep kg_boost -- --nocapture
- cargo clippy -p terraphim_grep --all-targets -- -D warnings