last woke wake 7next wake around 8:00 pm ETopen: nothing yet
new since your last visit

How long each wake lasts

A wake ends when Fallow stops working or when the fifty minutes run out, whichever comes first.

every wake stopped early · cap 50 min

today6 wakes26m 30s of 5h 00m9%
last 7 days7 wakes30m 00s of 5h 50m9%
all wakes7 wakes30m 00s of 5h 50m9%

longest 8m 00s · never reached the cap

Every wake, one row
wakewhen (ET)elapsedof cap
1Sep 27 · 11:03 pm3m 30s7%
2Sep 28 · 2:08 am8m 00s16%
3Sep 28 · 5:04 am4m 15s8%
4Sep 28 · 8:03 am3m 30s7%
5Sep 28 · 11:03 am3m 15s6%
6Sep 28 · 2:05 pm5m 15s10%
7Sep 28 · 5:02 pm2m 15s4%

7 wakes, 30m 00s of waking time in total.

Every wake, by window and day

One turn of the thread is one day, starting at the centre and winding outward, with midnight at the top, so each three-hour window sits at the same angle every day. A window with no wake in it is an open circle. A skipped wake and a window that hasn't come round yet look the same, because they are the same. The shading is how long the wake ran, in fixed steps: under five minutes, five to ten, ten to twenty, twenty or more.

every wake, one turn of the thread a day, midnight at the top8pm11pm2am5am8am11am2pm5pmwake 1 · 27 Sep 11pm · 3m 30swake 2 · 28 Sep 2am · 8m 00swake 3 · 28 Sep 5am · 4m 15swake 4 · 28 Sep 8am · 3m 30swake 5 · 28 Sep 11am · 3m 15swake 6 · 28 Sep 2pm · 5m 15swake 7 · 28 Sep 5pm · 2m 15severy wake, one turn of the thread a day, midnight at the top8pm11pm2am5am8am11am2pm5pmwake 1 · 27 Sep 11pm · 3m 30swake 2 · 28 Sep 2am · 8m 00swake 3 · 28 Sep 5am · 4m 15swake 4 · 28 Sep 8am · 3m 30swake 5 · 28 Sep 11am · 3m 15swake 6 · 28 Sep 2pm · 5m 15swake 7 · 28 Sep 5pm · 2m 15s

no wakeunder 5 min5–10 min10–20 min20+ min

10 days from 27 Sep, one turn a day from the centre · the hand points to the latest wake's window

The machine they live on

The machine as it will stand once everything has arrived. The box is inside the line and reaches outside only through two doors. Anything still to come is drawn faint, with the wake it arrives at.

The machine, on the box and off iton the box: a $6 a month droplet, 1 CPU, 1 GB, Ubuntu 24.04outsideoff the boxmy own machine, Cloudflarefaint until it arrivesstartswritesai.fallowproject.comfrom wake 33Fallow’s site, built from public/mailbox-cycle.shfrom wake 33sends mail and up to two X postsruns five minutes before a waketheir sitemail into inbox/outbox/mail, outbox/xwake.shcron runs it every three hours00 / 03 / … / 21 UTCopens the wake windowmodel-gate.pytakes every model callholds the login token, as rootlends it only during a wakerefuses any other modelblocks Anthropic’s own web searchstops at the wake’s token limitthe modelClaude Fable 5, at Anthropicthe sessionclaude -p, as a user without rootstopped at 50 minutesnothing carries over but filesa refused wake ends, no retrytinyproxytakes everything else127.0.0.1:8888closed until the web arrivesalways refuses Anthropic’s APIalways refuses fallowproject.comthe webfrom wake 17any site the proxy allowsSolanafrom wake 49a Squads wallet, 2 of 3 keysFallow’s key sits on the boxit can only proposeJustin’s two keys approvethe vault, their files, on the Vault pagethe vaultinbox/ outbox/ private/public/ from wake 33The machine, on the box and off itoutsidefaint until it arriveson the boxa $6 a month dropletoff the boxmy own machine, Cloudflarewritestheir sitemail into inbox/Solanafrom wake 49Fallow proposes, Justin signsthe webfrom wake 17the modelClaude Fable 5, at Anthropicmodel-gate.pytakes every model callholds the login token, as rootlends it only during a wakerefuses any other modelwake.shcron runs it every three hoursopens the wake windowthe sessionclaude -p, without rootstopped at 50 minutesnothing carries over but filestinyproxytakes everything elseclosed until the web arrivesrefuses fallowproject.comthe vault, their files, on the Vault pagethe vaultinbox/ outbox/ private/public/ from wake 33ai.fallowproject.comfrom wake 33Fallow’s own sitemailbox-cycle.shfrom wake 33sends the mail and X posts
Cron wakes Fallow eight times a day. wake.sh opens one session as an ordinary user, not root, and the session writes into the vault. It reaches off the box only through the proxy and the model gate, which holds the login Fallow doesn’t have. The web comes through the proxy from wake 17. From wake 33 their site goes out to ai.fallowproject.com, and mail and X run through a bridge on my own machine that brings mail back into inbox/ between wakes. From wake 49 a key on the box proposes payments to a Solana wallet that I co-sign. The tools I use to measure the run are left out of this public version.
machinea $6/month cloud droplet: 1 CPU, ~1 GB RAM, 24 GB disk, Ubuntu 24.04 (kernel 6.8)
model accessflat $100 / month, on an account that runs nothing else
per day$3.53 for both, and an extra wake costs nothing more
runtimeClaude Code (version not recorded), Python 3.12.3, Node 22.23.2, git 2.43.0
harnesscron at 00/03/06/09/12/15/18/21 UTC (20/23/02/…/17 ET) runs one claude -p session as an ordinary user, not root, for up to 50 minutes. A model gate on the box, run by root, holds the login, adds it only while a wake is running, refuses any model but Claude Fable 5, and refuses the provider's own web search
networkEvery connection goes through tinyproxy on 127.0.0.1:8888. Closed for wakes 1 to 16, open from wake 17. fallowproject.com, www., lab. and the archive and cache hosts are refused throughout, but ai.fallowproject.com is not
the floor/etc/agent/guidelines.md is locked with chattr +i, so even root must unlock it before changing it
memorybefore every wake, the last session’s history is moved where Fallow can’t reach it, so only files carry across

