Skip to content

[rush reporter][R3] Emit shadow RushSession lifecycle and diagnostics #5976

Description

Parent: #5858

Blocked by: #5974

Goal

Connect rush-lib to the reporter event contract in shadow mode, with no visible output change.

Scope

  • Expose a typed reporter event sink and scoped producers through RushSession, actions, and plugins without exposing concrete reporters.
  • Adapt command/session lifecycle, structured diagnostics, telemetry projection, and command-result/exit-status events into the canonical envelope.
  • Keep operation identity phase-aware: an operation is project × phase, not merely a project.
  • Bridge legacy hooks and AlreadyReportedError correlation while the legacy renderer remains authoritative.
  • Add parity tests for event ordering, telemetry fields, diagnostics, and exit status.

Acceptance criteria

  • Shadow emission can be enabled in tests without changing stdout/stderr.
  • First-party lifecycle and diagnostic paths emit stable, correlated envelopes.
  • Actions/plugins receive scoped producer APIs only.
  • Telemetry and derived exit status match legacy behavior for success, warning, failure, cancellation, and internal-error cases.
  • Phase-aware operation identifiers are stable across retries/watch iterations.

DAG

Unblocks R4, R5, and R7.

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