set shell := ["bash", "-cu"] WORKTREES := "5_worktrees" IDEAS := "1_ideas" REPORTS := "9_reports" # List all recipes default: @just --list # --- Sanity checks --- # Fast smoke test: shape checks on CPU, short run smoke: #!/usr/bin/env bash BEARTYPE=1 uv run python train.py --max_steps=2 echo smoke passed # --- Evaluation (FROZEN logic -- see eval.py) --- # Run eval and append to results.tsv eval *ARGS: uv run python eval.py {{ARGS}} # Show results table results: @column -t -s $'\t' results.tsv | head -30 # --- Training --- # Train with default config train *ARGS: uv run python train.py {{ARGS}} # Queue an experiment to pueue with a hypothesis label # Usage: just queue LABEL CMD... queue LABEL *CMD: pueue add --label '{{LABEL}}' -- just {{CMD}} # Show pueue queue status status: pueue status # --- Sweeps (pueue-based, one GPU, sequential) --- # Sweeps: write a recipe that loops over params and calls `pueue add --label Q -- just eval ...` # See justfile-sweeps skill for the full pattern. # --- Worktrees --- # Create a new experiment worktree worktree SLUG: git worktree add {{WORKTREES}}/{{SLUG}} -b exp/{{SLUG}} # List worktrees worktrees: git worktree list # --- Reports --- # List lab reports (see 9_reports/ directory) reports: ls -t {{REPORTS}} | head -20 || true # --- Ideas --- # Count ideas in queue (see 1_ideas/ directory) ideas: ls -t {{IDEAS}} | grep -v _TEMPLATE | head -10 || true