NoCap-Test evidence · think2earn docs
Source code ↗

Fair clock — public rules (NoCap)

Audience: strangers auditing speed claims.
Evidence state: 2026-07-16.
Companion glossary: GLOSSARY.html.
Quality-gate primer: disjoint-val-explained.html.
Private ops protocol (agents): nocap-repo/docs/ops/FAIR_CLOCK.md — prefer this public file + sealed Jul 15–16 summaries for current claim practice.


What speed means

The published speed metric is first-passage train time:

  1. Train on the sealed recipe / pin.
  2. Log official val_disjoint on a fixed schedule (claim-stack: every 128 steps).
  3. Find the first step with val_disjoint ≤ 3.3821.
  4. Read train_time_ms at that row → convert to hours: T = train_time_ms / 3.6×10^6.
  5. Compare to the public denominator:

ΔT% = 100 × (T_F1_seal - T_M) / (T_F1_seal) with T_F1_seal = 3.866 h

Positive ΔT% = fewer hours to first hit the quality bar (faster).

Include compile warmup in T. Do not strip startup, do not substitute sliding/EMA, do not use “pretty curve” screenshots.


Public denominator

LabelWorkspaceRecipe classFirst-cross T
F1_sealClock-WStock AdamW · raw FineWeb · zloss 0 · no prior/EMA3.866 h @ step 4736

Source: nocap-repo/results/f1_seal/SUMMARY.md
Exact ms @ cross: 13,918,667.5 → CSV hours ≈ 3.866297; publish 3.866.

Optional same-workspace check (not a replacement denom):

LabelWorkspaceTNote
F1_Claim-W2Claim-W23.858 h @4768~+0.2% vs F1_seal; used for seed-2029 same-workspace ratios

What is NOT the metric

Not the metricWhy
Terminal val aloneQuality without first-passage T is not a speed claim.
step_avg aloneForensic only; published % uses first-cross T.
Sliding / EMA valNot the official disjoint endpoint.
Proxy @800 ΔT%Ordinal ranking only — never published cardinal %.
Historical notebook F1 (~229.1 min)Torch unlogged; provisional.
Matched ΔT% vs joint-QKV stockStock never crossed on sealed pairs → N/A.
“Looks faster on the dashboard”Must recompute from CSV / sealed SUMMARY.

Pin (required for cardinal %)

KnobSealed value
GPUNVIDIA A100-SXM4-40GB exact
Torch2.13.0 (resolved 2.13.0+cu130)
Quality barval_disjoint ≤ 3.3821
Clock fieldtrain_time / train_time_ms

Fingerprint every run (profile/workspace code, app id, full torch string, cuda, gpu_name, seed, batch×accum×seq, kit). Seed 4242 required a relaunch after an 80GB assignment; the seal is 40GB.


Under-claiming / noise floor

Measured stack drift ~6% step-time is the empirical prior for single-seed noise.

|ΔT%| vs F1_sealPublish rule
< ~6% (single seed)Do not publish as win — noise / exploratory.
6–10%Sealed + multi-seed preferred; report N^* + step_avg.
> 10% or ≥200 steps earlierOne sealed seed OK for narrative; still note first-passage variance.

Claim-stack sealed candidates: +8.1% / +7.7% / +9.2% on seeds 1337 / 2029 / 4242 (all ≥6%). Mean ≈ +8.3%.


Quality vs speed

Claim typeNeeds sealed fair clock?
Hit/miss val ≤ 3.3821Absolute quality; still log fingerprint.
Cardinal ΔT% vs F1Yes — same GPU class + torch pin; published % uses F1_seal.

Examples:


Explicit non-claims

  1. Not an official NoCap win. Local seals ≠ organizer acceptance.
  2. No matched candidate-vs-stock first-cross speedup. Joint stock missed quality on 1337/2029; 4242 had no stock arm.
  3. No % vs historical F1.
  4. No board % from 800-step proxies.
  5. Candidate recipe ≠ joint stock. Headline compares candidate to AdamW F1_seal, not to joint Muon stock.
  6. Do not say “we officially won” or inflate means beyond sealed rounding (mean T3.544 h, mean ΔT% ≈ +8.3%).

Clause-by-clause hedge defense: not-claimed-explained.html.


Defensible language (copy-safe)

On three independent seeds (1337, 2029, 4242), the claim-stack candidate (Muon B32 + timing-cheap split-QKV) first-crosses val ≤ 3.3821 about 8% faster than the sealed stock AdamW F1 baseline (3.866 h), with terminal CE ≈ 3.37. Where measured, the joint-QKV stock control misses the quality bar.

Not claimed. Not an official NoCap win. Matched cand-vs-stock ΔT% = N/A. Public % vs F1_seal only.