Skip to content

Run the unit suite serially so the latency alarm measures the code - #3

Merged
asiermarques merged 1 commit into
mainfrom
fix/serial-unit-suite-latency-alarm
Aug 27, 2026
Merged

Run the unit suite serially so the latency alarm measures the code#3
asiermarques merged 1 commit into
mainfrom
fix/serial-unit-suite-latency-alarm

Conversation

@asiermarques

Copy link
Copy Markdown
Owner

test/unit/livePreviewLatency.test.ts is a wall-clock smoke alarm, and in parallel workers it was measuring the runner instead. As the suite grew (200 -> 252 tests, 18 -> 20 files) its readings inflated ~2x over an
isolated run and crossed the 10ms budget on CI: 28k words went 7.53ms ->
10.22ms while the 11k Chapter stayed put at ~5.2ms, and in the run before that the 11k reading came out above the 28k one. That ordering is OS scheduling, not work.

The keystroke path itself is unchanged: measured against v0.1.4 in a worktree, three runs each, both come out at 1.2ms / 2.5ms.

fileParallelism: false brings the suite readings back to the isolated ones, so the budget keeps its headroom as the suite keeps growing — a per-commit signal has to be a function of the code (ADR 0002). The suite goes from ~1s to ~3s, which on a 2-vCPU runner was most of what the parallelism bought anyway.

Claude-Session: https://claude.ai/code/session_014tVskosxYA2hp9GRQxnTAx

test/unit/livePreviewLatency.test.ts is a wall-clock smoke alarm, and in
parallel workers it was measuring the runner instead. As the suite grew
(200 -> 252 tests, 18 -> 20 files) its readings inflated ~2x over an
isolated run and crossed the 10ms budget on CI: 28k words went 7.53ms ->
10.22ms while the 11k Chapter stayed put at ~5.2ms, and in the run before
that the 11k reading came out *above* the 28k one. That ordering is OS
scheduling, not work.

The keystroke path itself is unchanged: measured against v0.1.4 in a
worktree, three runs each, both come out at 1.2ms / 2.5ms.

fileParallelism: false brings the suite readings back to the isolated
ones, so the budget keeps its headroom as the suite keeps growing — a
per-commit signal has to be a function of the code (ADR 0002). The suite
goes from ~1s to ~3s, which on a 2-vCPU runner was most of what the
parallelism bought anyway.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tVskosxYA2hp9GRQxnTAx
@asiermarques
asiermarques merged commit c490877 into main Aug 27, 2026
1 check passed
@asiermarques
asiermarques deleted the fix/serial-unit-suite-latency-alarm branch August 27, 2026 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant