- hub-modules main 40m hub-modules-l steward 2 of 2 slots · queue 0 open board →
- forge steward restarting (1 of 3) main · 1 file 3m forge-l em-dash-sweep steward 3 of 4 slots · queue 1 queue is stalling open board →
- granite-backend main 3h granite-backend-l referral-signature-fix 1 of 2 slots · queue 2 queue is stalling probe holds no row open board →
asleep 2 ›
- dotfiles main 2d dotfiles-l 0 of 2 slots · queue 0 open board →
- space-acres never 0 of 2 slots · queue 0 open board →
states reference · the vocabulary the fleet's marks draw, none of it live
Every seat state the fleet's rows can carry - the mark is the strongest of a project's seats, drawn from this same set - and the same shapes the rail's rows use. This is what an implementation has to cover; the live page below shows only the states that are true right now.
the core's last fatal drawn above the header: the page is served by a forge that has stopped, whose words ride the home wire
state marks one shape per meaning, so colour is never the only signal
-
working a turn is in flight, or background work is running now
-
starting the subprocess is coming up - slower and dimmer than working spawning
-
idle alive, nothing in flight - no motion, so motion always means work 17m
-
finished a turn completed and you have not looked at it yet 4m
-
needs you asked you a question 2m
-
needs you a permission prompt is waiting 6m
-
needs you rate limited; retrying at 14:05 4m
-
sign-in needed waiting on /login before it can start 12m
-
failed the bucket died and is kept only so you can see why failedOAuth token expired; run /login to retry
-
turn failed a turn ended in failure and you have not opened the seat 9m
-
session ended a session on the seat ended and you have not opened it 6mthe claude subprocess closed its output stream
-
asleep no session - it starts again when you ask it to 8h
-
never started no session has ever run here never
an agent one row shape, the same for a lead and a worker
-
api-gateway main · 7 files Rewrite the retry backoff so a 429 does not burn the window in progress PR 9412 now
-
taskless worktree-taskless · 3m
a project that cannot start a spawn is refused, and the row says which refusal
-
notes no model declared - add `model` to this project 5d
-
web-api no usable accounts 2d
missing pieces what a row shows when the data behind it is not there
-
dotfiles not a git repository, so there is no branch to show 6h
-
steward its working directory is not there 3d
a worker under its project hierarchy is the indent, and nothing else moves - the branch is the target; #1271 is what brings a worker's own tree to the code
-
hub-modules main now
-
em-dash-sweep worktree-em-dash-sweep Sweep the memory corpus for banned dashes and curly quotes in progress now
-
the system band one card per service, quiet until it is not
upstream sits above the band, and only when there is something to say: the core's held service status, which the snapshot carries to a client that attached after it was raised
a forge on another protocol the shell's own line, above whatever page is drawn: the connection is live and nothing is refused, so it names the command that updates the stale half rather than stopping
this forge server is v1.1.6+6d6a71b55 (protocol 7); this client is v1.1.8+2fed5f872 (protocol 8). In the forge checkout run just install and restart forge.
the update check its own lines beside the client build - in flight it says so, and a failure carries the shell's words: silence would read as a build that is current, so the reason is what separates the two
nothing configured a fresh install, before any project exists
No projects yet
Projects come from forge.toml. Add an [[orgs.projects]] entry pointing at a repository, and it appears here.
what is configurable one place in forge.toml, picking by name from what forge ships
mark
panes · klin · lanes · f_slab · split · spine · grid ·
clamp · strike · nest · chamfer · tally · stencil_f
motion
not configurable: the working mark turns in 900ms, the starting
one in 1500ms, and that difference is how this page tells them apart
theme
darkthe palette below. a second palette is its own pass, since every state colour needs a treatment that stays legible on the new background
unknown name
a boot failure with the key and the value named, never a quiet fallback -
a setting that is ignored reads as the key not working
the palette the tokens a theme resolves to; dark is the one shipped so far
--bg#04050a--s1#0d111a--s2#141926--s3#1b2130--sel#20140a--line#222a3c--ctl#516590--dim#788294--muted#8f98a8--text#c9d1d9--accent#f47600--ok#82c76b--warn#c9a13b--bad#e0683e--blue#61a0e0--teal#4ec9c9--violet#b79ae0--hot#ffb058Surfaces draw their colours from these eighteen tokens, so a theme is one place to change and no component needs a branch for it. The one exception is the call-body diff, whose two grounds the sheet declares for itself. [client] theme in forge.toml picks one by name; the greeting carries the name, and the client resolves that set onto the page's root as inline custom properties.