later annotation · v1.4Δτ, the exponent contrast quoted on this page, is invariant to affine rescalings of the error but not to monotone non-affine ones — under log(1+err) and √err its sign reverses. It is retained here as the pre-registered test it was, and the paper now leads with a model-free floor-referenced contrast instead. See coordinate-audit.html.
Project ASPECT-D · v1.1 extensions · runbook task-v1.md · paper freeze Aug 24 · wall Aug 29 AoE

What the v1.0 surface could not answer

Framing note (v1.2): the project's claim is one of magnitude — over T = 1→16 refinement moves 0.952 absolute WER against 0.161 absolute identity error, a 5.9× asymmetry — not one of convergence rate. On each metric's own normalised curve the fraction of total gain realised at T = 8 is 94.6% (WER) versus 93.7% (identity), identity marginally later. Earlier glosses reading "steps keep helping intelligibility after identity stops" are withdrawn throughout.

v1.0 declared outcome S1 from a 75-point (width, depth, steps) surface capped at T = 16. The v1.1 extensions push past every boundary that cap imposed: steps to T = 64, allocation across codebook levels, a fourth parameter budget, a training-compute control, and a robustness panel over the metric stack. Six hypotheses were pre-registered before any extension datum existed.

Where it stands All training and evaluation is complete (E7 remains calendar-gated). H-E3 is supported — reallocating a fixed inference budget to the coarsest codebook level cuts WER 5.2×. H-E1 is half-supported: intelligibility is not saturated at T=16 (15% relative WER gain out to T=64), but the refitted τ leaves the v1.0 interval. A "4× saturation gap" I briefly reported from it was a scale artifact and is retracted below. H-E2 is refuted, and a re-run on the extended grid overturned my own first interpretation of why. v1.0 remains frozen and untouched throughout.

§1Hypothesis scoreboard

IDClaim (pre-registered, verbatim in PREREGISTRATION-v1.1.md)StatusHeadline number
H-E1Extended test-time scaling: T*WER > 16 and refitted τWER inside the v1.0 CI partialT*WER=32 ✓; τ=0.9527 outside [0.8248, 0.8513] ✗
A cross-metric saturation comparison derived from H-E1 was retracted (§2) — it was never pre-registered and did not survive normalisation.
H-E2Iso-latency allocation is depth-first up to d*, under both methods, at ≥80% of budgets refuted5.9% measured / 8.8% fitted
H-E3Coarse-level NFE allocation beats fine at matched NFE=32 supportedΔWER = −0.9289, CI [−0.9595, −0.8999]
H-E4Scale persistence: Δτ > 0 on the 4-budget (A–D) surface supportedΔτ = +0.1095, CI [0.0951, 0.1241] over 20M–276M
Secondary (extrapolation A+B+C→D) not supported: MAPE 15.1% against a 15% bar, while beating the N-only model 21× (319.3%). d*(N) is exploratory and not reportable — see §9.
H-E5Training-compute control: Δτ at 90k steps, CI excluding 0 supportedΔτ = +0.1767, CI [0.0803, 0.2849]
H-E6Confidence-adaptive stopping matches fixed-T16 within 1.0 WER point at ≤0.6× NFE gatedgate opens Aug 16

§2E1 — test-time scaling past the v1.0 cap

21 runs (A3, B3, C1–C5 × 3 seeds) × T ∈ {1,2,4,8,16,24,32,64} on 200 eval items. Every T is computed over the same 200 items: the T ≤ 16 points are re-aggregated read-only from v1.0's per-item rows rather than reused at 400 items, so the curve measures the T range and not a change of subset.

