# Promote Desk > Gate a fine-tuned language-model checkpoint before it ships, then plan its export. Paste the drift-suite table > (baseline and checkpoint per benchmark, item counts, seed reruns), the target-task metric, the data checks and the > paired-arena tally. The page runs the four-stage gate and gives PROMOTE, REJECT or RERUN with one remediation; for a > PROMOTE it picks the export format for the hardware and workload. A metered run writes the promotion report or the > export plan. Built on the SkillSafe skills @wshobson/checkpoint-promotion and @wshobson/quantized-export > (wshobson/agents, MIT). Nothing is trained, uploaded or exported for you. https://promote-desk.skillsafe.ai/ ## What is free - Reading: one benchmark per line - CSV, TSV, Markdown tables or "name 68.2 -> 67.5 n=200 rerun=68.0"; fractions (0.682) read as percentages; thousands separators in tables; a .csv dropped on the page. - Stage 1, data quality: goldens leaked into training (must be 0), duplicates removed, the label-noise scan. - Stage 2, capability drift in percentage points: <=1 pt noise, 1-5 pts needs a seed-variation rerun that must land back at <=1 pt, >5 pts HARD FAIL with no exception for task gains; each row's 95% half-width 1.96 x sqrt(p(1-p)/n); REJECT (uncertain) when a breach of the 5 pt line is smaller than the half-width; flags for missing n, n under 200 and n under 50; the size needed for a 2.5 pt half-width (about 1,300 at 70%); a forest plot of every delta with its interval over the budget bands. - Stage 3, paired arena (LLM judge or deterministic graders): ties count half, a 95% Wilson interval, PASS at 50% + margin with the interval clear of 50%, REJECT (uncertain) when the margin sits inside the half-width. - Stage 4, canary: production needs a passed 5-10% stratified canary; local-only stops at stage 3. - The verdict in gate order and exactly one remediation - for a drift breach, the next untried rung of the forgetting ladder (swap the replay mix, lower the learning rate, fewer epochs, a smaller LoRA rank). - The export pick: FP8 on Hopper, Ada and Blackwell; AWQ INT4 on Ampere and older; GGUF Q4_K_M from an imatrix for llama.cpp; NVFP4 only as a Blackwell-at-scale alternative and never on GB10; W8A8 or GGUF Q8_0 for long-context, code and math (never INT4); merged or LoRA-only; approximate artifact sizes; the smoke-test runtime and gate (byte match for lossless, task-grader agreement for lossy). - A drift-table CSV, promotion-report.md, Markdown and JSON exports, and four samples whose replies replay at no cost. ## The metered lanes Two tasks on gpt-terra, metered per run, routed by the `task` field. Input string fields: `task` (gate or export), `run` (checkpoint, base, target task, deployment, ladder rungs tried, instruction reuse), `evals` (the drift table as read, with deltas, n, half-widths and budget verdicts), `facts` (every stage line, the expected verdict and what decided it, the page's remediation, every finding), `deploy` (export only: hardware, workload, packaging, size, the page's format pick and allowed alternatives, runtime, smoke-test gate) and `gate` (export only: the gate's result). - `gate` replies with `verdict` (PROMOTE, REJECT or RERUN), `uncertain`, four `stages` (stage, status, evidence), `evidence`, `remediation` (one fix, empty for PROMOTE) and `caveats`. The page holds the verdict and every stage status to its own gate and every number to the input. - `export` replies with `format`, `packaging`, `runtime`, `why`, `steps` (step, command), `smoke_test`, `watch_for` (signature, cause) and `note`. The page holds the format to the map, refuses INT4 for long-context/code/math and NVFP4 on GB10, and requires an imatrix for GGUF Q4_K_M, the right runtime and a greedy, fixed-seed smoke test with the right gate. - The export runs only after a PROMOTE. ## Links - API tutorial: https://promote-desk.skillsafe.ai/api.html - Source skills: https://skillsafe.ai/skill/@wshobson/checkpoint-promotion and https://skillsafe.ai/skill/@wshobson/quantized-export