Conformance for the rules added in SPEC 0.2.0, 236 checks in all:
- C5 (§5.1–§5.2): for the published response-time vectors
(conformance/v1/scan_rate.json, 10 cases) the rate is at least the
nearest-rank P95 and ⌊100·M/65⌋, within 300..5000 ms; nothing adapts before
10 responses or without opt-in; a proposal never applies itself; the 10%
proposal rule is pinned at both edges.
- C6 (§5.1, §5.3): dwell vectors (conformance/v1/dwell.json, 24 cases) —
nothing changes without opt-in, shorter proposals respect the 300 ms floor,
both directions are reachable, clean selections alone change nothing, and an
opted-in engine applies exactly its proposal, once. A restored 30-selection
ratchet fails.
- C7 (§4.1): stable CoreStatus wire names, a record without a status reads as
GlossOnly, and only English carries a natively studied core.
C5 and C6 recompute every expected value from the raw inputs with an
independent oracle (cross-checked with exact fractions) before comparing the
engine, so the engine is held to the rule, not to itself. gen-vectors takes an
output directory and regenerates all three vector files byte-for-byte; the
harness takes a vector directory. A missing or unparseable vector is a FAIL.
Co-Authored-By: Claude Opus 5.5 <[email protected]>