T124816243264
WER1.1460.7600.3210.1910.15160.13760.13140.1294
SIM-o0.2160.2820.3340.3600.36960.37100.37050.3716
UTMOS1.521.942.492.802.973.023.053.08
Retracted — this claim was an artifact An earlier version of this page reported "T*SIM = 8 while T*WER = 32 — a 4× gap, making the S1 claim fit-free" and called it the strongest evidence in the project. It is withdrawn. v1.0's T* rule applies "within 5% of the reference value" to each metric's own raw level, and WER and 1−SIM have very different offsets: that 5% is 0.67% of WER's total range but 11.96% of SIM's — a 17.9× difference in strictness. The gap was that asymmetry, not the models' behaviour. Normalising each metric to the fraction of its own total T=1→64 gain (invariant under err → a+b·err) gives T*(WER) = T*(SIM) = 16 — a 1× gap, with the two curves near-superimposed and SIM marginally the later one at T=8 (92.63% vs 93.92%). A statistic that is not invariant to a metric's units may not be compared across metrics.
fraction of that metric's own total T=1→64 gain realisedT=248162432
WER38.01%81.13%93.92%97.81%99.19%99.80%
1 − SIM-o42.66%75.95%92.63%98.74%99.62%99.30%
What actually stands H-E1 part (a) is still supported as pre-registered: "T*WER > 16" is a single-metric statement on WER's own scale using v1.0's frozen definition, and T*WER = 32. WER genuinely keeps improving past T=16 — 0.1516 → 0.1294, a 15% relative reduction, which is a real and correctly-scoped fact. And S1 rests where it always did, on the pre-registered Δτ = +0.1102, CI [0.0921, 0.1312]. No cross-metric saturation contrast survives in any form. On the affine-invariant statistic T*(WER) = T*(SIM) = 16 (results/artifacts-v1.1/e1_extended.json → T_star_scale_caveat), and the raw-scale pair (32 vs 8) may not be compared across metrics at all.
Pre-registered half that failed τWER refitted on the extended range is 0.9527, CI [0.9374, 0.9686] — disjoint from the v1.0 CI [0.8248, 0.8513], so H-E1 as a conjunction is not supported. A pre-planned control isolates why: refitting on the same 7 configs and same 200 items but only T ≤ 16 gives τ = 0.8773 CI [0.8629, 0.8943]. The shift decomposes into a subset effect of +0.0411 and a dominant range effect of +0.0754. v1.0's τ was mildly under-estimated by truncation at T=16 — not biased by the subset.

§3E3 — where you spend the steps matters as much as how many

15 C-budget runs × 3 frozen per-level schedules at matched total NFE = 32, full 400 items, 18 000 item-rows. Paired item-level bootstrap (2 000 replicates, RNG 7331); pairing is on the eval item, so item difficulty cancels.

schedulesteps per codebook levelWERSIM-oUTMOSdegenerate
coarse[25,1,1,1,1,1,1,1]0.21910.30572.1680.1%
uniform[4,4,4,4,4,4,4,4]0.31440.34772.5140.5%
fine[1,1,1,1,1,1,1,25]1.14810.22461.56139.1%

Primary: WER(coarse) − WER(fine) = −0.9289, CI [−0.9595, −0.8999]. Secondary: WER(coarse) − WER(uniform) = −0.0953, CI [−0.1044, −0.0870]. Both supported. At identical inference cost, moving 32 forward passes from the finest codebook level to the coarsest changes WER by 5.2× and cuts the degenerate rate from 39.1% to 0.1%. Level 0 sets the phonetic content every later level conditions on; level 7 carries residual detail that no amount of iteration can use to repair a wrong coarse plan.

Calibration. Uniform at NFE=32 is T=4 per level, and E1 measures WER 0.321 at T=4 vs 0.191 at T=8. Coarse's 0.219 sits between them, so reallocating the same NFE to the coarse level buys roughly what 1.7× more uniformly-spent NFE would buy — for free.

Honest caveat — coarse is not a free win Against uniform, coarse wins WER by 0.095 but loses identity and perceptual quality, both with CIs excluding 0: SIM-o −0.0420 CI [−0.0461, −0.0378], UTMOS −0.3456 CI [−0.3589, −0.3311]. The same metric-selectivity the project reports for the amount of steps reappears in where they are spent. Labeled exploratory — the SIM/UTMOS contrasts were not pre-registered.

§4E2 — iso-latency allocation, and a corrected interpretation

Zero-GPU analysis over the frozen v1.0 surface with measured c_layer; serial latency L = 8·T·d·clayer, 40 log-spaced budgets, optimum found two independent ways (fitted Msep surface, and measured config×T means).

v1.0 grid (T ≤ 16, 3 budgets)extended (T ≤ 64, budget C)
depth-first, measured5.9%37%
depth-first, fitted8.8%9%
L where T first hits its max726 ms9089 ms
L where d first reaches d*2002 ms1198 ms

H-E2 is refuted on both grids (5.9% and 37%, against an 80% bar), so the pre-registered verdict is unchanged and now shown to be robust.

Correction — two errors of mine, both caught and fixed (1) The decision rule tested the wrong statistic. §9 asks whether the depth-first property holds under each method at ≥80% of budgets; the first implementation measured concordance between the methods, which is a fit-quality diagnostic, not the hypothesis. Under the correct rule H-E2 is refuted by a far wider margin (5.9%/8.8% vs an 80% bar) — the verdict never changed, the derivation did. (2) A published claim was false. I wrote that the measured optimum "never reaches the d* ridge"; it does — B5 (d=30) and C5 (d=36) at the two highest budgets. My table stopped short of them. (3) The replacement interpretation was itself a boundary artefact. On the capped grid steps maxed out at 726 ms while depth reached d* only at 2002 ms, which I described as "steps-first". On E1's extended grid the order reverses. The directional story does not survive and is not going in the paper. What survives: the optimum interleaves depth and steps rather than saturating depth first.

§5E5 — robustness of the fitted surface

The known v1.0 defect: M_full's width amplitude A hit its pre-registered upper bound (A = 10.000), leaving α — and therefore ρ = α/β and the H-D1 test — unidentified. The log-amplitude refit makes log A, log B, log C effectively unbounded and leaves exponent bounds exactly as pre-registered.

The pathology migrates rather than resolves Freeing the amplitude does move it off the bound (A = 3.4×105 for WER), but α then hits the exponent bound instead (α = 3.0000). For WER, α remains unidentified. For SIM it identifies cleanly (α = 1.566, no parameter at a bound). The diagnosis is the grid: width spans only 4.5× against depth's 9×, so A·w−α is a near-degenerate ridge — the product is determined, the factors are not. Widening the width axis, not re-parameterising, is the fix.

The headline survives the reparameterisation. Δτ = 0.1262 CI [0.1043, 0.1474] under log amplitudes, against v1.0's 0.1102 CI [0.0921, 0.1312] — same sign, overlapping CIs, both excluding 0. Δρ = −0.0516 CI [−0.4281, 0.3077] still contains 0, so H-D1 remains unsupported here too. Labeled exploratory-sensitivity: this cannot and does not rescue H-D1's pre-registered status.

§5bE4 — does it survive a 4× larger budget?

D1–D5 × seeds {0,1} at 276M non-embedding parameters, trained at the LR the G1-D remedy adopted, then evaluated on the full T grid. Combined with the frozen v1.0 table this gives a 275-row, four-budget surface spanning 20M → 276M.

Δτ95% CI
v1.0, 3 budgets (20–126M)+0.1102[0.0921, 0.1312]
v1.1, 4 budgets (20–276M)+0.1095[0.0951, 0.1241]
H-E4 primary · supported A budget 4× larger than any in v1.0 moved Δτ by 0.0007 and tightened the interval. Metric-selective test-time scaling is not a small-model artifact. This is the strongest thing v1.1 adds.
H-E4 secondary · not supported, by 0.1pp Fitting on A+B+C and predicting budget D at T=16 gives MAPE 15.1% against a ≤15% bar. The rule needed both that and ≤ the parameter-count-only model — and the second clause passes overwhelmingly: M_N's MAPE is 319.3%, so the shape-aware model extrapolates 21× better while formally failing. D2 alone (+34.8%) carries the failure.

§5cE6 — is it just undertraining?

{C1, C3, C5} seed 0 retrained to 90k steps (3× v1.0's 30k). Item-level bootstrap, 1000 replicates — item-level because one seed per config leaves nothing to resample at the run level.

configval loss @30k@90kcost
C14.48184.09077.0 GPU-h
C34.47024.11949.8 GPU-h
C54.48234.179113.0 GPU-h
H-E5 · supported Δτ at 90k = +0.1767, CI [0.0803, 0.2849], excluding 0. Undertraining does not explain away the effect — precisely the threat this control existed to test.
Read the 30k comparison carefully On the same three configs at 30k, Δτ = +0.0445 CI [−0.0572, +0.1446], which includes 0. The CIs overlap, so Δτ at 90k cannot be claimed to have grown. And that interval is not evidence that 30k lacks the effect: three configs with one seed is underpowered, and v1.0's full 15-config, 3-seed surface at the same 30k gives +0.1102 with a tight CI. It is a sample-size property, not a training-compute one.

§6Gates

E-AUDIT · pass 45/45 v1.0 checkpoints present and loadable at step 30 000. Smoke test: C3 seed 0 re-synthesised at T=16 → bit-identical tokens to the frozen v1.0 grids. Trap worth knowing: the first attempt reported 35.7% agreement because it synthesised a 5-item batch against v1.0's 50-item batches — the sampler's Gumbel draws are shaped [B, F, V], so batch composition is part of the RNG state. E1 therefore synthesises the first 200 items as v1.0's first four 50-item batches.
G1-D · fail → pre-registered remedy The 3 000-step D3 proxy at the μP-transferred base LR 0.004 reached val 5.6520 — below C3 (5.6893) but 0.0035 above B3 (5.6485), so the monotone-in-N check fails by a hair. §4-E4 pre-registers the remedy: one 5-point LR sweep at D3, adopt its argmin. The sweep gives a clean U-shape with a minimum at lr = 0.002 (val 5.5900) — below both B3 and C3, i.e. the gate passes at the adopted LR. μP transfer degraded slightly at 285M and the pre-registered sweep caught it.

§7Defects found and fixed during v1.1

An adversarial review of the extension code before any result was trusted found three real defects. All are recorded in full in LOG-v1.1.md; corrections are appended to RESULTS-FEED.md as new entries, never edits.

DefectImpactFix
P0-1 A leftover v1.0 scoring loop scored E1's 200-item dirs against the canonical 400-item list 200 phantom crashes per dir: WER 0.5634 recorded where the truth is 0.1268. 16 files. Compounded by the skip-if-exists check, which would have silently frozen the wrong file. Killed the loop; deleted all 16; score_dir now takes its denominator from the target dir's own synth.json and fails loud if absent. Behaviour-identical for v1.0 (all 225 dirs record 400). No v1.0 artifact was touched, and E1's own scores_ext200.json files were always correct.
P0-2 H-E2's decision rule implemented as the wrong statistic Reported 62% "agreement" as the test of a hypothesis about depth-first ordering. Decision statistic is now depth-first fraction under each method; concordance retained as a labeled secondary. Verdict unchanged.
P0-3 False claim in a published results entry ("never reaches the d* ridge") Contradicted by the analysis's own path CSV. Corrected as a new append-only entry; the artifact now records budgets_included and n_configs so scope limits travel with the number.

§9Why no d*(N) claim appears anywhere

Raw optimal depth by budget reads A 18, B 30, C 36, D 14 — a rise-then-collapse story. It is not one, and the artifact now records why so it cannot be read off naively:

Only A (18) and D (14) are genuine interior optima and D's is a coin flip. e4_scale.json carries censored_at_max_depth and margin_to_runner_up per budget. d* was pre-registered as exploratory with no decision rule, and no d* claim goes in the paper.

§8Reproduction

python src/audit_v11.py --smoke          # E-AUDIT: checkpoints + sampler reproducibility
python src/e1_extended.py                # E1: runs_ext.csv, T* values, tau refit, H-E1
python src/iso_latency.py                # E2: H-E2 on the v1.0 grid
python src/iso_latency.py --runs results/artifacts-v1.1/runs_ext.csv \
       --fits-from-e1 --budgets C --out-tag _ext   # E2 sensitivity on the extended grid
python src/e3_nfe.py                     # E3: H-E3, paired item-level bootstrap
python src/logamp.py                     # E5: log-amplitude refit (exploratory-sensitivity)
python src/launch_e4.py --gpus 0,4       # E4: adopt LR-sweep argmin, launch budget-D grid
python src/supervise_v11.py              # drain E4/E6 synth+score onto idle GPUs
python src/e4_analysis.py                # E4: 4-budget surface, H-E4
python src/e6_analysis.py                # E6: 90k control, H-E5 (item-level bootstrap)

Job dispatch uses src/run_v11.py, which claims jobs with atomic O_CREAT|O_EXCL lock files so several dispatchers can share one job file as GPUs free up — the fix for the duplicate-trainer failure recorded in v1.0's log.

← project page · protocol · implementation · v1.0 results