Release Notes -- 2026-03-06¶
Databricks Forge v0.10.0 → v0.12.0
v0.10.0 -- Security Hardening + Codebase Decomposition¶
New Features¶
SQL Quality Review (LLM-as-Reviewer)¶
New lib/ai/sql-reviewer.ts module uses a dedicated review model (databricks-gpt-5-4 via serving-endpoint-review) to validate generated SQL. Provides reviewSql() for single queries, reviewAndFixSql() for auto-repair, and reviewBatch() for parallel batch review. Opt-in per surface via isReviewEnabled(). Shared Databricks SQL quality rules consolidated in lib/ai/sql-rules.ts.
Shared API Utilities¶
New lib/api-utils.ts provides handleApiError(), requireRun(), requireSafeId(), assertOk(), and isErrorResponse() -- eliminating ~200 lines of duplicated boilerplate across API routes.
Genie Deploy Shared Module¶
Extracted ~600 lines of DDL rewriting, metric view deployment, validation, and space preparation logic from two API routes into lib/genie/deploy.ts.
Improvements¶
Security Hardening (9 items resolved)¶
- HSTS header -- Added
Strict-Transport-Security: max-age=63072000; includeSubDomains; preloadtonext.config.ts. - Rate limiting activated -- Re-wired
proxy.tsas Next.js middleware; in-memory sliding-window limiter now active on all/api/*routes (3k/min for LLM routes, 12k/min general). - Health endpoint tiered response -- Unauthenticated callers receive only
{ status, version, uptime, timestamp }; full diagnostics restricted to authenticated users. - Error message sanitisation -- New
lib/error-utils.tswithsafeErrorMessage()applied across 80+ API routes. Rawerror.messageno longer leaked to clients in production. - Ask Forge prompt injection mitigation -- User questions wrapped in
---BEGIN USER QUESTION---/---END USER QUESTION---delimiters with marker stripping. - CI security audit -- Added
npm audit --audit-level=criticalstep to.github/workflows/ci.yml. - Sample data audit logging --
fetchSampleData()now logs structured audit context. - Per-user run isolation (Phase 1) --
listRuns()accepts optionaluserEmailparameter;GET /api/runsand the runs page now scope results to the logged-in user. - SECURITY_ARCHITECTURE.md updated -- 9 items moved to Resolved section.
Codebase Decomposition (4 mega files split)¶
app/runs/[runId]/page.tsx(1,493 → 246 lines) -- Extracted 11 components and 2 hooks intocomponents/pipeline/run-detail/andlib/hooks/.app/settings/page.tsx(1,227 → 248 lines) -- Extracted 9 section components anduseSettingsStatehook intocomponents/settings/.components/pipeline/genie-spaces-tab.tsx(1,387 → 211 lines) -- Extracted 7 components anduseGenieSpacesTabhook.lib/ai/templates.ts(1,433 → 233 lines) -- Split into 9 step-specific modules. Barrel file preserves all existing imports.
Dead Code Removal & Type Centralisation¶
- Deleted unused
lib/api-error.ts. - Replaced inline pgvector DDL in backfill route with
ensureEmbeddingSchema(). - Centralised
JoinSpecInput(5 definitions → 1),SpaceJson(5 → 1), andConversationTurn(2 → 1).
Health Check Test Resilience¶
Updated perfectSpace fixture to satisfy all 20 checks in default-checks.yaml. Relaxed emptySpace test expectations to accept the correct D/F range. Embedded default checks YAML into the registry for bundled environment compatibility.
Bug Fixes¶
- Missing middleware --
proxy.tswas disconnected from Next.js during a prior cleanup; re-wired viamiddleware.tsto restore auth guard and rate limiting. - AlertDialogFooter closing tag -- Fixed unclosed JSX tag in
data-management-settings.tsx. - IndustryOutcome type mismatch -- Fixed
undefinedvsnullcoercion inRunCompletedTabsprops after decomposition.
Other Changes¶
app.yamlupdated withserving-endpoint-reviewresource binding for SQL quality review model.- AGENTS.md updated with SQL review infrastructure, model routing, and review endpoint documentation.
- Health check registry now reads YAML from embedded string constant rather than filesystem for Databricks Apps compatibility.
v0.11.0 -- Dashboard Filters + Metric View Integration¶
New Features¶
Dashboard Filter Widgets¶
Dashboards now support interactive filter widgets (filter-multi-select, filter-single-select, filter-date-range-picker). The assembler generates a dedicated PAGE_TYPE_GLOBAL_FILTERS page when the LLM proposes filter widgets. Counter widgets sharing a dataset with filters automatically switch to disaggregated: false mode with aggregation expressions.
Metric View Dashboard Integration¶
The dashboard prompt now includes a "Metric Views (Governed KPIs)" section when metric view proposals are available. The LLM is instructed to prefer metric views for KPI and trend datasets, using MEASURE() syntax.
EXPLAIN-Based SQL Validation¶
A new validateDatasetSql() function runs EXPLAIN on each dataset SQL query before dashboard assembly, catching column-reference errors and syntax issues that schema-allowlist validation alone cannot detect.
Improvements¶
Recursive CTE Lineage Traversal¶
Replaced the multi-round-trip BFS loop in lib/queries/lineage.ts with a single WITH RECURSIVE SQL query. Reduces lineage walking from O(depth) SQL calls to exactly 2 calls regardless of depth. Falls back gracefully on workspaces without WITH RECURSIVE support (requires DBR 17.0+).
Other Changes¶
- Applied Prettier formatting across the entire codebase for consistent style
- Added 24 new unit tests covering filter widget assembly, prompt output schema, EXPLAIN validation, and recursive lineage queries
v0.11.1 -- Health Fix Workflow + Context-Aware Strategies¶
Bug Fixes¶
- Broken health fix workflow -- The
column_intelligencefix strategy silently dropped enrichments for columns not already incolumn_configs, set empty descriptions that failed the health check anyway, and always reported a change even when nothing was modified. The fix now creates missing column config entries, guards against empty descriptions, and only reports actual changes. - Empty diff in fix preview -- When no changes were produced, the Optimization Suggestions page showed an identical side-by-side diff. Now shows a clear "No Changes Generated" empty state with guidance.
Improvements¶
Smart context-aware fix strategies¶
All 8 health fix strategies now receive synthesized business context extracted from the space itself. LLM-backed strategies generate contextually relevant fixes instead of running blind with empty context.
Entity matching uses schema-based extraction¶
The entity_matching strategy now uses extractEntityCandidatesFromSchema to identify actual entity candidate columns instead of blindly enabling entity matching on all string columns.
LLM-generated sample questions¶
The sample_questions strategy now uses the fast LLM endpoint to generate user-friendly, contextual sample questions instead of copying the first 3 example SQLs verbatim.
Table description generation¶
The column_intelligence strategy now also generates table-level descriptions, fixing the gap where tables-have-descriptions health check failures could never be addressed.
Individual benchmark run buttons¶
Each benchmark question in the test runner now has a Play button for quick single-question runs.
Other Changes¶
- SQL alias extraction and validation enhancements
- SQL rules hardening and skill updates
v0.11.2 -- Automotive & Mobility Outcome Map Enhancement¶
Improvements¶
Automotive & Mobility Outcome Map -- Servco Demo Readiness¶
Comprehensive enhancement of the automotive-mobility industry outcome map to close 7 gaps identified against the Servco Australia executive report.
New Objective: Drive Operational Excellence & Workforce Productivity - Workforce Management & Capability Building (4 use cases) - Multi-Franchise Integration & Standardisation (3 use cases)
New Priority: Fixed Operations Analytics (Grow Aftersales objective) - Fixed absorption & departmental profitability tracking - Labour rate realisation & technician efficiency analytics - Service mix & revenue optimisation
New Use Cases Added to Existing Priorities: - Conversational AI & Virtual Sales Assistants - Customer Data Platform & Unified Customer 360 - Service Loyalty & Prepaid Maintenance Plans - Used Vehicle Digital Retailing & Superstore Operations
Updated Arrays: - Sub-verticals: added "Used Vehicle Superstores & Independents" - Suggested domains: added "Workforce & People", "Used Vehicle Operations" - Suggested priorities: added "Drive Operational Excellence", "Scale Multi-Franchise Operations"
v0.12.0 -- Standalone Metric Views¶
New Features¶
Standalone Metric Views¶
Metric views are now first-class, independently deployable artifacts. A new
ForgeMetricViewProposal persistence layer tracks proposals across pipeline
runs, ad-hoc generation, and standalone creation. New REST API endpoints
(/api/metric-views/*) support CRUD, generation, and deployment without
requiring a full Genie Engine run.
Metric Views Tab¶
A dedicated Metric Views tab on the run detail page (between Use Cases and Genie Spaces) lets users browse, filter, validate, and deploy metric view proposals per domain with status badges and bulk actions.
Two-Phase Genie Engine¶
The Genie Engine now runs in two phases: Phase A generates and persists metric views first, then Phase B assembles Genie spaces, trusted assets, instructions, and benchmarks in parallel.
Improvements¶
Deployment Dependency Validation¶
Genie space and dashboard deploy routes now auto-detect referenced metric views and deploy any missing ones as a pre-flight step.
Dashboard Engine Reads from New Table¶
The dashboard engine reads metric view data from the new
ForgeMetricViewProposal table first, falling back to legacy
GenieEngineRecommendation records for backward compatibility.
Bug Fixes¶
- Snowflake schema join nesting -- Fixed
UNRESOLVED_COLUMNerrors in metric view YAML by implementingnestSnowflakeJoins()deterministic auto-fix, enhanced LLM prompt guidance for nested joins, anddetectFlatSnowflakeJoins()validation.
Other Changes¶
- Genie workbench accordion shows read-only metric view references with a pointer to the dedicated Metric Views tab
- Genie deploy modal includes an informational banner about automatic metric view dependency deployment
- Ad-hoc Genie engine applies the same two-phase pattern for consistency
- 8 new unit tests for
nestSnowflakeJoinsanddetectFlatSnowflakeJoins
All Commits¶
| Hash | Summary |
|---|---|
ec7b706 |
Enhance Genie Spaces user experience with new features and optimizations |
a11923b |
Remove unused import from page.tsx |
448aac8 |
Update health check registry to embed default checks YAML |
7e29da4 |
Enhance SQL quality review capabilities and update related configurations |
f3ec910 |
Enhance security and error handling across the application |
cb64e26 |
Update versioning and enhance CI security checks |
5cd76a4 |
Refactor health check tests and enhance perfectSpace fixture |
ae84676 |
Remove middleware.ts file |
f155a50 |
Standardize error handling across API routes with safeErrorMessage utility |
cb39a1e |
Bridge dashboard skills gaps: add filter widgets, metric view integration, EXPLAIN validation, and recursive CTE lineage |
e5c5bec |
Fix broken health fix workflow and make all strategies context-aware |
f833302 |
Enhance SQL alias extraction and validation |
7a43f5c |
Skill update and SQL hardening |
98e49f1 |
Enhance automotive-mobility outcome map for Servco Australia demo |
d7bf1a4 |
Elevate metric views to first-class standalone artifacts with nested snowflake join support |