Skills · Data & AI

Checkpoint Promotion

Unverified32/40

Gate fine-tuned checkpoints with drift budgets, paired comparison, and forgetting checks before promotion. Use after a training run produces a checkpoint, when deciding whether a tuned model ships, or when a promoted model needs re-gating against updated goldens.

Originally by wshobson · MIT

Claude CodePartialHas SKILL.md but declares no allowed-tools — Claude Code will ask for permission each time
CursorPartialPlain prose you can paste in — but no Cursor rules file
CodexPartialPlain prose you can paste in — but no AGENTS.md
Gemini CLIPartialPlain prose you can paste in
CopilotPartialPlain prose you can paste in — but no Copilot instructions file
npx agentalley add checkpoint-promotion

This command does not work yet — the CLI is still being built. Until then, use Raw in the reader below to take the file.

Who is stuck, and on what

Gate fine-tuned checkpoints with drift budgets, paired comparison, and forgetting checks before promotion. Use after a training run produces a checkpoint, when deciding whether a tuned model ships, or when a promoted model needs re-gating against updated goldens.

The whole source

No sign-in, no blur, nothing truncated
checkpoint-promotion/SKILL.md298 lines7.9 KBRawView on GitHub
Frontmatter — 2 properties
namecheckpoint-promotion
descriptionGate fine-tuned checkpoints with drift budgets, paired comparison, and forgetting checks before promotion. Use after a training run produces a checkpoint, when deciding whether a tuned model ships, or when a promoted model needs re-gating against updated goldens.
1---
2name: checkpoint-promotion
3description: Gate fine-tuned checkpoints with drift budgets, paired comparison, and forgetting checks before promotion. Use after a training run produces a checkpoint, when deciding whether a tuned model ships, or when a promoted model needs re-gating against updated goldens.
4---A5No allowed-tools declared — no way to tell what this skill may touch
5 
6# Checkpoint Promotion
7 
8The Phase 5 gate for the whole
9plugin: a checkpoint that trains
10cleanly and beats its task metric
11still doesn't ship without
12clearing all four stages below.
13`eval-harness-first` built the
14suite re-run here — this skill is
15where that suite's baseline
16decides something.
17 
18**Input:** a trained checkpoint,
19`eval/baseline-<model>.json` from
20`eval-harness-first`, and the
21frozen `eval/drift-suite.yaml`.
22**Output format:**
23`promotion-report.md` — the
24four-stage evidence plus a
25terminal `PROMOTE` or `REJECT`
26verdict that `/finetune` Phase 5
27and `/promote-checkpoint` consume
28directly.
29 
30## The Four-Stage Gate
31 
32Each stage gates the next — a
33failure at stage 2 means stage 3
34doesn't run. Stages 2 and 3 share
35one expensive inference pass, so
36running them concurrently and
37applying gate order at verdict
38time is licensed on a
39**deterministic** arena (nothing
40saved by serializing); a
41judge-based arena should still
42wait for stage 2 first — that's
43where the real savings are.
44 
451. **Data-quality gate.** Before
46 any eval touches the
47 checkpoint: dedup the training
48 set, check for eval-goldens
49 leakage (the exact failure
50 `trace-to-training-data`'s
51 Hygiene section exists to
52 prevent), and scan for label
53 noise. A checkpoint trained on
54 leaked goldens invalidates
55 every later stage.
562. **Held-out + frozen
57 capability-drift suite.**
58 Re-run `eval-harness-first`'s
59 `eval/drift-suite.yaml` —
60 MMLU/GSM8K/IFEval plus 200–500
61 domain-adjacent items — against
62 the checkpoint and diff against
63 `baseline-<model>.json` per
64 benchmark against the Drift
65 Budget table below.
663. **Paired arena vs. base.**
67 Position-randomized judge,
68 checkpoint vs. base model, same
69 prompts — or the deterministic
70 paired-comparison variant in
71 `references/gate-templates.md`
72 when every grader in the
73 harness is deterministic (no
74 LLM-judge; position
75 randomization N/A there).
76 **A holdout win that
77 loses the live arena does not
78 ship** — stage-2 numbers and
79 stage-3 judgments must agree; a
80 win on frozen goldens and a
81 loss in paired comparison is a
82 real signal, not a discrepancy
83 to explain away.
844. **Canary.** 5–10% stratified
85 rollout with auto-rollback for
86 any checkpoint reaching
87 production traffic. **Local-only
88 users stop at stage 3** —
89 skipping stage 4 for a local
90 deployment is the correct
91 stopping point, not a shortcut.
92 
93### Drift Budget
94 
95| Drift (pts) | Verdict |
96|---|---|
97| ≤1 | Noise — proceed |
98| 2–5 | Rerun with seed variation before deciding |
99| >5 | **HARD FAIL** — no exception for task gains |
100 
101The >5pt row governs regardless
102of the others: a checkpoint that
103gained 8 points on the target
104task and lost 6 points of general
105capability still fails here —
106task improvement never buys back
107a drift-budget breach.
108 
109**Item count derives from the
110budget, not convenience:** the
111strict n for a half-width under
112half the 5pt hard-fail threshold
113is ~1,300 at typical accuracy
114(p≈0.7); n=200 is a pragmatic
115floor (±6pt half-width at that
116same p, n=50 ±13pt) — report the
117half-width with every verdict,
118and treat a margin smaller than
119it as `REJECT (uncertain)`, not
120PASS/HARD FAIL. Full math and a
1215-run cautionary example:
122`references/gate-templates.md`.
123 
124**RERUN is not a verdict.** A
1252–5pt drift only ever produces a
126`PROMOTE` or `REJECT` after the
127seed-variation rerun completes —
128`PROMOTE` requires landing back
129at ≤1pt (noise); any rerun still
130>1pt — 2–5pt band or >5pt breach
131alike — resolves stage 2 to a
132hard `REJECT`. No report may
133reach the Verdict section with
134stage 2 still showing `RERUN`.
135 
136## Catastrophic Forgetting
137 
138Unmanaged LoRA fine-tuning loses
139real general capability, and
140stage 2 is what catches it:
141 
142- **~43% knowledge loss
143 unmanaged** — no replay, no
144 regularization.
145- **~10% with basic management**
146 — some replay or a conservative
147 LR.
148- **~3% with replay + EWC** — the
149 disciplined case.
150- **10–30% general-data replay
151 mix is the standard
152 mitigation** — blend general-
153 domain data into training
154 rather than target-task data
155 alone.
156 
157If a checkpoint hits the >5pt
158hard fail in stage 2, work this
159escalation ladder in order — the
160one canonical order this skill
161and `references/gate-templates.md`
162both point to:
163 
1641. **Adjust the replay-mix
165 fraction — swap rows, don't
166 add them** (adding confounds
167 fraction with total optimizer
168 steps). Dose is not monotonic
169 at small-run scale (<~100
170 steps) — re-check drift after
171 any swap.
1722. **Lower the learning rate.**
1733. **Fewer epochs.**
1744. **A smaller LoRA rank** — the
175 same rank/LR levers
176 `lora-qlora-recipes` and
177 `preference-optimization` tune
178 for the training run, applied
179 here in reverse.
180 
181This order is a default, not a
182law: **remediation guidance from
183a single before/after run pair
184is a hypothesis** — label it
185low-confidence once any lever
186produces a reversal, and prefer
187a seed-variation repeat over
188trusting the next rung blindly.
189A lever that clears the drift
190breach but drops a
191success-criterion metric below
192target is a two-sided tradeoff
193for a human, not a reason to
194keep descending the ladder. Full
195reasoning and the 5-run
196trajectory behind both caveats:
197`references/gate-templates.md`.
198 
199**Disclose drift-suite
200instruction reuse.** A replay row
201copying the drift harness's exact
202instruction phrasing (not just
203disjoint source items) makes that
204benchmark's post-replay score an
205upper bound — flag it
206instruction-familiar, or re-probe
207with a paraphrase, before
208treating a near-budget pass as
209clean.
210 
211## The Verdict
212 
213`promotion-report.md` covers all
214four stages as sections and
215**must end with a terminal
216verdict: `PROMOTE` or `REJECT`**,
217the evidence that produced it,
218and exactly one top remediation
219when the verdict is `REJECT`.
220Template: `references/gate-templates.md`.
221The terminal contract other
222skills parse:
223 
224```
225## Verdict
226 
227REJECT
228 
229Evidence: domain-adjacent drift
230suite dropped 6.2pt (threshold:
231>5pt hard fail) despite +8pt on
232the target task.
233 
234Top remediation: swap the
235replay-mix fraction from 10%
236toward 20%, holding step count
237constant.
238```
239 
240- **REJECT is a result, not an
241 error.** A checkpoint that
242 fails stage 2's drift budget or
243 stage 3's arena comparison did
244 its job. Don't treat a REJECT
245 as a failed run needing a rerun
246 of this skill; it's the correct
247 output of a working gate.
248- **One remediation, not a
249 menu.** Evidence sections may
250 list everything observed; the
251 verdict section names the
252 single highest-leverage fix per
253 the escalation ladder above. A
254 report that hedges across three
255 possible fixes hasn't done the
256 prioritization this skill
257 exists to do.
258- **No auto-retraining.** This
259 skill produces a verdict and a
260 report, not a re-triggered
261 training run. A `REJECT` hands
262 the remediation back to a human
263 decision at
264 `finetuning-method-selection` or
265 the relevant training skill.
266 
267## Related Skills
268 
269- `eval-harness-first` — owns the
270 drift suite and baseline this
271 skill re-runs and diffs
272 against; no `baseline-<model>.json`
273 means nothing to gate against.
274- `quantized-export` — the only
275 valid next step after a
276 `PROMOTE` verdict.
277- `preference-optimization` and
278 `lora-qlora-recipes` — own the
279 LR and rank levers in the
280 Catastrophic Forgetting
281 escalation path; this skill
282 diagnoses the breach, those
283 skills own the config that
284 caused it.
285- `dataset-curation` — owns the
286 replay-mix construction recipe
287 the escalation ladder's first
288 rung applies.
289 
290Complete `promotion-report.md`
291template with all four stages,
292the drift-suite scoring table,
293the paired-arena protocol (item
294count, position randomization,
295win-rate threshold), and a
296replay-mix configuration example:
297`references/gate-templates.md`.
298 

Reviews

Installed this one?Write the first review and take the Trailblazer badge.

Reviews only open after a real install, so this is empty — and we leave it empty rather than invent one.

Alternatives

Also in Data & AI