Skip to content

Reporter overhaul (6/6): performance budgets and daemon-aligned major default flip#5870

Open
TheLarkInn wants to merge 4 commits into
reporter/5-heft-protocolfrom
reporter/6-perf-and-default-flip
Open

Reporter overhaul (6/6): performance budgets and daemon-aligned major default flip#5870
TheLarkInn wants to merge 4 commits into
reporter/5-heft-protocolfrom
reporter/6-perf-and-default-flip

Conversation

@TheLarkInn

@TheLarkInn TheLarkInn commented Jul 15, 2026

Copy link
Copy Markdown
Member

📚 Reporter Overhaul PR stack (merge bottom-up)

# PR Phase Base
1 #5865 Contracts & baselines (package) main
2 #5866 Bootstrap & compatibility #5865
3 #5867 Shadow structured emission #5866
4 #5868 Opt-in reporters #5867
5 #5869 Heft protocol track #5868
6 #5870 Perf budgets & default flip #5869

Each PR's diff is scoped to its phase; review independently, merge from #5865 upward.

👉 This is PR 6 of 6.

Phase 6 — Performance budgets & daemon-aligned major default flip (RFC §7.3, §8.1)

Encodes the P0 performance/capacity budgets and models the major-release default flip.

What's included

  • Performance & capacity budgetsREPORTER_PERFORMANCE_BUDGETS (≤3% wall-time regression, ≤32 MiB peak memory, bounded streaming, 10 Hz interactive refresh, 64 KiB AI output) + wall-time/memory helpers and a ReporterManager.getPendingEventCount() observability hook. Benchmark, queue-pressure, and status-coalescing tests prove bounded streaming and no loss of protected events.
  • Daemon-aligned major default flip (migration model as revertible data) — the 7 migration phases, pre-flip vs post-flip default sets (automatic selection on by default, legacy terminal APIs removed, incompatible plugins gated before apply() with a structured RUSH_PLUGIN_API_INCOMPATIBLE diagnostic), while the legacy renderer, verbosity aliases, and RUSH_REPORTER=legacy emergency fallback are retained.

Validation

  • rush build --to @rushstack/reporterrush test --only @rushstack/reporter ✅ (adds Performance and Migration suites)
  • All exports @beta. Completes the RFC (28/28 features).

Scope note

Standalone package; not yet wired into the live CLI. Independently releasable/revertible per RFC §8.1.

TheLarkInn and others added 4 commits July 15, 2026 04:52
Encode the specification §7.3 blocking budgets (3% wall-time regression,
32 MiB peak memory, 10 Hz interactive refresh, 64 KiB AI output, 20 AI
detailed diagnostics) as shared data in a new perf module, with helpers
for benchmark harnesses and capacity tests. Add a getPendingEventCount
observability hook to ReporterManager to prove bounded streaming, and a
Performance test suite covering the budgets, bounded streaming, a
high-volume benchmark, queue-pressure protected-event preservation, and
status coalescing.

Assistant-model: GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 897dcf7e-e6e8-4a84-85ca-34b93fa29be3
Assistant-model: GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 897dcf7e-e6e8-4a84-85ca-34b93fa29be3
Encode the specification §8.1 phase 6 default flip as revertible data in a
new migration module: the seven migration phases (each independently
releasable and revertible), pre-flip and daemon-aligned major default
sets (automatic selection on by default, legacy terminal APIs removed,
incompatible plugins gated before apply, legacy renderer/aliases/sentinel
bridge retained, RUSH_REPORTER=legacy emergency fallback), and a plugin
apply gate that fails incompatible plugins with a structured
RUSH_PLUGIN_API_INCOMPATIBLE diagnostic. Completes the Rush Reporter
Overhaul (28/28).

Assistant-model: GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 897dcf7e-e6e8-4a84-85ca-34b93fa29be3
Assistant-model: GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 897dcf7e-e6e8-4a84-85ca-34b93fa29be3
@TheLarkInn TheLarkInn force-pushed the reporter/5-heft-protocol branch from 95b3891 to be13212 Compare July 15, 2026 04:53
@TheLarkInn TheLarkInn force-pushed the reporter/6-perf-and-default-flip branch from 1defeea to 6f4808f Compare July 15, 2026 04:53
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