37da111bb4
MTP acceptance collapses when the draft (S=1) and verify (S>=2) forwards do not compute the same function. Three switches were S-dependent: the int4 IDOT gate (S>=g_i4s, asymmetric exactly on ISAs where g_i4s>1), the S==1-only fused gate+up pair, and the Metal GEMM row threshold. SPEC_PIN=1 (default) pins every forward issued while model drafts are live to the platform S=1 kernel family, so draft and verify agree by construction. Prefill and non-speculative decode keep their gates. SPEC_PIN=0 restores the old behavior for A/B. The 24-proposal <10% guard now pauses drafting for 256 tokens and re-arms on a fresh window instead of latching off for the whole session. Co-Authored-By: Claude <noreply@anthropic.com>