Add feature-flagged operation event adapter - #5996
Add feature-flagged operation event adapter#5996Sean Larkin (TheLarkInn) wants to merge 3 commits into
Conversation
Sean Larkin (TheLarkInn)
left a comment
There was a problem hiding this comment.
Independent R5A review completed against #5978 and RFC phase 4.
Fixed in ac92280:
- collapsed sharded implementation records now feed one project x phase identity without losing shard output/failure state;
- raw stdout/stderr is tapped before newline normalization, including CR and unterminated chunks;
- cache-path terminal output now reaches the semantic stream;
- scheduling/pre-execution hook failures cannot leave registered operations without close/completion events.
Validation: focused OperationGraphEventSink suite (12/12), plus the inherited full reporter/rush-lib/apps-rush matrix on #5997 (304/773/28). No unresolved review threads. Auto-merge remains disabled because #5992 and earlier ancestors are open.
|
Combined deep review of current head
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d6318e80-5da9-4858-a147-817e8692f10e
ac92280 to
11a7f84
Compare
|
Combined review findings fixed at
Validation: reporter 298, rush-lib 782, apps/rush 47; focused operation tests 15; all three builds; API Extractor; |
|
Final combined review of |
Part of #5978
Stack
Parent: #5992 (
copilot/reporter-r3c-shadow-parity)R6 #5993 remains a parallel fork from #5989 and is not included here. Keep auto-merge disabled while stack ancestors are open.
Architecture
OperationGraph.eventSinkandOperationExecutionRecordhooks into the existingOperationStreamEmitter; scheduling and operation identity remain project x phasecommandResulthook instead of emitting a competing result pathFlag-off and presentation guarantee
When the reporter opt-in is disabled, the adapter does not expose a raw chunk callback, so
OperationChunkTapis not installed. The existingStreamCollator, problem-matcher, stdout, and stderr pipeline remains byte-identical and authoritative.When opted in, raw events flow to the manager, full-log file reporter, and explicit output sinks. The primary terminal reporter temporarily filters operation registration/status/output/close/completion events, so this slice cannot duplicate or suppress operation output while legacy collation still owns presentation.
Validation
rush test --only @rushstack/rush-reporter --only @microsoft/rush-lib --only @microsoft/rush --verbose(6 operations; reporter 295 tests, rush-lib 766 tests, apps/rush 19 tests)rush build --to @rushstack/rush-reporter --to @microsoft/rush-lib --to @microsoft/rush --verbose(8 operations)rush checkrush change --verify --no-fetchFocused coverage includes event ordering, stdout/stderr separation, 64 KiB chunk boundaries, no duplicated/lost chunks, previous/current status and outcome mapping, phase-aware identity, repeated watch iteration identity, silent operations, no-sink behavior, disabled-tap behavior, and byte-identical flag-off output.
R5B non-goals
StreamCollatoror duplicate-output cutover