Repository navigation
feat(mcp): read and apply the engine settings like the CLI and the server (#1515, part 4) - #1533
Merged
Merged
Conversation
🔍 Cora AI Code Review✅ No issues found. Code looks good! Review powered by cora-code · BYOK · MIT |
This was referenced Oct 22, 2026
ajianaz
force-pushed
the
refactor/engine-settings-4
branch
from
October 22, 2026 08:44
102e22b to
a035427
Compare
ajianaz
marked this pull request as ready for review
October 22, 2026 08:45
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Last step of #1515.
uteke-mcpused to open the store with the built-in defaults and ignoreuteke.tomlfor recall, tier, graph rerank, dream, lifecycle and the embedding fallback. It now loadsEngineSettings(EngineSettings::load: global file, project file with its untrusted keys stripped, thenUTEKE_RECALL_*/UTEKE_GRAPH_*/UTEKE_EMBED_FALLBACK_*) and applies it.Uteke::apply_settingsalso sets tier and graph rerank and keeps the sanitized[recall]settings;uteke_recallusesmin_score,min_score_strictanddefault_strategywhen a call gives none, asPOST /recalldoes (a call's own floor or strategy wins). MCP over HTTP gets the same from the server's settings.uteke-servenow also honoursUTEKE_RECALL_*andUTEKE_GRAPH_*(it ignored them), and one shared layering helper replaces the copy in the privacy loader. The server builds oneenginevalue up front (env, sanitized strategy, fallback) and its two small resolver functions go away.Why
The same store answered
uteke_recalldifferently over MCP than overPOST /recalloruteke recallonce[recall]was changed. With no[recall]section and no variable nothing changes (the defaults equal the built-ins).Contract: uteke-cloud#248 is answered (2026-10-22): no objection, nothing to change in cloud. Refs #1515, closes #1355 when merged.
Testing
-D warnings, fmt,cargo test --workspacepass;cargo run -p docgenchanges nothingsanitized, tier/graph/recall defaults applied, default recall settings, layers then env order); MCP: 3 tests (no section changes nothing, configured floor filters and a call floor wins, configured strategy and sanitizing)developignores[recall] min_scoreandUTEKE_RECALL_MIN_SCORE(3 results), this branch applies them (1 result); no configuration gives identical output. Server: toml-only configs identical todevelop, only the env case changes as documented[lifecycle]and[dream], which the CLI and the server already did; whether those belong in the untrusted keys is tracked in a separate issue