Gate hidden terminal renderer skip evidence#4847
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughThis PR adds hidden-scenario classification and minimum-threshold validation to the terminal perf budget checker. It introduces scenario regex lists, matching helpers, and minimum-failure generation to enforce that required hidden evidence metrics are present when hidden scenarios are detected. ChangesHidden scenario validation for terminal perf budgets
Possibly related PRs
🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes — adds minimum-evidence checks to the terminal perf budget validator so CI catches regressions where hidden renderer skipping silently drops to zero while latency stays coincidentally under budget.
- Add
addMinFailureandmatchesAnyhelpers — complements the existing max-budget checks with inverse minimum-budget validation and regex-based scenario matching. - Add
HIDDEN_RENDERER_SKIP_SCENARIOSandHIDDEN_RESTORE_SCENARIOS— define which hidden-perf scenarios must prove that renderer writes were actually skipped during the test run. - Enforce minimum
hiddenSkipsandhiddenSkippedChars— hidden typing scenarios require both ≥ 1; restore scenarios require ≥ 1 hidden chars (restore latency is meaningless without hidden output to restore).
DeepSeek Pro (free via Pullfrog for OSS) | 𝕏

Summary
This PR tightens the terminal perf report budget checker so hidden OpenCode scenarios must prove the behavior they are meant to protect: hidden/background terminal output is skipped at the renderer boundary instead of being written into xterm while the user is typing elsewhere.
Before this, the saved report checker enforced latency, queue bytes, restore latency, and dropped backlogs, but a regression could remove hidden renderer skipping and still pass if CI latency happened to remain under budget. The E2E tests asserted this during live execution, but the first-class report gate did not preserve that invariant when validating saved JSON artifacts.
What Changed
opencode-cross-workspace-typingopencode-scale-cross-workspace-*opencode-hidden-real-pty-pressure-typing*opencode-hidden-real-pty-restore*hiddenSkips >= 1andhiddenSkippedChars >= 1.hiddenSkippedChars >= 1, because restore latency is only meaningful if hidden output existed to restore.Benchmark / Verification Evidence
Targeted real Electron perf report run:
SKIP_BUILD=1 ORCA_E2E_OPENCODE_FRAME_COUNT=20 ORCA_E2E_OPENCODE_FRAME_INTERVAL_MS=3 \ pnpm run test:e2e:terminal-perf:scale:report -- \ --grep "another workspace streams OpenCode-style output" \ --report test-results/hidden-render-budget-report.jsonResulting report row:
opencode-cross-workspace-typingThe strengthened budget checker accepted the generated report:
node config/scripts/check-terminal-perf-report-budgets.mjs test-results/hidden-render-budget-report.json # Terminal perf budget check passed for 1 annotation row(s).Focused unit coverage:
Touched-file lint:
pnpm exec oxlint config/scripts/check-terminal-perf-report-budgets.mjs config/scripts/check-terminal-perf-report-budgets.test.mjsRelease Safety
This does not change terminal runtime behavior. It only makes CI/report validation fail if hidden-terminal perf scenarios stop proving hidden renderer writes are being skipped. That keeps the next perf iterations isolated from release stabilization while adding a guardrail for the 100-agent direction.
Summary by CodeRabbit
New Features
Tests