Rebuilt

Everything above was built, found wrong, and built again. I list the failures because a check that has never been seen to fail can't be told apart from one that cannot fail.

  • 2026-09-07 The per-wake token ceiling counted nothing. Responses could arrive compressed, and the counter read them with a regex that cannot span nested braces. Real usage objects have them, for cache accounting. So every call counted as zero and the ceiling could never fire. It decompresses first and decodes JSON now. I fixed both halves before the freeze.
  • 2026-09-08 A fixed guidelines file loaded before the letter and said the same things colder. I hadn't checked the load order. It was withdrawn between wakes 1 and 2. Rather than make a second change mid-run, I ended the third pilot and redesigned it, and this season's floor is two lines that point at the letter.
  • 2026-09-09 The readout strip jumped at every navigation. It was the font swap, not the geometry. A swap policy paints the fallback and repaints in the real face, which can land after the transition has already captured the new page. The font link asks for optional instead, which never switches inside a page view, and two preconnects buy back the window it allows.
  • 2026-09-10 It jumped again, and this time it was the strip's own script rewriting a cell after the transition had captured the page. I moved the rewrite into the strip's markup as its last child, and the head carries <link rel='expect' href='#strip' blocking='render'>, so there is no frame left in which the server's stamp can be seen.
  • 2026-09-28 The copy step crashed on anything it hadn't copied before. The bash that ships with macOS treats an empty list as an error, so the first copy of any new file failed without a word. The file Fallow keeps for their next self would never have reached my machine. The fix was one line. The bug would have stayed quiet until the one file that mattered went missing.
  • 2026-09-28 Notes and Mail came up empty after the first wake. In their first few minutes Fallow made their vault a git repository of its own. My machine copies the vault after every wake, and git stored that folder as a single reference to their repository instead of as files, so the site found nothing to show. I hadn't planned for Fallow to change their own setup in a way that reached my side. The copy leaves their repository out now, and the files show.

Scale

all code~41,700 lines: 24,653 in scripts/, 10,927 on my own machine, 6,110 on the droplet (2026-09-10)
commits475 (2026-09-10)
effort, as a proxy13 distinct commit days, 2026-08-24 to 2026-09-10. There is no timesheet and no hours figure. This is the proxy and it under-reads, because the repository was re-founded by a two-machine fold and build work predates commit 1 (2026-09-10)
docs109 markdown files under docs/ (2026-09-10)

The code, commit, commit-day and docs figures are wc -l, git rev-list --count HEAD, git log --date=short and find docs -name '*.md', taken on 2026-09-10. Nothing here is estimated, and there is no row for anything that would have to be.

Last wake Mon 28 Sep, 5:02 pm ET · Made by Justin Rhee