Roadmap item 2.2.2 adds a synthetic-load benchmark command for validation and
evidence capture.
- Run
bun run benchmark:pty-frame-timingto generate deterministic benchmark evidence. - The default evidence path is in the system temporary directory
(
os.tmpdir()):<tmpdir>/benchmark-<project>-<branch>-pty-frame-timing-synthetic-load.json. - Override the output location with
bun run benchmark:pty-frame-timing -- --evidence-path /tmp/<name>.json. - The benchmark verifies the current runtime batching contract from
shared/src/constants/runtime-telemetry.tsmirrored inapp/constants/runtime-telemetry.ts(PTY_BATCH_DURATION_MS = 16andPTY_BATCH_MAX_BYTES = 200 * 1024) as used byapp/session.ts. - Treat benchmark output as valid only when all checks are
trueandpassedistrue. - Runtime telemetry for this milestone is emitted through
Term.reportRenderer(...)(info renderer.runtimeMetrics) and consumed inapp/utils/renderer-utils.ts; keep renderer-side and main-process contracts in sync when adding or renaming metric fields. - Verify diagnostics after instrumentation changes via the About dialog output: keydown-to-send latency, send-to-write latency, frame timing, long-frame counts, and PTY batching-parity status.