feat: default AI_DETERMINISTIC_MATCH to true#121
Merged
Conversation
Flip the planner path on by default for /api/ai/query/stream and the query branch of /api/ai/ask/stream. Legacy LLM-as-matcher remains reachable via AI_DETERMINISTIC_MATCH=false as a kill-switch for providers without structured-output support. Refresh the now-stale env doc and config comment to describe the planner architecture (the old text described an earlier formatter-only iteration), and invert the default-value tests.
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.
Summary
AI_DETERMINISTIC_MATCHdefault fromfalse→true. The Ask AI inventory query path uses the LLM-planner + SQL-executor architecture from feat: LLM query planner for Ask AI inventory queries #118 by default; legacy LLM-as-matcher reachable viaAI_DETERMINISTIC_MATCH=falseas a kill-switch for providers without structured-output support.The cloud + demo env files in openbin-deploy already set this flag to
true(8880642), so this PR is a no-op for production behavior. It makes the default match what cloud has been running, so self-hosters on Anthropic / OpenAI / Gemini get the planner without per-deploy configuration. Flag is retained as a kill-switch and slated for full removal after ~2 weeks of soak.Test plan
npx biome checkcleancd server && npx tsc --noEmitcleancd server && npx vitest run src/lib/__tests__/configDeterministicMatch.test.ts src/__tests__/aiStreamDeterministicFlag.test.ts— 3/3