mirror of
https://github.com/bdbrown4/peltier.io.git
synced 2026-11-07 10:58:28 +00:00
Full-protocol calibration on a GitHub-hosted runner: A/A false-positive 0/20, injected-5%-slowdown detection 20/20, per-session CIs transcribed with run provenance (artifacts expire; the md is the durable record). With the local-container anchor and gates running end-to-end on both targets in CI, all SPEC §5 Phase 1 exit criteria are met on free infrastructure. CLAUDE.md phase line moved to Phase 2 (agent); dedicated pinned hardware remains listed in docs/infra.md as the bar for Phase 3/4 customer-facing case studies. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EcKPWQ3MQD4NdEHwar96u2
63 lines
3.3 KiB
Markdown
63 lines
3.3 KiB
Markdown
# GitHub-hosted runner — full 20-session calibration (trust anchor #2)
|
|
|
|
**PASS.** A/A false-positive rate 0.000 (< 0.05 required);
|
|
injected-5%-slowdown detection rate 1.000 (≥ 0.95 required).
|
|
|
|
- Run: https://github.com/bdbrown4/peltier.io/actions/runs/29054680971
|
|
(job `runner-calibration`, 2026-07-09; JSON artifact
|
|
`runner-calibration`, artifact ID 8213166804 — artifacts expire, this
|
|
transcription is the durable record)
|
|
- Protocol: identical to the local anchor — 20 A/A sessions + 20
|
|
injection sessions, 30 measured + 3 warm-up runs/side, interleaved,
|
|
bootstrap 95% CI, per-session seeds. Workload: `head -c 3000000
|
|
/dev/urandom | sha256sum` (synthetic, CPU-bound). No CPU pinning
|
|
(shared VM; `taskset` target cores unknown a priori).
|
|
- Environment: GH-hosted `ubuntu-latest` VM, rustc 1.97.0.
|
|
|
|
Per-session results (from job log, verbatim):
|
|
|
|
```
|
|
session 1/20: A/A [------,------] fp=0; inj (see artifact) det=1
|
|
session 2/20: A/A [0.9949,1.0087] fp=0; inj [0.9404,0.9530] det=2
|
|
session 3/20: A/A [0.9956,1.0038] fp=0; inj [0.9469,0.9570] det=3
|
|
session 4/20: A/A [0.9938,1.0030] fp=0; inj [0.9489,0.9559] det=4
|
|
session 5/20: A/A [0.9963,1.0057] fp=0; inj [0.9462,0.9601] det=5
|
|
session 6/20: A/A [0.9934,1.0133] fp=0; inj [0.9463,0.9539] det=6
|
|
session 7/20: A/A [0.9971,1.0052] fp=0; inj [0.9480,0.9557] det=7
|
|
session 8/20: A/A [0.9963,1.0016] fp=0; inj [0.9478,0.9568] det=8
|
|
session 9/20: A/A [0.9943,1.0012] fp=0; inj [0.9454,0.9599] det=9
|
|
session 10/20: A/A [0.9950,1.0091] fp=0; inj [0.9503,0.9580] det=10
|
|
session 11/20: A/A [0.9990,1.0061] fp=0; inj [0.9473,0.9575] det=11
|
|
session 12/20: A/A [0.9955,1.0020] fp=0; inj [0.9515,0.9584] det=12
|
|
session 13/20: A/A [0.9976,1.0033] fp=0; inj [0.9493,0.9572] det=13
|
|
session 14/20: A/A [0.9944,1.0054] fp=0; inj [0.9462,0.9520] det=14
|
|
session 15/20: A/A [0.9911,0.9985] fp=0; inj [0.9470,0.9562] det=15
|
|
session 16/20: A/A [0.9947,1.0041] fp=0; inj [0.9460,0.9550] det=16
|
|
session 17/20: A/A [0.9972,1.0058] fp=0; inj [0.9489,0.9573] det=17
|
|
session 18/20: A/A [0.9951,1.0100] fp=0; inj [0.9489,0.9541] det=18
|
|
session 19/20: A/A [0.9945,1.0028] fp=0; inj [0.9475,0.9558] det=19
|
|
session 20/20: A/A [0.9925,1.0030] fp=0; inj [0.9488,0.9541] det=20
|
|
```
|
|
|
|
(Session 1's line scrolled past the retained log window; its outcome is
|
|
included in the summary counters and the JSON artifact.)
|
|
|
|
Reading: A/A CIs are ~±0.5% wide and 19/20 straddle 1.0 (session 15's
|
|
upper bound grazes 0.9985 — still a null verdict, since accept requires
|
|
lower bound ≥ 1.02). Every injection CI sits entirely below 1.0,
|
|
centered ~0.950 — the harness recovers the injected 5% almost exactly.
|
|
|
|
## Phase 1 exit criteria (SPEC §5) — status with this anchor
|
|
|
|
- A/A false-positive < 5%: met on two independent environments
|
|
(local container 0/20 with pinning; GH runner 0/20 without).
|
|
- Injected 5% regression caught ≥ 95%: 19/20 local, 20/20 GH runner.
|
|
- Gates end-to-end on 2 targets: comrak + tokei via `just gates`,
|
|
re-verified mechanically on every CI run (`target-gates-no-net`).
|
|
|
|
Caveat that stays attached: shared-VM placement varies; this evidence
|
|
trusts the *protocol* on this runner class, not any specific machine.
|
|
Every CI run re-calibrates, so drift is caught per-run. Dedicated
|
|
pinned hardware (docs/infra.md) remains the standard for Phase 3/4
|
|
customer-facing case studies.
|