Skip to content

Complete shadow reporter parity coverage - #5992

Open
Sean Larkin (TheLarkInn) wants to merge 1 commit into
copilot/reporter-r3b-shadow-eventsfrom
copilot/reporter-r3c-shadow-parity
Open

Complete shadow reporter parity coverage#5992
Sean Larkin (TheLarkInn) wants to merge 1 commit into
copilot/reporter-r3b-shadow-eventsfrom
copilot/reporter-r3c-shadow-parity

Conversation

@TheLarkInn

@TheLarkInn Sean Larkin (TheLarkInn) commented Aug 28, 2026

Copy link
Copy Markdown
Member

Part of #5976

Stack

#5985 copilot/reporter-r1a-package-wiring
  -> #5986 copilot/reporter-r1b-bootstrap-generation
    -> #5987 copilot/reporter-r2a-experiment-config
      -> #5989 copilot/reporter-r2b-frontend-host-controls
        -> #5988 copilot/reporter-r3a-session-sink
          -> #5991 copilot/reporter-r3b-shadow-events
            -> this PR #5992 copilot/reporter-r3c-shadow-parity

Complete merge order: #5985 -> #5986 -> #5987 -> #5989 -> #5988 -> #5991 -> #5992.

R6 #5993 is a parallel fork from #5989 and is not part of this child chain.

Summary

  • add exhaustive shadow parity coverage for event ordering, correlation, trusted source identity, and privacy-safe telemetry projection
  • prove derived exit status matches success, warning-only success, operation failure, logical cancellation, configuration errors, and internal errors
  • verify project x phase operation identities remain distinct and stable across repeated watch-style iterations
  • prove stdout, stderr, and legacy StreamCollator rendering remain byte-identical while shadow reporting emits no raw output
  • cover no-sink/legacy frontend behavior by verifying scoped producers remain absent unless the optional engine sink is supplied
  • fix the shadow exit adapter so callers can preserve the canonical logical-cancellation outcome without changing authoritative process exit behavior

Independent stack review

  • Expose scoped RushSession reporter producers #5988 is narrowly scoped to the optional frontend-to-engine sink and trusted Rush/action/plugin producer facades; no identity spoofing, privacy leak, output change, or compatibility defect was found
  • Emit shadow Rush lifecycle events #5991 keeps legacy rendering and process exit authoritative, does not route operation chunks, and correctly correlates emitted operation diagnostics with legacy errors
  • the missing cancellation derivation and exhaustive parity matrix are addressed here rather than expanding either parent slice
  • telemetry assertions intentionally verify the Harden reporter telemetry privacy projection #5990 privacy boundary without duplicating its reporter-package implementation

Validation

  • focused Rush-lib reporter parity tests: 41 passed
  • rush test --only @rushstack/rush-reporter --only @microsoft/rush-lib --only @microsoft/rush --only @rushstack/rush-sdk (8 operations passed)
  • rush build --to @microsoft/rush --to @rushstack/rush-sdk (52 operations passed)
  • rush check
  • rush change --verify --no-fetch

No-output guarantee

No sink is created unless explicitly supplied. The shadow operation adapter emits lifecycle/status/diagnostic events only, never externalOutput; focused tests compare stdout, stderr, and the complete legacy StreamCollator rendering byte-for-byte with and without shadow reporting.

Non-goals

  • no reporter selection, CLI flags, repository defaults, or automatic activation
  • no StreamCollator replacement or R5 raw operation/output routing
  • no duplication of Harden reporter telemetry privacy projection #5990 telemetry-subscriber privacy hardening
  • no changes to legacy terminal/logger APIs or authoritative process exit behavior
  • no child-to-parent merges while stack ancestors remain open

@TheLarkInn

Copy link
Copy Markdown
Member Author

Combined deep review of current head 22089a0957.

No critical, high, or medium actionable findings. No useful low follow-ons.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
@TheLarkInn
Sean Larkin (TheLarkInn) force-pushed the copilot/reporter-r3c-shadow-parity branch from 22089a0 to 7a751fc Compare August 28, 2026 17:13
@TheLarkInn

Copy link
Copy Markdown
Member Author

Restacked onto exact #5991 head 2f9ac7d90e365143c0b33da2e8dd9782fda99e35. New #5992 head: 7a751fc03f0a089f0279e8fb50000733a02fc47e. The PR is one R3C commit, four files, CLEAN, mergeable, and auto-merge remains disabled. The R3C parity additions were preserved while overlapping sharded and watch behavior remains owned by #5991. Combined stack validation passed.

@TheLarkInn

Copy link
Copy Markdown
Member Author

Final combined review of 7a751fc03f found no critical, high, medium, or useful low issues. The restack preserves parity, cancellation, ordering, privacy, exit authority, and byte-identical visible output. This head is review-clean.

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

Labels

None yet

Projects

Status: Needs triage

Development

Successfully merging this pull request may close these issues.

1 participant