Engineering & roadmap

PB-002: Tenant smoke test of ten core flows

A new name. The same foundation. KratosForge is the upcoming name for Fabric Desktop by KratosBI. These guides preserve the app’s current labels and paths.

State: Proposed. Not approved for implementation. Priority: P0 (blocker). Owner when approved: Master product, with the Enterprise readiness program (FD-101, FD-140).

1. PR title and ID#

Add the tenant smoke test pack and record its results (PB-002)

2. Business problem#

Almost every Fabric-facing feature has passed tests only against a faked Fabric. The live test harness (fabric-desktop live-test) has never run. Launching Stable to about 5,000 people without a single recorded end-to-end run on a real tenant risks failures that the test suite can't see: sign-in with Microsoft's public client, OneLake writes, Run in Fabric and the runner notebook.

3. Current verified behavior#

  • sidecar/fabric_desktop/livetest.py guards against unmarked and production-looking workspaces and cleans up; its tests pass (sidecar/tests/test_livetest.py). --help lists --dry-run, --cleanup and --agent-config (observed in this assessment).
  • docs/live-testing.md explains how to run it. No run has been recorded.
  • docs/README.md lists features the maintainer used on his tenant, partly with an own app registration rather than Microsoft's public client.

4. Desired behavior#

A short, repeatable pack that the maintainer runs on a non-production workspace in about an hour. It records, per flow, pass or fail with the app version, date and notes, and the results update the feature inventory's verification.

5. In scope and out of scope#

In scope: a checklist document of ten flows; a results template; a section in docs/live-testing.md linking them; one inventory update after the run.

Out of scope: new product code; automating UI flows; any production workspace; any cloud resource beyond the maintainer's existing non-production workspace and capacity.

6. Architecture and files#

  • New docs/product/smoke-test/README.md (the ten flows) and docs/product/smoke-test/RESULTS-TEMPLATE.md.
  • Edit docs/live-testing.md (link), zensical.toml (nav), docs/README.md (table row).
  • After the run: docs/product/FEATURE_INVENTORY.json (evidence kind report, verification changes only for flows that passed) and a results file docs/product/smoke-test/results-<date>.md.

7. Functional requirements#

The ten flows, each with steps, expected result and the feature ids it verifies:

  1. Install from the Preview release and start the engine (FEAT-SHL-01, FEAT-SHL-09).
  2. Sign in with Microsoft's Fabric CLI client and WAM, no own app registration (FEAT-AUTH-01).
  3. List workspaces and open a lakehouse in the catalog (FEAT-FAB-02, FEAT-ONE-01).
  4. Create a lakehouse with a valid name; see a clear refusal for an invalid one (FEAT-FAB-03).
  5. Create a notebook, run cells on the PC, write a table to OneLake (FEAT-NB-02, FEAT-ONE-05).
  6. Publish the notebook and Run in Fabric; see it in Monitor (FEAT-FAB-06, FEAT-FAB-07).
  7. Prove the notebook on PC and Fabric (FEAT-PRV-01).
  8. Metadata project: run Dev on the PC, promote to Test in the marked workspace (FEAT-META-02, FEAT-META-09, FEAT-META-14).
  9. fabric-desktop live-test with and without --dry-run, then --cleanup (FEAT-OPS-04, FEAT-FAB-01).
  10. Report a problem and save a support bundle; check nothing personal is in either (FEAT-SHL-10, FEAT-SHL-11).

8. Nonfunctional requirements#

  • The whole pack runs in about an hour on one non-production workspace.
  • Every flow says what it writes and how to clean it up.
  • Results never include tokens, tenant ids or personal data.

9. Dependencies#

  • The maintainer's non-production workspace on an existing capacity (no new resources).
  • PB-003 extends the pack with leases and MERGE after this runs.

10. Security and compatibility#

  • --dry-run must be run first and must write nothing (AGENTS.md: a dry run must not mutate data).
  • The live test's guards stay unchanged; no workspace marked production may be used.

11. Acceptance criteria#

  • The checklist and template are merged and linked from the docs.
  • One completed results file exists, signed off by the maintainer.
  • Inventory verification changes only for flows that passed, citing the results file.
  • Defects found become backlog items or GitHub issues linked from the results.

12. Unit and integration tests#

None new; the pack is a manual test. python docs/product/tools/product_data.py all must pass after the inventory update.

13. Manual verification#

The pack itself. A reviewer re-runs flow 9 with --dry-run and confirms nothing was written.

14. Documentation#

docs/product/smoke-test/README.md, results template, link from docs/live-testing.md, nav and docs/README.md row.

15. Rollback#

Revert the docs commit. Results already recorded stay as history in Git.

16. Definition of Done#

Merged, one run recorded, inventory updated and consistent, defects filed, implementation review outcome recorded in docs/product/reviews/.

Need a hand?

Find a fix in troubleshooting, or share a reproducible issue with the community.

Get support ↗Improve this guide on GitHub ↗

Search documentation

Start typing to search all 105 guides.

Search runs in your browser esc to close