Skip to content

Infrastructure workstream #4275

Description

@JasonVMo

Goal

Make desktop behavior and package-cost claims for the agentic component library
provable. Contributors and agents should use one supported desktop-driver and
Storybook workflow, CI results must distinguish native evidence from simulated
evidence, and component/theming bundle boundaries must be reproducible.

Status

In progress. Four of nine direct work items are closed; five remain open.

PR #4294
landed the shared Stage 1 foundation:

  • Added the public @fluentui-react-native/desktop-driver package with a
    client-neutral W3C remote end, deterministic fake host, typed client,
    WebdriverIO runner, JSON CLI, bounded agent API, and confined artifacts. This
    closes #4258.
  • Moved reusable Storybook desktop orchestration into the shared
    storybook-desktop CLI and removed app-local lifecycle scripts and the
    dedicated windows-tests harness.
  • Added generated platform manifests, authenticated runtime identity, owned
    Storybook/Metro/driver lifecycles, and smoke --mode stories|stories-and-tests.
  • Added pull-request smoke jobs for Windows Fabric and Win32 Paper with artifact
    upload. The merged validation traversed 136 Windows stories and 130 Win32
    stories; three authored plans passed through the fake target on each.
  • Added initial Button, Checkbox, and Input role/state/value plans.

The bundle-size warning pipeline
(#4253),
Win32 Paper endpoint
(#4259), and
initial desktop Storybook pipelines
(#4279) were
already closed. PR #4295
also added cross-platform theme bundle scenarios that prove modern Flex paths
exclude reverse legacy compatibility payloads.

Current evidence boundary

stories traverses the supported catalog in a real native Storybook app.
stories-and-tests performs that native traversal and then runs authored plans
against the manifest-derived fake target. A green authored-plan result is
therefore not yet proof that native accessibility or interaction behavior
passed
.

What is left

  1. Add real native driver providers and pass the release gate on macOS, Windows
    Fabric, and Win32 Paper
    (#4257).
  2. Run authored Storybook plans through those native providers, then define
    required jobs, retry limits, quarantine, artifact retention, and ownership
    (#4256).
  3. Expand the accessibility schema beyond the initial role/state/value cohort
    to normalized accessible name, keyboard reachability, reports, and real
    macOS/Windows execution
    (#4255).
  4. Finish the Windows smoke-harness disposition by proving that all required
    focus-crash coverage survives the retired harness
    (#4254).
  5. Evaluate and deliver reliable window-scoped Windows Composition screenshots
    with locked-session diagnostics and provenance
    (#4260).
  6. Promote bundle comparisons from warning/advisory output to reviewed required
    budgets after normal variance is established; add a follow-up issue if that
    work is no longer represented by closed Infrastructure: Add bundle-size and dependency regression gates #4253.

Work items

Status Issue Outcome or remaining work
Done #4253 - Bundle-size and dependency regression gates Cross-platform baselines and warning pipeline merged; required-budget promotion remains a rollup follow-up.
Open, partial #4254 - Windows Jest smoke harness Dedicated harness removed; native focus-interaction parity and durable ownership still need resolution.
Open, partial #4255 - Story accessibility assertions Initial Button, Checkbox, and Input role/state/value plans merged; broader schema and native proof remain.
Open, partial #4256 - Storybook E2E pipelines Windows/Win32 PR smoke, artifacts, shared macOS commands, native traversal, and fake-plan execution merged; native-plan parity and policy remain.
Open #4257 - Real-platform driver proof Implement native providers, eliminate false-green paths, publish compatibility evidence, and pass release gates.
Done #4258 - Land desktop driver Public Appium-free Stage 1 package and shared orchestration merged in PR #4294.
Done #4259 - Win32 Paper Storybook Endpoint is available and used by the shared smoke pipeline.
Open #4260 - Windows Composition screenshots Native capture evaluation and reliable evidence path remain.
Done #4279 - Initial desktop Storybook pipelines Initial pipeline foundation completed.

Beta exit criteria

  • The public desktop-driver package is merged, built by the unified graph,
    and covered by package tests.
  • Storybook exposes one shared CLI for manifest generation, native catalog
    traversal, fake authored-plan execution, and owned process lifecycles.
  • Pull-request smoke jobs exercise Windows Fabric and Win32 Paper and upload
    artifacts.
  • The Win32 Paper Storybook endpoint bundles and launches through the shared
    workflow.
  • Cross-platform component and Flex-theme bundle baselines and dependency
    boundaries are checked and reported.
  • At least one authored plan executes against a real native provider with
    truthful application-termination and artifact reporting.
  • At least three components beyond Button have portable role, name, state,
    value, and keyboard assertions validated on a real desktop endpoint.
  • Every false-green path in the driver release task is fixed or documented
    as an explicit limitation.
  • The replacement suite preserves all required focus-crash coverage from
    the retired Windows harness.

Production exit criteria

  • macOS, Windows Fabric, and Win32 Paper run the same authored manifest as
    required CI gates with matching digests.
  • Retry, quarantine, expiry, artifact retention/redaction, and escalation
    policies have named owners.
  • Backend prerequisites and compatibility ranges are published and tested.
  • The driver package is released and validated by an external consumer
    without a globally installed Appium driver.
  • Bundle growth budgets are required gates and baseline changes require
    reviewed rationale.
  • Flex-only consumers exclude legacy and optional capabilities unless those
    capabilities are explicitly imported.
  • Windows Fabric publishes window-scoped visual evidence with capture
    provenance and locked-session diagnostics; pixel differences remain
    evidence, not a pass/fail gate.
  • Portable accessibility assertions are required for the initial component
    cohort on macOS and Windows.

Agent context

Architectural boundary

  • The supported public contract is driver-client neutral and Appium-free.
  • Platform providers may use platform-specific automation internally, but that
    detail must not leak into portable authored plans.
  • A fake-host pass proves schema and orchestration determinism only.
  • Native story traversal proves the application can enumerate and render the
    supported catalog, not that authored accessibility assertions ran natively.
  • Deterministic gates and optional visual evidence must remain separate.

Current catalog exclusions

  • Windows Fabric excludes Accordion and Callout because they still fail-fast
    the RNW 0.81 Fabric host during traversal.
  • Win32 Paper excludes Accordion and ListItem; Callout remains covered on the
    Paper endpoint.

These exclusions must remain explicit in manifests and reports until the
underlying platform failures are resolved.

Sequencing

  1. Native providers and false-green fixes precede required interactive jobs.
  2. Accessibility normalization should stabilize before expanding the authored
    cohort.
  3. Real Windows sessions should evaluate native screenshot fidelity before a
    host-level fallback is built.
  4. Required bundle budgets should use observed variance rather than thresholds
    selected merely to make the first run pass.
  5. macOS automation needs an authenticated, unlocked GUI session and stable
    Automation Mode; Windows native runs need an unlocked interactive desktop.

Merged evidence

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions