# Repro Record Workflow

> Run research/paper/code reproduction tasks with strict execution logging. Use when requests involve reproducing results, debugging training/evaluation pipelines, Slurm/HPC experiments, dataset/model setup, or iterative small-task execution where every subtask must be written to a repository-level CODEX_RECORD.md.

- Skill: `kwongfuk/repro-record-workflow` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add kwongfuk/repro-record-workflow`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kwongfuk/repro-record-workflow/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: KwongFuk (https://skillmd.com/u/kwongfuk)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/kwongfuk/repro-record-workflow

---


# Repro Record Workflow

Keep reproduction work and record-keeping coupled:
1. Execute a concrete subtask.
2. Validate outcome quickly (logs, test, job status, artifact path).
3. Append one concise record entry to `CODEX_RECORD.md`.

## Workflow
1. Locate record file:
- Use repository root `CODEX_RECORD.md`.
- If missing, create it from [record-template.md](references/record-template.md).
2. Split request into small subtasks:
- Keep each subtask independently verifiable.
- Prefer one observable output per subtask (job id, file diff, command result).
3. Apply storage policy before execution:
- keep repository files under `/home` focused on code, configs, `CODEX_RECORD.md`, and standard lightweight experiment results
- keep datasets, caches, model weights, checkpoints, raw intermediates, and other large artifacts under `/scratch`
- if a result directory is large, store the primary artifact on scratch and record the absolute scratch path in `Evidence`
4. Execute subtask:
- Apply environment/config/code changes.
- For training launchers or checkpoint logic, also apply `exact-training-resume-guard`.
- Run minimal verification.
5. Update record immediately:
- Use `scripts/update_codex_record.py`.
- One entry per completed/failed subtask.
- Include blockers and next action if failed.
6. Repeat:
- Never batch many subtasks into one record entry.

## Record Rules
1. Use timestamped entries (script default).
2. Include these fields:
- `Task`
- `Status`
- `Summary`
- `Evidence`
- `Next`
3. Keep entries short and factual.
4. Use absolute paths/job ids in `Evidence`.
5. If a training run is only restartable from model weights rather than exactly resumable, record that limitation explicitly instead of calling it a resume checkpoint.

## Commands
Create or append entry:
```bash
python ~/.codex/skills/repro-record-workflow/scripts/update_codex_record.py \
  --record /path/to/repo/CODEX_RECORD.md \
  --task "Run smoke preflight on A100 node" \
  --status failed \
  --summary "Import failed in trainer package" \
  --evidence "Job 10087183; log: /path/gui_g2_smoke-10087183.out" \
  --next "Patch missing import and resubmit smoke test"
```

Create record file if missing:
```bash
cp ~/.codex/skills/repro-record-workflow/references/record-template.md /path/to/repo/CODEX_RECORD.md
```

