import { Loader2 } from "lucide-react"; export default function LoadingProgress({ stage, completedSteps, totalSteps }) { const lines = [ "● model.load(\"gpt2\") → HookedTransformer (12 layers, 768 d_model)", "● sae.load(\"gpt2-small-res-jb\", layer=7) → 24576 features", "● agent.run(react_loop, n_steps=" + (totalSteps ?? "?") + ")", "● hook.capture(resid_post[0..11], attn_pattern[11], mlp_out[3,7,11])", "● sae.decompose(layer=7, top_k=25)", "● hallucination.score(entropy + attn_diffusion + uncertainty)", ]; const stageIdx = { queued: 0, loading_model: 0, model_ready: 1, step_done: 3, done: 5, }[stage] ?? 0; return (
{lines
.map((l, i) => {
const done = i <= stageIdx;
const active = i === stageIdx + 1;
const prefix = done ? " \u2713 " : active ? " \u2022 " : " ";
return (
{prefix}{l}
);
})}