Skip to content

docs(beat): record what the CI host actually measures for LinReg (0.788/0.805, ~11% headroom) - #2346

Merged
noahgift merged 1 commit into
mainfrom
docs/linreg-ci-reality
Jul 30, 2026
Merged

docs(beat): record what the CI host actually measures for LinReg (0.788/0.805, ~11% headroom)#2346
noahgift merged 1 commit into
mainfrom
docs/linreg-ci-reality

Conversation

@noahgift

Copy link
Copy Markdown
Contributor

Follow-up to #2345. This commit existed on that branch but was pushed after the merge queue had already snapshotted the PR, so the squash dropped it — the documented squash-drops-late-commits trap, caught by diffing main rather than assuming.

Main currently carries a claim I have since measured to be wrong for the host the gate runs on.

What #2345's doc comment says vs. what CI measures

#2345 justified the new workload with numbers from lambda-vector (Threadripper 7960X): apr ~1.85× faster, 42% headroom. I then dispatched beat-speed-nightly twice onto the clean-room pool — the host that produced the original 1.044 excursion:

apr=265.473ms sklearn=337.106ms ratio=0.788
apr=252.463ms sklearn=313.446ms ratio=0.805

The stability goal is met: 2.2% spread, where the 10 000×20 configuration swung 0.234 → 1.044 (346%) on that same pool.

But the level differs materially. On that host apr is ~1.25× faster, not ~1.85×, leaving ~11% headroom under the 0.90 ceiling rather than 42%. It penalises apr more than sklearn — 2.3× vs 1.55× slower than lambda-vector.

Two things recorded for whoever hits this next

Do not enlarge the workload again if this ever fails. apr's advantage shrinks with size (0.26 at 10 000×20 → 0.54 at 200 000×50, locally), so a bigger problem makes the ratio worse. That's the obvious next move and it's the wrong one.

The contract's baseline_floor: 0.56 describes neither host — not this one (0.79–0.81) and not the old size (0.26). Whether that gap is slower CI hardware or a real apr regression cannot be settled without historical CI data at this size, so it is left explicitly open rather than asserted in either direction.

Docs only — no code, no threshold changes.

🤖 Generated with Claude Code

…11% headroom)

Validated the new configuration by dispatching beat-speed-nightly twice onto
the clean-room pool - the host that produced the 1.044 excursion:

    apr=265.473ms sklearn=337.106ms ratio=0.788
    apr=252.463ms sklearn=313.446ms ratio=0.805

2.2% spread where the old size swung 346% on that same pool, so the stability
goal is met. But the LEVEL differs from my local box and the file said so
incorrectly: apr is ~1.25x faster there, not ~1.85x, leaving ~11% headroom
under the 0.90 ceiling rather than 42%. That host penalises apr more than
sklearn (2.3x vs 1.55x slower than lambda-vector).

Recorded two things a future reader needs. Enlarging the workload again is NOT
the remedy if this fails - apr's advantage shrinks with size, so a bigger
problem makes the ratio worse. And the contract's baseline_floor 0.56 describes
neither this host nor the old size; whether that is slower CI hardware or a
real regression cannot be settled without historical CI data at this size, so
it is left open rather than asserted.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@noahgift
noahgift enabled auto-merge July 30, 2026 10:01
@noahgift
noahgift added this pull request to the merge queue Jul 30, 2026
Merged via the queue into main with commit 12551dd Jul 30, 2026
12 checks passed
@noahgift
noahgift deleted the docs/linreg-ci-reality branch July 30, 2026 10:44
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