import { motion } from "framer-motion"; import { useTheme } from "../ThemeContext"; import { MONO } from "../theme"; import { SlideShell } from "../components/SlideShell"; // Comments sit on their own column, so they are kept short enough never to wrap: // a wrapped comment pushes its code line out of alignment with the rest. const LINES: [string, string][] = [ ["env = HarborEnv.from_hub(", ""], [' "FineEnvs/smoldataenv-multi-harness-harbor",', "tasks and sandboxes"], [" harness=random.choice(HARNESSES),", "picked per rollout"], [")", ""], ["", ""], ["worker = HarnessRolloutWorker(", ""], [" harness_session_factory=env.session_factory,", ""], [" harness_adapter=None,", "the agent owns its loop"], [" rollout_reward_fn=reward,", "correctness and tool calls"], [")", ""], ["", ""], ["AsyncGRPOTrainer(model=..., rollout_worker=worker).train()", ""], ]; export function CodeSlide() { const { T } = useTheme(); return (
{LINES.map(([code, note], i) => ( {code} {note && `# ${note}`} ))}
Swapping the harness is{" "} one argument.
); }