ml-feedback-ladder — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ml-feedback-ladder (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
In normal software, a passing test suite can mean the code works. In ML research, passing tests only show the code PATH might run - they do NOT show the method works. You need STAGED EMPIRICAL verification, ordered cheapest-to-expensive, where every cheap check GATES the expensive cluster/GPU jobs below it.
This skill OWNS the canonical ladder. Design the rungs for ONE specific experiment with your human partner before launching anything.
Core principle: Cheap checks gate expensive jobs. Never spend a slow rung to find a bug a fast rung would have caught.
Upstream: the experiment, metric, and protocol come from superpowers-ml:ml-experiment-design. Downstream: the ladder you design here becomes verification steps in superpowers-ml:writing-plans, and the final rung hands off to superpowers-ml:ml-result-review.
Each rung names what it CHECKS, the ARTIFACT that proves it passed, and rough COST. Cost is relative - a rung is "expensive" if it consumes a scheduled GPU/cluster job.
| Rung | Checks | Proof artifact | Cost |
|---|---|---|---|
| R0 | Experiment card / protocol defined: question, locked primary metric, baseline, decision rule | The experiment card itself | minutes, no compute |
| R1 | Code / import / config / static sanity: it imports, config parses, paths resolve, seeds set | Clean import + config dump + linter | seconds, dev node |
| R2 | Shape / dtype / device / one-batch forward+backward: loss is finite, gradients flow | Logged shapes/dtypes/device + one non-NaN loss + non-zero grads | seconds-minutes, dev node |
| R3 | Tiny overfit: a handful of examples driven to ~zero loss (or memorized) | Loss curve collapsing to near-zero on the tiny set | minutes, dev node / 1 GPU |
| R4 | Real launcher smoke run: the ACTUAL launch path (local GPU or cluster smoke job) starts, checkpoints, logs, resumes - on tiny data/steps | Launcher exits 0, checkpoint written, logs/metrics emitted | one short job |
| R5 | Short pilot / early signal: real data, real config, truncated budget; metric is moving the right way and is stable | Early metric curve vs. baseline on the locked metric | a fraction of a full run |
| R6 | Full run / full study: the locked protocol at full budget, seeds/sweeps as specified | Complete metrics across all planned seeds/conditions | the expensive job(s) |
| R7 | Result review / decision memo: compare to baseline under the locked primary metric, decide | Decision memo (handed to superpowers-ml:ml-result-review) | analysis time |
R0-R3 should run on your dev node in well under an hour. R4+ consume scheduled jobs - protect them.
State the gate between EACH adjacent rung before you launch. A rung promotes ONLY when its proof artifact exists and is green.
STOP rule at every rung: if the proof artifact is missing or red, do NOT spend the next rung. Fix the cheap thing first.
State these plainly and hold to them:
The launcher at R4+ is whatever your cluster uses. Slurm is ONE example (e.g. a small sbatch smoke job), not an assumption - the ladder is identical for a bare torchrun, a Ray/Kubernetes submission, or a plain SSH-to-GPU script. Design the rungs around YOUR launch path; do not hard-code a scheduler.
Report progress as the highest GREEN rung, and separate what is supported from what is not:
Verified through R3 (tiny overfit). Not yet verified by smoke run, pilot, or full study.Never report a method as beating a baseline without R6 (or an equivalent full evaluation) under the locked primary metric.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.