@fabricorg/experiments
v1.0.0
Published
Fabric Experiments CLI (fx) — govern A/B experiments and Databricks quality workflows from TypeScript and CI.
Readme
Fabric Experiments CLI
@fabricorg/experiments installs the fx command for local and hosted Fabric Experiments workflows.
Fabric Experiments unifies governed A/B experimentation, TypeScript BDD and live testing for Databricks workloads, Quality Center evidence, and production release policy.
Install
Run without installing:
npx @fabricorg/experiments --helpOr install globally:
npm install -g @fabricorg/experiments
fx --helpQuickstart
For the hosted product, create a scoped API key in Studio and log in once:
fx login --api-key fx_key_...
fx doctor
fx harness doctor
fx harness fiber
fx profile show
fx push experiments/
fx test publish reports/evidence.json
fx test import-mlflow <run-id> --workspace-host "$DATABRICKS_HOST" --gates "accuracy>=0.9"
fx targets list
fx targets doctor lakeflow-jobs
fx targets run lakeflow-jobs --live --evidence reports/jobs-pack.json
fx targets doctor vector-rag-agents
fx targets run vector-rag-agents --live --evidence reports/vector-rag.json
fx targets publish reports/jobs-pack.jsonfx login discovers the current API and organization through the branded Studio
URL. It stores a private local profile; explicit flags and CI environment
variables remain supported.
For a local workspace:
In a project containing experiment YAML files:
fx validate experiments/
fx dev
fx apply experiments/
fx report homepage-cta
fx kill homepage-cta --reason "Web Vitals regression"Commands
fx validate <dir> Lint experiment YAML files in <dir>.
fx plan <dir> Show diff between YAML and live control plane.
fx apply <dir> Apply YAML to the control plane.
fx push <dir> Reconcile YAML with the hosted organization.
fx dev Start local dev server.
fx publish Sign current manifest; optionally push to manifest-worker.
fx report <experimentId> Print results for an experiment.
fx kill <experimentId> Kill a running experiment. Requires --reason.
fx import-mojito <dir> Convert Mojito waves and emit a compatibility report.
fx init databricks-tests Scaffold a TypeScript/Gherkin Databricks suite.
fx test publish <file> Publish BDD/live/JUnit/CLI evidence to Quality Center.
fx test import-mlflow <id> Link native managed-MLflow metrics to Quality Center.
fx login Configure and verify a secure hosted profile.
fx logout [profile] Remove a hosted profile.
fx profile [list|show|use] Inspect or switch profiles without printing secrets.
fx doctor Verify API, gateway, tenant, role, and config security.
fx harness list List tenant-scoped Fabric Harness operator jobs.
fx harness run <job> Run a finite job; mutation/delivery requires explicit input.
fx harness fiber Open Fiber through a localhost-only credential bridge.
fx harness register-key Pin a customer agent's Ed25519 release key.
fx harness revoke-key <id> Revoke a pinned customer-agent release key.
fx harness enroll Enroll a signed, immutable customer Harness agent manifest.
fx targets list List typed workload target packs and maturity.
fx targets doctor <pack> Check a pack's environment without exposing secrets.
fx targets run <pack> --live Run a pack against a real target and write evidence.
fx targets publish <file> Publish pack evidence to the tenant's Quality Center.Customer-owned Harness agents use a two-step trust flow. Register the public release key first, then submit a detached signed envelope; a key supplied with an enrollment is never trusted implicitly:
fx harness register-key --input '{"keyId":"release-2026","publicKeyHex":"<64 hex chars>"}'
fx harness enroll --input "$(cat signed-agent-envelope.json)"
fx harness revoke-key release-2026When the manifest requests a Unity Catalog Agent Service, the customer-owned
Databricks worker creates or verifies the external service and grants only the
declared EXECUTE principals.
For a migration gate that fails until every trigger and asset is portable:
fx import-mojito ./waves --out ./experiments --strictCommon pathname, URL-contains, DOM-ready, and wait-for-element triggers are
converted automatically. import-report.json inventories every conversion and
manual-review warning.
Docs
Full documentation: https://experiments.fabric.pro
License
MIT
