Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RUNNER PROTOCOL

Claude has usage limits that fill up as you work and reset every five hours. This turns each of those windows into an extraction run, played out on a €40 handheld games console sitting next to your keyboard. Your usage is cargo. Bank it before the window burns out, or lose it.

It's the aggressive sibling of pocket-clawd, which shows the same numbers with a worried crab. This one has larvae.

▶ See it running in your browser — every tab and state, rendered by the same code the console runs.

The RUN screen, in band


The game

Every 5-hour usage window is a RUN. Your live usage percentage is LOAD.

  • Salvage accrues while you work — on rises only, paid at the current band's multiplier. The productive band is 60–85% LOAD: inside it the multiplier ramps from x2.0 to x3.0 over an hour held. Below it you're coasting; above it you're gambling.
  • Press A to EXTRACT. Banks your salvage at a bonus (x1.5 in band) and ends your stake in the window. One extraction per run.
  • Hit 95% LOAD, or get rate-limited, and the run is a BLACKOUT. Unbanked salvage is gone. The screen makes sure you know.

Extraction

Every closed window becomes a serial-numbered specimen in the DEBRIEF tray, ranked F to S. Streaks, ranks and contracts are recomputed from the sample log at every launch — there is no save file, and quitting with unbanked salvage voids it. That's deliberate.

The DEBRIEF tray

The only way to play well is to keep looking at the numbers — which is the entire point of putting them on a second screen.

The look

The design brief was a security terminal that watches something biological — retro-futurist industrial sci-fi in the graphic-realism school: flat colour doing the work of rendering, everything annotated, nothing decorated. The lineage runs through F1 livery sheets, Ghost in the Shell, Designers Republic on WipEout, Teenage Engineering, PS2-era Sony ads.

Boot sequence

The rules, in short — docs/DESIGN.md is the full spec:

  • Eight colours, total. Near-black ground, graphite panels, bone text, and one load-bearing accent: acid green, used only for data, live state, and the thing you should press. Red means this run is in danger and appears for nothing else. Flat fills only — no gradients, no glows, no rounded corners, ever.
  • One typeface, a caps-only industrial display face baked to bitmaps and drawn as rectangles. It ships without %, < or >, and its X, V and K collapse at small sizes — the font baker synthesizes and redraws them, which is its own small saga (DESIGN.md §3).
  • Photography survives as dither. Every image is quantized to a handful of colours and ordered-dithered against the near-black ground, so it reads as print, not as a picture.
  • Motion is slow, mechanical, and mostly absent. Hard cuts with a 3-frame glitch, never fades. Nothing drifts horizontally (no vsync — it tears). The one living exception: the specimen larvae undulate, and their speed is data — a hot window writhes, a cold one barely moves.
  • Everything is annotated — serials, callouts with leader lines, machine strings as texture. If a corner looked empty, it got a registration tick, not a flourish.

Blackout

Five tabs: RUN (the live window), TRACE (a week of telemetry as a seismic plot), LOG (the specimen tray), TASKS (contracts), LINK (the uplink, and a calibration specimen). Leave it idle for two minutes and it goes full attract mode.

TRACE

What you need

A handheld An R36S or one of its clones running ArkOS: a pocket-sized Linux console, around €40. Any similar 640×480 ArkOS handheld should work.
Claude Code Already installed and logged in on your computer. That's where the numbers come from.
A network Both on the same WiFi. If the console's dongle won't join your network (many can't do 5GHz/WPA3), pc\hotspot-on.ps1 turns your Windows PC into a 2.4GHz hotspot it can join.

Nothing to install on the console — standard library Python only, because this firmware ships a locked-down filesystem.

Install

1. Get it.

git clone https://github.com/ShellPayant/runner-protocol.git

2. Get the console onto your WiFi (Options → WiFi Settings on ArkOS) and turn on Remote Services (SSH). The WiFi menu shows its IP address.

3. Tell the scripts where it is. Create pc\deploy.config.ps1:

$DeployHost = "192.168.1.42"   # the console's IP
$DeployUser = "ark"            # stock ArkOS username (password is also ark)

and pc\pusher.config.ps1:

$DeviceUrls = @("http://192.168.1.42:8788/")

Optionally copy device\runner_config.example.json to device\runner_config.json with your details — it's what the LINK tab prints under HOST.

4. Deploy.

powershell -File pc\deploy-runner.ps1

It verifies the game model and every screen against every state first, and refuses to copy anything if a test fails. You now have Claude Runner in the console's Tools menu.

5. Want it on the main carousel instead, with artwork and a video snap? On the console:

cd /path/to/runner-protocol
sudo ./install/install-carousel.sh

Safe to re-run; install/uninstall-carousel.sh puts es_systems.cfg back exactly as it was.

6. Start the pusher on your computer and leave it running. Double-click pc\Start Usage Pusher.cmd (Windows). It reads the Claude Code login you already have and sends just the usage percentages — nothing else. Within a minute the deck goes live.

The buttons

L1 / R1 previous / next tab
A EXTRACT — bank the salvage, end your stake in this window
any button wake from attract mode, skip the boot sequence
SELECT + START exit

No console?

powershell -File pc\sim-runner.ps1 -Tab run -State critical

renders any screen in any state to an animated GIF with fabricated data — the whole UI, exactly as the device draws it. Every image in this README was made that way. States: cold, inband, critical, blackout, extracted, extracting, nodata; add -Boot for the boot sequence. Needs Python with pillow.

Making it yours

  • device/runner_config.json — what the LINK tab shows as HOST.
  • The band, multipliers and payout rules are constants at the top of device/runner.py, and the test suite in tools/test_model.py will tell you if your rebalance broke an invariant.
  • The art is device/art/*.raw — a trivial BGRA format described in runner.py's load_art(). The font rebakes from tools/Maratype.otf, the sound effects from arithmetic (tools/bake_sfx.py).
  • Change anything visual and read docs/DESIGN.md first. Rule one: acid is load-bearing.

Credits

The typeface is Maratype by imago? / metamorphosiis, released freely by its designer — see NOTICE.md. Everything else — the game, the renderer, the artwork, the sounds — is this project's own.

Licence

MIT, see LICENSE. Do what you like with it.

Not affiliated with Anthropic. This reads your own usage numbers, with your own login, and makes a game about it.

About

Your Claude usage limits as an extraction game, on a 40 euro handheld. Ride the band, bank your salvage, do not black out.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages