[rush reporter][R3] Emit shadow RushSession lifecycle and diagnostics
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 28/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- build-system, tooling
Direzione di ricerca
Start with the reporter event contract and blocker #5974, then trace RushSession, action and plugin entry points in rush-lib alongside the legacy hooks and AlreadyReportedError path. Review how lifecycle, diagnostics, telemetry, and exit-status events are currently handled. Done means shadow emission and parity tests cover ordering, correlation, telemetry, diagnostics, and all listed result states without changing stdout or stderr.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
AlreadyReportedErrorcorrelation 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.
- Lingua principale
- TypeScript
- Stelle
- 6.5k
- Fork
- 708
- Merge medio
- 5g 7h
- PR unite (30g)
- 44
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/rushstack
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Tutte le issue di microsoft/rushstack
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
ontola/atomic-server#1625 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
melgarafael/DeskcommCRM#1451 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
-
bug via-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
bot:ai-assisted component:compact-js status:untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
midnightntwrk/midnight-sdk#403 ·