live wire
▸Snowflake agent evals can pin judge versions; unpinned metrics may roll forward and shift scoresSnowflake▸ThoughtSpot makes Spotter 3 default for new instances; it requires download rights and always shares query data with an LLMThoughtSpot documentation▸MotherDuck adds image classification and object location to prompt_jev(), returning typed SQL outputs with confidence scoresMotherDuck▸BigQuery conversational analytics adds Montréal and Toronto; mixed-region agents still default to globalGoogle Cloud Documentation▸Fabric enables Azure OpenAI Copilot access by default, but OpenAI-subprocessor and cross-region processing/storage switches remain offMicrosoft Learn▸Snowflake Cortex Agents now continue by default when named tools are inaccessible, emitting warnings instead of failing the runSnowflake documentation▸Databricks Genie One can use group memberships to tailor answers, while Unity Catalog remains the access-control boundaryDatabricks documentation▸Fabric data agents can query Power BI models with Read alone; Build and workspace access are unnecessaryMicrosoft Learn▸Fabric data-agent Git configs expose column flags, but selecting a table still includes every columnMicrosoft Learn▸Google Data Agent Kit offers remote Spark kernels, but notebook exports can still move results into local Pandas or ArrowGoogle Cloud Documentation▸Cube says production analytics agents need explicit partial-result states, caller-filtered model search and durable artifactsCube▸Thinking Machines names Bridgewater behind ReViSQL-K2.6, citing 92.97% SC-16 accuracy at 15% of frontier-model costThinking Machines Lab▸AWS says a mismatched data/tool/prompt release cut its Field Sales agent pass rate from 78% to 38% in pre-productionAWS Artificial Intelligence Blog▸NL2SQL Multi-Agent ships evaluation artifacts across BIRD, CSpider, Archer and KDD DataSpace—but no software licenseGitHub▸Snowflake agent evals can pin judge versions; unpinned metrics may roll forward and shift scoresSnowflake▸ThoughtSpot makes Spotter 3 default for new instances; it requires download rights and always shares query data with an LLMThoughtSpot documentation▸MotherDuck adds image classification and object location to prompt_jev(), returning typed SQL outputs with confidence scoresMotherDuck▸BigQuery conversational analytics adds Montréal and Toronto; mixed-region agents still default to globalGoogle Cloud Documentation▸Fabric enables Azure OpenAI Copilot access by default, but OpenAI-subprocessor and cross-region processing/storage switches remain offMicrosoft Learn▸Snowflake Cortex Agents now continue by default when named tools are inaccessible, emitting warnings instead of failing the runSnowflake documentation▸Databricks Genie One can use group memberships to tailor answers, while Unity Catalog remains the access-control boundaryDatabricks documentation▸Fabric data agents can query Power BI models with Read alone; Build and workspace access are unnecessaryMicrosoft Learn▸Fabric data-agent Git configs expose column flags, but selecting a table still includes every columnMicrosoft Learn▸Google Data Agent Kit offers remote Spark kernels, but notebook exports can still move results into local Pandas or ArrowGoogle Cloud Documentation▸Cube says production analytics agents need explicit partial-result states, caller-filtered model search and durable artifactsCube▸Thinking Machines names Bridgewater behind ReViSQL-K2.6, citing 92.97% SC-16 accuracy at 15% of frontier-model costThinking Machines Lab▸AWS says a mismatched data/tool/prompt release cut its Field Sales agent pass rate from 78% to 38% in pre-productionAWS Artificial Intelligence Blog▸NL2SQL Multi-Agent ships evaluation artifacts across BIRD, CSpider, Archer and KDD DataSpace—but no software licenseGitHub
nl2sql.ai
releaseRelease

SchemaGate moves authorization ahead of text-to-SQL—but it does not replace database policy

The new Apache-2.0 package filters schema objects before they reach a model. That closes one information-leak path while leaving query execution controls firmly in place.

Pre-prompt filtering versus database policy in text-to-SQL.
AI-generated illustration
By The News Desk· Sep 9, 2026the quick take — two AI hosts go live when you do

SchemaGate 0.1.9 takes a narrowly useful position in the text-to-SQL stack: decide which schema objects a caller may see before retrieving context for the model, not only when the generated query reaches the database. The Apache-2.0 Python package reached PyPI on September 9 after its initial 0.1.0 upload on September 7, according to PyPI’s release metadata.

That order matters. In the project’s example, a caller without a payroll role never has hr_compensation placed in the model prompt; adding the role makes it eligible for retrieval. The project README says the selector applies identity constraints during initial ranking and foreign-key expansion, and returns the same error for a restricted object and a missing one through its MCP server.

What the release actually provides

SchemaGate reflects database metadata through SQLAlchemy, then combines BM25 and hashed-vector retrieval, expands through foreign keys and emits a compact DDL fragment for a downstream model. It supports SQLite and PostgreSQL, has a live-tested Oracle path, and lists SQL Server and MySQL as not yet tested against live engines in its testing record.

The author reports 100% recall@6 on the standard questions in six synthetic schemas, including a deliberately hostile 260-object catalog. The important caveat is in the same table: business-language questions scored as low as 40% or 50% without descriptions, while hand-written descriptions raised those test subsets to 100%. Those are project-maintained synthetic evaluations, not an independent benchmark or a production-user study, as the testing record makes explicit.

Version 0.1.9 does not change the selector library. Its changelog says it fixes a systemd deadlock in the optional Oracle Cloud stack and records one unattended run that reached a serving MCP endpoint 150 seconds after apply, completed keyless cataloguing and passed the stack’s six certification checks. The package remains classified as alpha on PyPI.

The boundary operators should keep

Pre-prompt filtering can prevent unauthorized table names, columns and comments from becoming model context. It can also avoid a misleading failure mode in which database policy strips every row and an assistant translates the empty result into “no records found.” But SchemaGate’s catalog rules are application-side configuration; they are not a substitute for database grants, row-level security, views or query-time authorization.

The practical deployment pattern is defense in depth: derive the SchemaGate principal and roles from a trusted identity source, filter context before the model call, then execute generated SQL under a least-privileged database identity that independently enforces access. Also test both directions—restricted objects must stay absent, and allowed business-language questions must still retrieve the right objects. The project’s own low no-description scores show why passing the security test does not automatically mean passing the answer-quality test.

Filed by The News Desk. Corrections: desk@nl2sql.ai · Our standards →

comments · 0

    Comments are moderated before they appear. Your email is used once to confirm it is you — never shown, never sold. Corrections and questions get an answer from the desk when we have one.