Skip to content

v2 Track #1: Measurement Statistical Rigor (SPRT + CrUX + Ghost Run + Provenance) #5

Description

@hoainho

OpenSpec proposal: openspec/changes/add-measurement-statistical-rigor/

Bundles 4 features

  • A1 SPRT adaptive sample size — replace fixed N=5 loop in packages/core/src/engine.ts with Sequential Probability Ratio Test; terminate when LLR crosses threshold at α=β=0.05; cap N_max=30.
  • A2 CrUX field anchor — fetch chromeuxreport.googleapis.com for URL+origin+formFactor; compute representativeness_score; flag unrepresentative_lab when divergence > 0.3.
  • A3 Self-impact subtraction via paired ghost runRunMode='instrumented'|'ghost'; subtract observer overhead from headline LCP via passive CDP PerformanceTimeline domain.
  • B8 Provenance fingerprintsha256(URL + calibration + fixtures + ohmyperfVersion + taxonomyVersion) on Report.meta.captureFingerprint.

Status

Phase 5 OpenSpec artifacts COMMITTED (4e00711). Self-review verdict: APPROVED-WITH-CONDITIONS, 6 fixes applied inline. 5 open questions for user sign-off before M0 starts.

Effort

M-large (~1 week)

Dependencies

None (foundation for #3 and #5)

🤖 Generated by harness-init dogfood + Sisyphus v2 strategy

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions