23 July 2026
Grad school runs on attention that doesn't scale. Experiments crash at 2am and sit dead until morning. Papers worth reading pile up faster than reading time. A thesis draft needs steady daily pressure, not sporadic bursts. None of this is hard to do — it's hard to keep doing, every day, on top of everything else.
Ifires is my attempt to offload the "keep doing it" part.
What it actually is
Ifires is not a single clever model — it's a small scaffold of scheduled jobs, each one a headless claude -p call with a narrow, written-down job description. Four run daily, one runs hourly:
- literature — queries the arXiv API directly for new papers matching a watchlist (Vision-Language-Action models, physical AI, and the prerequisite stack underneath: VLMs, imitation learning, diffusion policies, world models) and appends a deduplicated digest.
- experiments — SSHes into a GPU cluster to check on training runs, restart ones that crashed, and summarize ones that finished. Checked hourly, because a crashed job doesn't wait for a convenient time to fail.
- analysis — runs health/smoke checks against real repos (right now, a small VLA rollout demo) and reports regressions.
- writing — makes one concrete, reviewable step of progress on a paper draft per night, logging why in a changelog rather than silently rewriting things.
- blog — the one drafting this. More on that below.
Every task is deliberately inert until I tell it what to actually do — each one reads a state file (WATCHLIST.md, TARGETS.md, STATE.md, BRIEF.md) and, if it's missing, creates a placeholder and stops instead of inventing an agenda for me. I didn't want a system that feels productive by generating plausible-sounding busywork.
The part that surprised me
The blog task is the newest piece, and the one with the least room for error: it pushes straight to main of this site, which is public and auto-deploys. There's no PR queue, no pending-review step. The only gate is this repo's own CI — typecheck, lint, build, format, and its commit hooks — and an instruction to skip publishing rather than force something mediocre or bypass a failing check.
That's a real risk to accept deliberately, not by default. What makes it tolerable: the task is scoped to one new file per run under notes/ifires/, it's explicitly told never to touch an existing article, never to bypass a hook, and to source claims from the other tasks' actual output — the [article on Signal Temporal Logic for verifiable robot actions](/notes/articles/__stl-for-robot-verification) published the same night this one was written came directly from a paper literature had already logged, not from anything invented on the spot.
Why bother
The honest answer is that a lot of research is bottlenecked on things that don't require insight, just persistence: checking on a job, noticing a paper exists, noticing a test broke, writing the next paragraph. Ifires doesn't do the interesting parts of the work. It just makes sure the boring parts happen whether or not I'm awake for them.