Repository navigation
fix(engine): keep capture diagnostics on stderr - #5304
Open
user-github-me wants to merge 1 commit into
Open
user-github-me wants to merge 1 commit into
user-github-me wants to merge 1 commit into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Send engine browser/capture/parallel diagnostics to stderr so commands such as
hyperframes benchmark --jsonemit a parseable JSON report on stdout.Why
A healthy benchmark completes all five configurations, but its stdout starts with
[BrowserManager] Browser launched, initialization messages, and forwarded browser logs. Parsing the documented JSON output fails before reaching the report. These diagnostics bypass the producer logger, which already reserves stdout for command payloads.Related work
Merged #2520, #2551, and #3836 establish stderr routing for system-memory, CLI, and proxy diagnostics. This change covers the remaining engine emitters. Open #5227, #5178, #4954, #3993, #3941, and #3803 touch these modules for timeline waiting, proxies, rendering, verification, or worker sizing; none covers diagnostic stream routing.
How
Route launch, initialization, browser-console, fallback, reuse, and parallel/debug notices to stderr. Keep diagnostic text, session buffering, font-error suppression, and render error classification. Extend the existing stderr-only lint guard to the three engine emitter modules.
Test plan
benchmark --runs 1 --jsonprocesses on a valid 64×64, 0.2-second composition: parse the entire stdout withjson.loads, verify five completed runs and zero failures, and verify launch/init/runtime diagnostics remain on stderr. Unchanged main completes the same runs but its complete stdout fails JSON parsing.console.login an engine emitter. Changed files pass lint and formatting; root lint, test reachability, initial full workspace build, engine build, CLI rebuild/typecheck, and normal commit hooks pass.To reproduce, run
hyperframes benchmark <valid-project> --runs 1 --json > report.jsonand parsereport.json. On main it contains engine notices before the JSON report; this change retains those notices on stderr.