Performance-benchmark discipline: stability then simplicity then overhead; Playwright control with Chrome traces and Electron contentTracing, serial production-build runs, opt-in detailed profiling, raw-data preservation, no machine-dependent thresholds, completion-only assertions, and benchmark-free normal discovery. Read before adding or running performance benchmarks.
- Prioritize stability, then simplicity, then measurement overhead.
- Use Playwright for scenario control, isolation, and completion checks.
- Use Chrome Performance traces for generic browser profiling.
- Use Electron
contentTracingfor packaged multi-process profiling. - Keep custom probes only for product-specific measurements.
- Do not duplicate measurements across the harness, probes, and traces.
- Run benchmarks serially to avoid cross-test contention.
- Run benchmarks against production builds.
- Keep detailed profiling opt-in when it changes workload behavior.
- Preserve raw diagnostic data or use lossless representations.
- Do not enforce machine-dependent performance thresholds.
- Assert scenario completion and metric collection only.
- Keep normal test discovery free of manual benchmarks.