FabricFabricHarness
Databricks

Workspace compatibility

Evidence-based Databricks cloud, region, authentication, API, App, Lakebase, and runtime compatibility.

Fabric Harness targets Databricks workspaces on AWS, Azure, and Google Cloud through the official modular TypeScript SDK for stable services. Availability of Apps, Lakebase, serverless Model Serving, private connectivity, and individual AI services varies by workspace, region, and account configuration. A successful check in one workspace is recorded only for that cloud and region.

Runtime and API contract

Every generated client is exact-pinned to the same reviewed Databricks modular JavaScript SDK release. Fabric does not mix modular SDK versions.

SurfaceTransport ownerDatabricks API contract
Jobs@databricks/sdk-jobs 0.21.0Jobs 2.2
Lakeflow Declarative Pipelines@databricks/sdk-pipelines 0.21.0Pipelines 2.0
SQL Statement Execution@databricks/sdk-statementexecution 0.21.0Statement Execution 2.0
AI Search@databricks/sdk-vectorsearch 0.21.0Vector Search 2.0
Model Serving and query@databricks/sdk-modelserving and @databricks/sdk-modelservingquery 0.21.0Serving 2.0
Genie stable lifecycle and conversations@databricks/sdk-genie 0.21.0Genie 2.0
Workspace object permissions, including Genie ACLs@databricks/sdk-accessmanagement 0.21.0Permissions 2.0
Unity Catalog catalogs, schemas, tables, volumes, and grants@databricks/sdk-uc-* 0.21.0Unity Catalog 2.1
Workspace files and volumes@databricks/sdk-files and @databricks/sdk-uc-volumes 0.21.0Files 2.0 / Unity Catalog 2.1
Workspace secrets@databricks/sdk-secrets 0.21.0Secrets 2.0
Workspace identity@databricks/sdk-scim 0.21.0SCIM 2.0 preview path
MLflow experiments@databricks/sdk-experiments 0.21.0MLflow 2.0
Lakebase@databricks/sdk-postgres 0.21.0Postgres/Lakebase generated contract plus credential exchange 2.0
Databricks AppsDatabricks CLI project deployment and Apps runtime contractApps 2.0
Internal SDK-gap protocolsPrivate deny-by-default Fabric adapterAgent Services 2.1 Beta, Genie Agent Mode Beta, Workspace object import/export 2.0, MLflow Traces 3.0, AI Gateway v2, ResponsesAgent custom schema, and exact Genie/AI Search decoder fallbacks
Application native escape hatchdatabricksWorkspaceApi()Any workspace-relative /api/* or /serving-endpoints/* API under the configured identity
RuntimeSupported version
MLflow ResponsesAgent>=3.10; protected Azure gate currently exercises 3.14.0
Node.js>=22.0.0
@fabric-harness/databricks>=7.0.0 <8
pg for Lakebase^8.11.0

DATABRICKS_SDK_VERSION is read from the installed official SDK. DATABRICKS_API_VERSIONS uses that same value in certification evidence, and a release test requires every @databricks/sdk-* dependency, this page, and the package README to agree. DATABRICKS_AUTH_MODES and DATABRICKS_PACKAGE_COMPATIBILITY keep authentication and runtime checks on the same contract.

Authentication modes

ModeUse
OAuth M2MExternal services and protected CI service principals
App service principalRuntime identity injected into a Databricks App
On-behalf-ofPer-user Unity Catalog grant enforcement from an App request
PATDeveloper smoke tests and transitional automation

Production deployments should use OAuth or App identity. The official SDK credential chain resolves CLI profiles and OAuth M2M credentials. Tokens remain in credential providers and request headers; they are not written to prompts, lineage, compatibility records, or certification errors.

Native SDK boundary

Generated clients own stable request/response serialization for Jobs, Statement Execution, Lakeflow, Vector Search, Model Serving, Files, Secrets, Genie, Access Management, Unity Catalog, MLflow Experiments, and Lakebase. Fabric Harness adds agent-specific approval binding, structured resource policy, lineage, managed-resource ownership, bounded retries, and durable cleanup.

Fabric's raw protocol transport is private to protocols not represented by the modular SDK: Agent Services, Genie Agent Mode streaming, Workspace object import/export, MLflow 3 traces, AI Gateway/model-service discovery, and the ResponsesAgent custom request schema. It has an exhaustive method-and-path allowlist; an unlisted route is rejected before credentials are resolved or network I/O begins. Callers receive typed capabilities through the Databricks bundle and never construct the raw transport. SCIM identity, authoring certification verification, and all other stable services use generated clients. Source-boundary and runtime-denial tests prevent stable modules from silently adding raw API paths. The exact SDK pin, generated serialization tests, packaged-runtime import test, and protected workspace lifecycle checks all gate a release. Generated types reduce wire drift; they do not replace live behavioral certification.

Application code is not limited to the services with a generated client or a Harness adapter. databricksWorkspaceApi() is the public, credential-safe native REST escape hatch. It preserves arbitrary JSON or raw request bodies, raw responses, cancellation, rotating identity, credential redaction, and safe retry defaults. It is not automatically model-callable and does not weaken the private allowlist used by Harness's own SDK-compatibility protocols. See native access and platform coverage.

Multidimensional coverage

The package capability registry separates:

  • Databricks upstream maturity;
  • native API fidelity;
  • lifecycle operations;
  • runtime certification;
  • identity modes;
  • contract clouds versus clouds with retained live evidence; and
  • known gaps.

DATABRICKS_PLATFORM_DOMAINS includes unsupported product families as well as implemented ones. An absent first-party adapter therefore cannot be mistaken for an absent Databricks capability. Use the generated SDK or databricksWorkspaceApi() while a higher-level governed adapter is missing.

There are two narrowly tested SDK 0.21 compatibility exceptions. Its generated Genie query-result decoder expects object rows while the live API returns array rows. Its shared JSON decoder also tries to convert a valid floating-point AI Search score to BigInt. Fabric retries only those two read-only responses through the quarantined raw protocol transport when each exact decoder failure is detected; other errors fail closed. Remove each fallback as soon as the pinned SDK accepts the live payload.

Certification records

The protected live workflow emits schema-versioned, redacted evidence containing:

  • cloud, region, workspace id/host, auth mode, and principal kind;
  • Node and package versions plus every REST API family used;
  • required and optional check identifiers with duration and result;
  • source commit plus SHA-256 digests of the exact npm candidate and App artifact;
  • App restart/cascade-deletion evidence and deployment conformance;
  • a stable evidence id suitable for partner review.

Tier R release checks cannot become not-configured: that result makes certification fail. A Tier O failure remains visible in the evidence but does not block a Tier R release. An environment-specific required-check list can add checks but cannot remove Tier R. Tier A covers the protected Jobs/Lakeflow/AI Search/serving/UC/workspace/secrets/Genie authoring lifecycles; Tier O covers previews and SKU-specific paths unless a workflow explicitly promotes one. Authoring certification uses a reverse-order cleanup ledger and fails when any created resource leaks. See the Databricks certification page for the current public status, scope, limitations, and machine-readable record.

The runner executes required checks before configured optional checks while preserving declaration order in the emitted evidence. This keeps short-lived OBO credentials and on-demand App health from expiring while a long MLflow evaluation or other Tier O probe runs; optional checks still execute and remain visible in the same record.

node packages/databricks/dist/certify.js
node scripts/build-databricks-compatibility-matrix.mjs \
  artifacts/databricks-certification.json

databricksCompatibilityRecord() accepts only passing evidence with cloud, region, auth, runtime, package, and artifact identity. The matrix labels a cloud/region live-certified only when such a record is retained; otherwise it remains a contract target requiring workspace certification.

Current 7.0.2 protected evidence

Package 7.0.2 is published on npm and passed its exact-version protected gate in GitHub Actions run 31053240003 from commit 544cd478d29b26ed7090499c682af0922f4533d1. Evidence dbx-cert-40f9f87ecd2044f529d37e4dcbc260e55707cda9df5c987790078f35df29850a records all 21 Tier R checks and nine configured Tier O checks as passed in Azure eastus2 under OAuth M2M. No configured check failed.

Tier R covered identity, AI Gateway, Model Serving, SQL, Unity Catalog allow/deny, catalog preflight denial, governed mutation approval, RAG, Genie, managed MCP under OBO, Volumes, Lakebase, lineage, System Tables, actual-cost reconciliation, App health, and Lakebase-backed restart recovery with cascade deletion. The required hook-authored dynamic-agent check also preserved its persistent state across that restart. The generated App passed a 25-request burst test with no failures or duplicate run IDs, enforced its rate limit, and passed current-run two-user isolation without retaining principal identifiers.

Configured Tier O probes passed for Unity Catalog Agent Services registration lifecycle, ResponsesAgent, managed RAG evaluation, AI Search, Genie Agent Mode, Feature Serving, Jobs, Lakeflow, and a classic notebook. Agent Services reported runtimeInvocationAvailable: false; this record therefore establishes create/discover/update/govern/delete behavior, not preview runtime invocation.

The exact packed candidate digest is edf67563b0bf0daa211ada78c5a3996063a39befa464fa2df27ba04e102cb59c. The certified App directory digest is 04f852085e16f6b1a5d04b81e6c7160970282bf03091c7cf249410e56a364e74. The bound restart-evidence digest is a37b6d22482e8067d6262f898379c1c8eac91d29af7ab11f372d94f64d428657, and the two-user-isolation evidence digest is f5120699cc42e28d44e3a3895e973904303ec9a2c770876820d553f2657594a1. The retained 7.0.2 compatibility matrix records its published package range >=7.0.0 <8.

The exact tarball also passed the focused same-commit Tier A gate in run 31056050505. Evidence dbx-cert-37f20b775f8f1e676f6b7d36bb17bb61f1ae9c593e560e028d1872764d70693d records all ten required authoring checks as passed. Every destructive lifecycle ended with cleanupRequired: false, both sweepers found no retained resources, and the cross-tier manifest matched package version, commit, and tarball digest byte-for-byte.

The Tier A record does not establish classic compute, Delta Sync, provisioned throughput, or Genie Agent Mode authoring. One passing two-user probe also does not establish the separate 14-day rolling isolation claim. This Azure eastus2 record does not imply AWS, GCP, or another Azure region.

Prior 5.0.1 protected evidence

Package 5.0.1 passed its exact-version protected gate in run 30501444655 from commit 067694748e1326b3ef039f19c91486ded15b6f70. Evidence dbx-cert-6826f4cc09501d1c112281248c0307589d922ae0fa21adc1c894c929bbf75613 records the same 20 required Tier R checks and nine configured Tier O checks as passed in Azure eastus2, including current-run two-user isolation. Its package digest is ee1eaac3c3e11ff6eaf1918023946d95381facab6107e6b81f7115a3a6660fd8, its App directory digest is 2110a13af799b63c5f9047f1959254802419c82143a9eaec7f49c83b794bf808, and it did not carry same-package Tier A evidence.

Prior 4.9.2 protected evidence

Package 4.9.2 is published on npm and passed its exact-version protected gate in GitHub Actions run 29812986146 from commit 50996433b34cdedb6d2732949dedfe6a918cdd48. Evidence dbx-cert-89ee6c419eda616be6cbffbcd42b842ed5a0f37d85683510c49c801f7911555b records all 20 Tier R checks as passed in Azure eastus2 under OAuth M2M, including:

  • identity, Unity AI Gateway, Model Serving, live RAG, and governed mutation approval;
  • SQL plus Unity Catalog allow/deny and catalog preflight denial;
  • ordinary Genie consumption, managed Genie MCP under OBO, and an OBO grant differential;
  • Volumes, Lakebase, lineage, System Tables, and actual-cost reconciliation; and
  • Databricks App health plus Lakebase-backed stop/start recovery and cascade deletion.

The exact packed candidate digest is 91fb6cd09f2d631b47b6827b4eda535b7c405562fa9f5ed659c66a1c0f5f7258. The certified App directory digest is 828d6ba0309b72430a6e2c024086815c28a762fd8b2adec1ba43100e7bb1c247, and the bound restart-evidence digest is d5ace515506f18043c48039716cd8c8c5f4d98dd0b11437bebe6f5d49aa49d1a. The workflow retained the post-certification App archive, package candidate, recovery record, compatibility matrix, and passing Databricks App black-box conformance report together.

ResponsesAgent, managed RAG evaluation, AI Search, Feature Serving, Jobs, Lakeflow, and a classic notebook also passed as visible Tier O checks. Agent Services returned "feature is not available" and Genie Agent Mode returned FEATURE_DISABLED; both remain optional previews and are not implied by the release claim. This record is retained as historical 4.9.2 evidence. The capability registry embedded in the published package remains pinned to the 4.9.1 evidence available when that artifact was built; Jobs 2.2 consumption is stable, while ResponsesAgent stays Beta because the upstream surface is Beta. This record proves one OBO user-versus-App grant differential, not two-user App isolation: DATABRICKS_OBO_TOKEN_B was not configured for this dispatch. It also does not imply AWS, GCP or another Azure region. Current-package Tier A evidence is recorded separately below because its short-lived U2M/OBO identity runs in the dedicated authoring workflow.

Prior 4.3.x status

Packages through 4.3.2 are published, but no passing exact-package Tier R record for that line is retained in this repository. Do not describe the 4.3.x line as live-certified.

Prior 4.2.0 recertification status

Package 4.2.0 adds deterministic artifact digesting, programmatic Bundle validation and App deployment, and a narrow Databricks Apps user-authorization entrypoint. Its build, package, documentation, SDK-boundary, and local contract gates pass, but it does not yet have a passing exact-package protected workspace record. Do not describe 4.2.0 as live-certified until the Tier R consumption workflow is rerun with valid OBO and Feature Serving fixtures.

Prior 4.1.1 recertification record

Package 4.1.1 is published and its build, package, documentation, SDK-boundary, and local contract gates passed. The exact-package Azure eastus2 consumption run 29689767139 recorded 23 passing checks, including the Databricks App, Lakebase restart path, AI Search/RAG, Genie, SQL and UC, Volumes, lineage, system tables, and cost reconciliation. It is not a passing release certification record: the short-lived OBO fixture token was rejected as invalid, and the workflow's explicitly promoted Feature Serving fixture returned 404. Agent Mode also reported the workspace preview as disabled, but remained non-blocking Tier O evidence.

Do not substitute that partial run for a passing 4.1.1 record. Rotate the OBO fixture, repair or remove the promoted Feature Serving fixture, rerun Tier R, and link the resulting evidence before describing 4.1.1 as live-certified. The older records below remain valid only for their exact package, artifact, cloud, region, and capability set.

The current retained consumption record is the 7.0.2 Tier R evidence in run 31053240003: all 21 required checks passed against the exact published tarball and commit 544cd478d29b26ed7090499c682af0922f4533d1. The same package's management evidence is retained by run 31056050505 as dbx-cert-37f20b775f8f1e676f6b7d36bb17bb61f1ae9c593e560e028d1872764d70693d: all ten required identity, approval, serverless Jobs, Lakeflow, direct-vector AI Search, custom-model Serving, UC OBO, Workspace, secret-reference, and Genie authoring checks passed. Every destructive lifecycle ended with cleanupRequired: false, both resource sweeps were empty, and the retained tarball digest edf67563b0bf0daa211ada78c5a3996063a39befa464fa2df27ba04e102cb59c matched independently across the Tier R and Tier A records.

The 4.0.2 records remain useful historical and second-region authoring evidence:

  • dbx-cert-b2c709717ef3a452234a5b2944311a576dafda03a9eea8246747ab3fa430b183 from run 29660486290 covers OBO execution in eastus2, serverless Jobs, Lakeflow, direct-vector and Delta Sync AI Search, custom-model serving, managed-only UC schema/grants, Workspace objects, secret references, and Genie Agent create/query/update/ACL-read/trash.
  • dbx-cert-d5bdbd276533a8634910e223898337314446561be2a444030fc2d11baa237bec from run 29660486237 covers a policy-bound classic new_cluster Jobs definition lifecycle in Azure westus3.

Both records use artifact digest 72f602626b9d79a808f6dd9e30f6ba703061bda19bae2aef983e7e92d7c61a45; every required check passed, all destructive lifecycles completed their six phases, and the pre/post sweeps found no retained resources. Neither record implies AWS, GCP, provisioned throughput, Agent Mode Beta, or another region passed the same live gate. The earlier 4.0.1 records remain historical evidence and do not substitute for this exact native-SDK release evidence.

When the Agent Services Beta is enabled, set DATABRICKS_AGENT_SERVICES_TEST=1 and DATABRICKS_AGENT_SERVICE_CONNECTION. The runner then makes the create/discover/update/grant-read/ delete lifecycle a required workspace check. Add DATABRICKS_AGENT_SERVICE_TEST_PRINCIPAL to include an EXECUTE and READ_METADATA grant/revoke differential. See Unity Catalog Agent Services.

App and Lakebase prerequisites

For the reference App, enable Databricks Apps, grant its service principal the selected SQL Warehouse/serving/UC resources, provision the scoped runtime-token secret, and configure a UC Volume for attachments. Restart recovery additionally requires a Lakebase Autoscaling endpoint and database credential-exchange permission. Apply private networking when the workspace uses private connectivity or an enterprise CA.

When CI and the App use different Lakebase principals, keep a stable release principal as table owner, run schema migrations before App rollout, and grant the App principal DML plus sequence usage. Fabric resolves shared telemetry relations independently of the App principal's first search_path schema, so an already-migrated deployment does not require table ownership merely to restart. See Enterprise Databricks controls.