Skip to content

[rush-daemon][WS2.3] Add warm engine component factory - #1

Open
mojaza wants to merge 1 commit into
mojazayeri-microsoft-rushd-warm-workspace-sessionfrom
mojazayeri-microsoft-rushd-ws2-warm-graph
Open

[rush-daemon][WS2.3] Add warm engine component factory#1
mojaza wants to merge 1 commit into
mojazayeri-microsoft-rushd-warm-workspace-sessionfrom
mojazayeri-microsoft-rushd-ws2-warm-graph

Conversation

@mojaza

@mojaza mojaza commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Summary

Adds the next reviewable WS2.3 increment for microsoft#5897: an opt-in factory that adapts a real, explicitly shaped all-project Rush engine into the warm WorkspaceSession lifecycle.

Depends on microsoft#5936. Tracks PBI 3216018.

Details

  • Requires the command owner to provide a real all-project IOperationGraph, RushSession, refreshable IInputsSnapshot, and explicit phase/plugin shape.
  • Validates graph ownership, all-project coverage, and declared operation phases rather than constructing a placeholder graph.
  • Reconciles retained headless invalidations against refreshed input snapshots, maps path-specific changes to graph operations, and conservatively invalidates the full graph for unknown changes or reconciliation races.
  • Serializes reconciliation and owns deterministic graph abort, runner closure, and component cleanup.
  • Exposes the engine shape and reconciliation result through the existing WorkspaceSession seam while preserving the standalone daemon's current protocol behavior.
  • Remains opt-in/dead-code-safe; normal Rush CLI behavior is unchanged.

A command-independent plugin/phase graph shape and per-iteration runner lifetime are still blocked by open microsoft#5895. This PR therefore does not duplicate PhasedScriptAction internals, construct a fake graph, or add phased request routing.

How it was tested

  • rush test --only @rushstack/rush-daemon
  • rush build --only @rushstack/rush-daemon

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants