Skip to main content

autotrain

Operate the OpenUI SLM training pipeline end to end, including a continuous hands-off model and harness improvement loop. Bare /autotrain is non-terminating and must not stop for user confirmation; an explicit phase or --once is finite. Code fixes during training use incremental commits every cycle, stacked PRs after positive-result runs, and between-iteration resolve/CI/ squash-merge of green bottom layers (sdlc autotrain-iteration-delivery); when training stops, residual bottom-up closeout of any still-open layers.

Source facts

Repository
Tyler-R-Kendrick/slm-training
Last source activity
August 21, 2026 at 03:48
Detected SKILL.md language
English
Stars
1
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
18 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
autotrain
description
Operate the OpenUI SLM training pipeline end to end, including a continuous hands-off model and harness improvement loop. Bare /autotrain is non-terminating and must not stop for user confirmation; an explicit phase or --once is finite. Code fixes during training use incremental commits every cycle, stacked PRs after positive-result runs, and between-iteration resolve/CI/ squash-merge of green bottom layers (sdlc autotrain-iteration-delivery); when training stops, residual bottom-up closeout of any still-open layers.
# Autotrain OpenUI SLMs Facade for **operating and continuously improving** the training pipeline with progressive disclosure: this file routes; each phase's full instructions live in `references/` and are read only when that phase is being run. To modify a harness, use `improve-openui-harnesses`. For the higher-level, knowledge-driven research loop that *coordinates* this pipeline with brains / OpenWiki / literature discovery / Linear, use `autoresearch`. **Delivery process** for code and durable docs during training is owned by `sdlc` — read [`../sdlc/references/autotrain-iteration-delivery.md`](../sdlc/references/autotrain-iteration-delivery.md) before continuous or multi-run work. ## Workflow 1. **Bare `/autotrain` (default) is continuous and hands-off.** Immediately enter [references/continuous.md](references/continuous.md). Keep chaining bounded campaigns until the session is preempted or the repeated-blocker rule fires. **Do not stop to ask the user to continue.** Do not end a turn with only a resume recipe. Print the result matrix between cycles, then start the next cycle without waiting. 2. An explicit phase name or `--once` performs **one finite pass** only. 3. For finite phase work: pick the phase from the routing table below (`slm list` / `slm guide <slug>`), read `references/<slug>.md` plus [references/contracts.md](references/contracts.md) once per session, run the `slm` commands, and close out docs/model-card duties. 4. Hand off (when those claims appear): ship → `honest-ship-eval`; matrices → `running-experiment-matrices`; campaigns → `openui-autoresearch`; Lean bands → `improve-lean-optimums`; brains/OpenWiki/Linear → `autoresearch`; multi-layer land → `sdlc`. ## Continuous mode (bare `/autotrain`) — non-negotiable | Rule | Required behavior | | --- | --- | | Hands-off | No confirmation prompts; no “say continue” | | Non-terminating | An unbudgeted host goal owns persistence; each bounded cycle returns control before cycle N+1 | | Self-heal | Fix path/knob/harness failures from evidence; re-run | | Soft failures | Fixture ship-gate fails / null deltas / single timeouts → next cycle | | Not climbing | Park smoke rematch, then execute local-CPU `rebuild_data` (I10) | | Hard block only | Same unrecoverable blocker 3× with no new info → report blocked | | Incremental commits | Commit green code/docs units every cycle while working on an iteration or fix | | Stacked PR (positive only) | Open/update a `gh stack` layer **only** after a positive-result run (metric win, ship-quality win, or proven executable unblock) | | Non-positive cycles | Docs + local commits only — **no** new stack layer for fixture fails / null deltas | | Get latest between runs | `git fetch` + `gh stack sync` / merge `origin/main`; resolve conflicts | | Between-iteration land | Every tick: address PR comments, fix CI, **squash-merge green bottom positive layers**, sync stack — do not defer merges to stop | | Remote compute default | No paid GPU / HF write without prior user authority | | Training stopped | Residual `sdlc` bottom-up closeout of any still-open positive layers (review → CI → squash-merge) — not a resume paste | | **Matrix to the user** | After every cycle (and whenever reporting status): paste the compact four-table view (liveness, results, diagnostics, priorities) from `status --loop-id <id> --matrix --last 5` (or `/tmp/autotrain-report.sh` / `/tmp/autotrain-loop-dashboard.md`) into the chat, plus the cycle's went-well / went-wrong / speculate lines (`HILLCLIMB_ITERATION` / `measured-results-continuous.md`). **Never** claim progress without the matrix | | **Liveness proof** | Prove state with the host goal plus `loops/<loop-id>/state.json` heartbeat, phase, next action, and child PID. Legacy drivers may also use `/tmp/autotrain-loop-status.txt`. **Never** use Grok “background ops” UI as liveness | | **Never kill the loop** | Do **not** `kill`/`pkill`/`kill -9` `run_autotrain_continuous`, its children, or the continuous worktree processes to ship skills, fix CI, merge PRs, or “restart cleanly.” Side work uses another worktree/branch | | **Supervisor owns persistence** | Bare `/autotrain` persistence is `run_autotrain_supervisor`, not agent `--max-cycles 1`. If a supervisor PID is live, **do not** launch a competing driver. `DRIVER_ALREADY_RUNNING` is liveness, not a halt. A background `--max-cycles 1` finishing is **not** the loop ending. If the supervisor is dead, **restart the supervisor in the same turn** — never report park/lock and stop | After each supervised cycle, validate `cycle_handoff.json` and execute its typed actions in order: theorem stop → harness repair → formal repair → data repair → docs/delivery → successor experiment. The handoff owner names the required skill; do not reduce it to a prose recommendation. Full procedure: [references/continuous.md](references/continuous.md). Delivery: [`../sdlc/references/autotrain-iteration-delivery.md`](../sdlc/references/autotrain-iteration-delivery.md). User-facing report (preferred): `bash /tmp/autotrain-report.sh` → updates `/tmp/autotrain-loop-dashboard.md`. ## Phase routing | Phase | Command | Reference | | --- | --- | --- | | **Continuous model + harness improvement (default)** | keep chaining campaigns; `status --loop-id <id> --matrix` between cycles | [references/continuous.md](references/continuous.md) | | Build/publish training corpora | `slm data build-train` / `publish-train` / `store` | [references/train-data.md](references/train-data.md) | | Build held-out/adversarial/OOD suites | `slm data build-test` | [references/test-data.md](references/test-data.md) | | SFT / model build (Phase A) | `slm sft train` / `remote` / `hf-jobs` | [references/sft.md](references/sft.md) | | Evaluate + ship gates | `slm eval model` / `diagnose` / `loss-suites` / `tasks` | [references/eval.md](references/eval.md) | | Distillation / P1–P3 climb | `slm distill collect` / `self` / `resume-climb` | [references/distill.md](references/distill.md) | | Preference / surrogate-DPO (Phase B) | `slm preference <subcommand>` | [references/preference.md](references/preference.md) | | RL / GRPO-lite (Phase C; NeMo/MOLT) | `slm rl train` / `nemo` / `molt` | [references/rl.md](references/rl.md) | | Experiment matrices, scaling, recipes | `slm experiments <matrix>` | [references/experiments.md](references/experiments.md) | | Checkpoint sync, lineage, promotion | `slm checkpoints sync` / `migrate`; `slm cycle <sub>` | [references/checkpoints.md](references/checkpoints.md) | | Annotation export → preference inputs | `slm annotations export` | [references/annotations.md](references/annotations.md) | | Benchmarks + generation profiling | `slm bench telemetry` / `accel` / `cactus` / `profile` | [references/bench.md](references/bench.md) | | Model/weight spectral inspection | `slm inspect <subcommand>` | [references/inspect.md](references/inspect.md) | | Autoresearch self-improvement + RL gate | `slm autoresearch <subcommand>` | [references/autoresearch.md](references/autoresearch.md) | ## Non-negotiable contracts Digest — full versions in [references/contracts.md](references/contracts.md): - **Iron law**: no run without the matching `docs/design/` JSON + markdown. - **Model card**: every checkpoint updates `docs/MODEL_CARD.md` + README summary. - **Honesty**: fixture/scratch evidence is wiring only; readiness needs `--ship-gates` on full scoreboards. - **RL is fail-closed**: approved `RLReadinessReport` or no RL — no override. - **No shadow paths**: reuse canonical scripts/harnesses and artifact roots. - **Decode invariants**: constrained decoding is the product. Deterministic singleton bypass outranks any learned score; unconstrained arms are diagnostic controls, never defaults, serving paths, or gate inputs. Full law in `AGENTS.md` §Non-negotiable architecture invariants + [decode-invariants.md](../../../docs/design/decode-invariants.md).
View on GitHub