932f3678b0
Routed experts (gate/up/down) can now take different bit widths via PROJ_BITS. Motivating config: --xbits 4 --up-bits 3 puts up_proj at int3-g64 (fmt=5, this PR's format) while gate/down stay int4 — ~8% fewer expert bytes on disk and per token, at ~zero quality cost. Backed by the OLMoE per-projection ablation posted to #168: up@int3 matches int4-g64 (56.2 vs 55.8), up@int2 craters (-16pp). This also supplies the definition the #404 resume manifests already depend on: current dev records dict(PROJ_BITS) in check_or_record_params and the --indir progress file in four places, but the global was never defined — every one of those paths NameErrors at runtime today. The manifests were written for this interface; this commit is the other half. Validated: synthetic GLM fixture with --up-bits 3 yields int3-g64 up_proj (O*(I/64)*24B weight + group scales) and int4-per-row gate/down. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>