FabricFabricExperiments
Platform

Projects, features, and environments

Mojito-compatible configuration hierarchy, immutable environment publications, and governed promotion in Fabric Experiments.

Fabric Experiments now supports a configuration hierarchy alongside its experiment lifecycle:

Organization
└── Project
    ├── Properties (web, server, mobile, Databricks)
    ├── Environments (Development → Staging → Production)
    └── Features
        └── Rules per environment
            ├── targeting audience
            ├── rollout percentage
            ├── fixed value, or
            └── experiment variants

This is the compatibility layer for teams moving from Mojito Console. Existing tenant-scoped experiments continue to work; new experiments can optionally bind to projectId, propertyId, featureId, and one or more environmentIds.

Publications and promotion

Publishing an environment creates an immutable snapshot with:

  • a monotonically increasing environment version,
  • a SHA-256 resource hash,
  • the active features and ordered rules,
  • the current experiment manifest version,
  • the publisher and timestamp.

Promotion copies the latest published source rules into the next higher-ranked environment. Existing target rules are disabled first. Production environments can require an owner/admin approval. Promotion does not publish automatically, so the target remains reviewable before activation.

Every create, update, publish, and promote mutation goes through the Fabric Platform action invocation path and emits correlated audit evidence.

Studio

Open Configuration in Studio. The dotted stage canvas shows Development, Staging, and Production, their latest publication versions, active-rule counts, and guarded promotion controls. The same screen manages properties, features, and rules.

API

The hosted API exposes typed endpoints under /v1/orgs/:orgId for:

  • /projects
  • /projects/:projectId/properties
  • /projects/:projectId/environments
  • /projects/:projectId/features
  • /features/:featureId/rules
  • /environments/:environmentId/publish
  • /environments/:environmentId/promote
  • /environments/:environmentId/publications
  • /environments/:environmentId/configuration (latest immutable publication)

The generated @fabricorg/experiments-api-client exposes matching projects, properties, environments, features, and rules namespaces.

Databricks workload bindings

Experiments can bind to a first-class workload descriptor:

workload:
  kind: job
  resourceId: "123456789"
  resourceName: checkout-ranking-shadow
  evaluationMode: shadow
  assignmentUnit: job-run
  catalog: tf_databricks
  schema: fabric_experiments_prod

Supported workload kinds are SQL, notebooks, Jobs, Lakeflow pipelines, models, and Feature Serving endpoints. Modes are online, offline, and shadow; assignment units include users, requests, job runs, and table partitions.

On this page