[rush reporter][R5] Ship the feature-flagged operation stream demo
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- nodejs, typescript
- 領域
- build-system, cli, tooling
調査の方向性
Start by tracing the named OperationGraph.eventSink and OperationExecutionRecord hooks into OperationStreamEmitter, then compare the existing StreamCollator path and built-in reporters. Use the direct rush build entry point and the one-command demo fixture to verify legacy and opt-in behavior. Done means parity when disabled, complete event coverage without duplicate output, and the documented reporter demonstrations pass.
索引モデルが issue の本文から書いたものです。
説明
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, andlegacyreporters 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.
- 主要言語
- TypeScript
- スター
- 6.5k
- フォーク
- 708
- 平均マージ
- 4日 13時間
- マージ済み PR(30日)
- 62
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/rushstack のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
microsoft/rushstack の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
bcgov/bc-wallet-mobile#4761 · コメント 1 件 ·
-
external-issue to-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
area-deployment area-integrations triage:bot-seen
難易度 2/5 半日 初心者へのやさしさ 86/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
refactor
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100