Skip to content

[rush reporter][R5] Ship the feature-flagged operation stream demo #5978

Description

Parent: #5858

Blocked by: #5975, #5976

Goal

Deliver the first end-to-end, demoable Rush reporter path for direct rush build invocations, fully reversible behind opt-in controls.

Approach

Reuse the existing OperationGraph.eventSink/OperationExecutionRecord hooks to adapt scheduler activity into OperationStreamEmitter semantic events. Do not rewrite scheduling. While the opt-in is disabled, retain the exact StreamCollator path. While enabled, keep any collator plumbing needed internally but route its destination to a sink that cannot produce duplicate terminal output; the selected reporters become the sole visible presentation owners. Remove the primary-path collator only after parity is proven.

Scope

  • Emit phase-aware operation registration, status transitions, raw stdout/stderr chunks, stream close, completion, and aggregate command-result events.
  • Wire the built-in default, plaintext, ai, json, file, and legacy reporters for the direct frontend path.
  • Demonstrate the compact default reporter (spinner/activity/result) and always-on full-detail file.
  • Preserve detailed grouping in plaintext/file reporters and keep problem-matcher input uncollated.
  • Cover success, cache hit, warning, failure, blocked operation, cancellation, and watch iteration behavior.

Acceptance criteria

  • Flag off: representative legacy golden output is byte-for-byte unchanged.
  • Flag on: reporters are the only visible writers; no duplicated or lost operation chunks.
  • The default interactive demo stays within the intended compact activity/result presentation and points to the full log.
  • Plaintext/file output reconstructs operation grouping from raw events.
  • AI output is remediation-first and includes the absolute full-log path on failure.
  • A one-command demo fixture documents both legacy and opt-in invocations.
  • The opt-in can be disabled without reverting code.

DAG

This is the demo milestone. Unblocks R7, R8, and R10.

Part of #5858.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementThe issue is asking for a new feature or design change

    Type

    No type

    Projects

    • Status
      Needs triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions