Infrastructure: Qualify desktop lifecycle failure paths and maintain a support matrix

Aperta
#4,451 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
12/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
macos, react-native, typescript

Direzione di ricerca

Start with the three references/current-status.md ledgers and the F14 section of the retired driver-next.md at the cited revision; first confirm that the F15 baseline in #4441 is complete. Then trace the driver fixtures, harness and Storybook tests, and owning app CI listed in the scope. Done means an exact-revision matrix covers every endpoint and feature, records required measurements and skips accurately, and is validated in the affected packages and native lanes.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Platform: MacOS Platform: Win32 Platform: Windows Status: Blocked

Current status - 2026-11-07

Blocked for the qualified support baseline by F15 #4441. Evidence collection can continue; an open baseline gate is not a prohibition on parallel endpoint work.

The current ledger includes Windows Fabric 21 Pass/2 Partial/1 Fail and Win32 Paper 21 Pass/3 Partial, with historical macOS partial/not-run results at their exact source revisions. No all-pass or merged-head native qualification claim is justified.

Remaining consolidation includes the per-endpoint failures/gaps enumerated in #4441/#4437, native ownership/containment from #4446/#4447, a real non-React integrated application and AppKit fixture, independent supervisor/helper/app/Metro/bridge/runner/MCP faults, and a repeated-run reliability window. Coordinate release/CI windows with #4345/#4349 rather than claiming duplicate independent evidence.

Discovery/operation bytes and tokens, tool counts, cold/warm startup and latency, retries/recovery cost, retained resources and cleanup need exact revision/client/tokenizer/sample-count/artifact methods. Windows/Paper measurements remain Not run. Historical macOS numbers and green hosted jobs cannot fill those cells. Preserve every failed attempt and explicit Unsupported/Skipped outcome.

Goal

Maintain a revision- and endpoint-specific support matrix for the desktop automation packages, covering injected lifecycle failures and agent-efficiency measurements. Each feature item produces its own native and consumer evidence when it lands; this item consolidates that evidence and fills the gaps that only show up across components.

Part of #4435 (plan item F14).

Scope

  • Owner: cross-platform qualification; each feature owner remains responsible for its own evidence.
  • Paths (under packages/agentic/): driver native fixtures and contracts, harness and Storybook consumer tests, owning app CI and scripts, and the references/current-status.md ledgers.
  • Inject supervisor, helper, app, Metro, bridge, runner, and MCP failures independently. Cover same-port replacement, surviving children, stale descriptors, late renders, grant revocation, and uncertain cleanup.
  • Include a non-React application, and add the AppKit fixture rather than assuming it exists.
  • Report macOS Fabric, macOS Paper, Windows Fabric, and Win32 Paper separately.
  • Measure identical tasks for schema overhead, tool calls and response bytes, cold and warm startup, retries, recovery cost, retained resources, and cleanup correctness, and record them in the ledgers with their method.

Dependencies

  • Blocked by: F15 #4441, which establishes the baseline for the delivered foundation.
  • Consolidates: each advertised feature only after its implementation and endpoint evidence land.
  • Related: #4345 (driver production release qualification) and #4349 (required native CI).

Acceptance

  • The matrix lists each endpoint and feature with passed, failed, skipped, not-run, or unsupported status at an exact revision.
  • Hosted physical-input or capture skips are recorded as skipped, not passed; a successful semantic activate is not evidence that a physical click works.
  • Measurements record revision, client, platform, renderer, tokenizer, sample count, and artifact locator.
  • Historical results are never reported as qualification of a later revision.

Validation

  • Iterate with focused yarn test <name> in each changed package, then run its yarn format, yarn lint, yarn build, and yarn test. Finish with yarn clean-lage-cache then yarn lage buildci; run yarn lage test-links --verbose --grouped after markdown changes.
  • Add a patch changeset for each changed published package. Update the owning references/current-status.md rows (done, work in progress, unsupported) and affected README/AGENTS guidance in the same change.
  • Native, provider, or process-topology changes need matching-OS native contracts and the affected consumer lane. JavaScript tests and bundles do not qualify native behavior; hosted capability skips are not passes. Report each check as passed, failed, skipped, not run, or unsupported.

Evidence

  • Current ledgers: packages/agentic/desktop-driver/references/current-status.md, packages/agentic/desktop-test/references/current-status.md, and packages/agentic/desktop-driver-mcp/references/current-status.md.
  • Retired plan: driver-next.md at 0569e1b86, sections 8 (F14) and 11.
Lingua principale
TypeScript
Stelle
1.4k
Fork
179
Merge medio
1g 8h
PR unite (30g)
60

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/fluentui-react-native

Tutte le issue di microsoft/fluentui-react-native

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.