Infrastructure: Add scoped runner grants and drain-confirmed desktop controller handoff

Abierto
#4,448 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
node.js, react-native, typescript

Línea de trabajo

Start with the cited "MCP/WDIO handoff" and "Standalone WDIO/Jasmine execution" sections in packages/agentic/desktop-test/references/current-status.md, then inspect the listed WDIO paths and storybook-desktop/src/testing/{runWdioTests,worker}.ts. The generic handoff is blocked by #4436 and #4442; Storybook work also depends on #4449. Done means implementing the scoped grant and drain flow, adding required status and guidance updates and changesets, and completing the package and native consumer validation described in the issue.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Status: Blocked

Current status - 2026-11-07

Blocked for generic handoff by F2 #4442 (in #4463); F1 is already merged. New input-lane selection in #4464 does not provide controller ownership transfer.

Remaining behavior: agent-served mode and ordinary WDIO still exclude each other; implement bounded busy/relinquish/operator-authorized preemption, stop new work, await cancellation/settlement and session DELETE, invalidate old references/cursors/proofs/artifact links, and only then grant the runner a session. Worker-crash drain and credential confinement remain acceptance requirements.

F9 #4449 gates only the Storybook phase. F10-M #4446 / F10-W #4447 gate only opt-in retained supervisor-owned applications; attach-only handoff does not need them. Cross-MCP-connection resume and automatic replay are not supported by this PR.

Goal

Agent-served mode (serve --agent) and WDIO runs currently exclude one another, so moving between MCP control and suite execution requires restarting services. Add scoped runner grants and a handoff that waits for the previous controller to drain before a runner opens its own session.

Part of #4435 (plan item F11).

Scope

  • Owner: WDIO and CSF runner integration.
  • Paths (under packages/agentic/): desktop-test/src/wdio/*, the driver's grant transport and drain contracts, and storybook-desktop/src/testing/{runWdioTests,worker}.ts.
  • Default to a bounded busy result. An explicit relinquish or operator-authorized preempt stops new work, cancels and awaits settlement, confirms session deletion, invalidates references, cursors, proofs, and artifact links, and only then authorizes a new runner session. Grant revocation callbacks are not a drain barrier.
  • Keep the documented CSF exception, where the runner owns the session and an isolated Node worker borrows it, unless it is deliberately migrated.

Dependencies

  • Blocked by: F2 #4442 for the generic handoff; F1 #4436 is delivered by #4455.
  • Phased prerequisites: Storybook integration requires F9 #4449. Retaining a supervisor-launched app across handoff requires F10-M #4446 or F10-W #4447 and an explicit ownership option. Attached-app handoff needs neither.
  • Unblocks: F13 #4450.
  • Parallel with: F3 #4444, F6 #4445, F10-M, and F10-W.

Acceptance

  • MCP and WDIO cannot control the same reserved target concurrently.
  • A worker crash drains its session.
  • Stale references, cursors, and artifact links fail after handoff.
  • Credentials never enter capabilities, generated config, logs, or model output.

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 state: "MCP/WDIO handoff" and "Standalone WDIO/Jasmine execution" in packages/agentic/desktop-test/references/current-status.md.
  • Retired plan: driver-next.md at 0569e1b86, sections 6 (cancellation, handoff, and recovery) and 8 (F11).
Lenguaje dominante
TypeScript
Estrellas
1.4k
Forks
179
Merge medio
1 d 8 h
PR fusionados (30 d)
60

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/fluentui-react-native

Todos los issues de microsoft/fluentui-react-native

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.