Deploy
The ship path, with a gate. Preview every change as a dry run, let a readiness gate check the model before any live write, and keep an accountable record when someone ships anyway. Nothing reaches a live tenant without an explicit, human confirmation.
#In the Studio

The Deploy tab brings together local source control, a semantic-model diff, Fabric deployment pipelines, and the readiness gate that runs before a live write. You see what would change first, always.
The gate runs the Best Practice and AI-readiness scans (and, against a target, the pending-change count) and returns pass or block, with the blockers listed. A red gate pauses the deploy; shipping anyway takes an explicit, recorded reason, so an override is an accountable decision, not a silent bypass.
#Over MCP (dry-run first, everywhere)
- Preview and gate:
preview_deployshows what promoting a model between pipeline stages would change (New versus Update per item) plus the gate;deploy_gateruns the readiness check on its own and returns pass/block. Both are read-only. - Pipelines:
list_deployment_pipelines,get_pipeline_stagesandget_stage_itemswalk a Fabric deployment pipeline's Dev/Test/Prod stages and resolve the item to deploy.deployment_historylists recent deployments. - Deploy:
deploy_stagepromotes items between pipeline stages anddeploy_livewrites the session's metadata edits back over XMLA. Both are dry-run by default; a commit is a deliberate second step. Promoting to production, or any live commit, is reserved for a human confirming from the Deploy tab: an agent can preview and rehearse, but can never commit a production promotion. - Fabric git:
fabric_git_connectionandfabric_git_statusread the workspace-to-git state;fabric_git_connect,fabric_git_commitandfabric_git_updatesync it, each dry-run by default. - CI/CD and export:
cicd_generatescaffolds a ready-to-run CI pipeline (a parameter file, a GitHub Actions or Azure DevOps workflow, and a deploy script);cicd_publishpublishes the on-disk definition to a workspace (dry-run by default; the live publish is human-only); andexport_vpaxwrites the model to a VertiPaq-Analyzer.vpaxfile for the wider analysis ecosystem.
deploy_gate # BPA + readiness -> pass / block + blockers
preview_deploy # what a stage promotion would change (read-only)
deploy_live # DRY RUN by default: reports the metadata diff
deploy_live commit=true # writes back over XMLA (human-confirmed)
#The accountable checkpoint
When a live deploy commit runs, Semanticus runs the deploy gate first. If it comes back red, the deploy pauses with the blockers; shipping regardless takes an explicit override reason, which is recorded before the session is serialized and travels inside the artifact it authorized (the audit record ships with the model). It is never a hard wall on any door, and it is never a silent skip. See Edit History for the audit trail and Pro for the Verified Edits layer.
Every deploy, stage promotion, Fabric git sync and CI publish is a dry run by default and requires an explicit commit; a live production promotion must be confirmed by a human from the Deploy tab. Your Claude can preview and rehearse the whole path, but the live write is yours.
Semanticus