LucidLink / agentic-lucidlink / render-swarm + live-dailies · measured 2026-07-22

A human and Claude Code turned one LucidLink filespace into a render farm that needs a token and a folder, nothing else.

No farm manager. No queue server. No message bus. The dispatcher is a hub lock, the progress bar is a file browser, and the artifact store is the same encrypted drive the footage already lives on. Everything below is a number that a run actually printed.

fleet g4dn.xlarge, on-demand, ~$0.53/hr arc spend ~$8 to $9 total model SmolVLM-Instruct on a T4 boot to artifact 68 s
✵ ACT I the mountless fleet

A box that knows two things: a token and a folder.

Humans get mounts. Agents get the SDK. A worker joins with pip install lucidlink and a token, fetches its own code and tools from the drive, and starts claiming work. No kernel client, no FUSE, no desktop app on the whole fleet.

"The instance knows two things: a token and a folder. The folder taught it everything else."// beat B5, mountless bootstrap

Bash(apt install python3-venv)
the whole OS footprint · 53 s
Bash(pip install lucidlink)
from PyPI · 8 s
sdk.login(token) · sdk.fetch(/patterns/engine)
login 4.19 s · engine 91,559 bytes in 0.26 s · marker publish 0.15 s
boot → proof marker on the drive · 68 s
MEASUREboot → SSM token fetched55 s
MEASUREboot → proof marker on the drive68 s
MEASUREbootstrap total, incl. the ffmpeg build download80 s
MEASURE4 boxes: launch → working fleet, no FUSE~2 min
MEASUREGPU encode, pinned ffmpeg n7.1 build150 frames, 85 fps, 2.77x realtime
MEASUREsustained fleet work, zero stalls (the FUSE death window was 7 to 20 min)~33 min

One survival run held four workers on real load for about 33 minutes with zero stalls, all four SSM Online throughout, every box holding 30 to 65 MB per 5 minutes of network out. The blackout signature that killed the FUSE stack never appeared on the SDK path.

"Nothing on these machines came from anywhere but the drive: their code, their tools, and the model itself."// beat B6, model from the drive

The drive is also the model registry. A fresh box fetched SmolVLM from /tools/models and reached inference in about 53 s with the model hub switched off entirely: fetch 25.5 s at 177 MB/s, untar 21 s, load to CUDA 6.6 s. Version-pinned by snapshots, no model-hub account on any box, weights sitting in the same zero-knowledge vault as the footage.

✵ ACT II live dailies

Post starts while the camera is still rolling.

A live feed lands as 2-second segments on the filespace. Workers discover them by listing a directory, cut proxies and posters, and a single GPU box captions one frame per segment. The captions land as sidecars beside the proxies, seconds behind the lens.

"The camera has not stopped, and post has already started."// beat B1, live proxies

1.0 s
camera → proxied floor: the pipeline is instant when a worker is free
4.9 s
camera → captioned, median over n=179 (min 1.9 s, p95 7.2 s)
1.01 s
median caption time per frame on the T4, 18/20 unique
dailiesboard.py --run run-gate3-003
camera → captioned: median 4.9 s (n=179) · proxy floor 1.0 s
ingest bridge: publish → visible median 1.63 s, p95 2.06 s
captions paced the camera through the whole capture window

"A GPU in Oregon is logging your footage seconds behind the lens."// beat B2, live captions

Elasticity is the whole point. In the presentation take the cameras produced roughly 90 clips per minute; four workers consumed 24 per minute. That gap is not latency, it is a dial you turn with instances.

"The backlog is a dial: four machines fall 12 minutes behind, sixteen never fall behind, each is 53 cents an hour."// beat B3, elasticity

MEASUREclips arriving from 3 cameras90 clips/min
MEASUREclips consumed by 4 workers24 clips/min
MEASURE4 machines finish behind the cameras~12 min
MEASUREmachines to never fall behind, each ~$0.53/hr~16
✵ ACT III the receipts

The receipt refuses to lie.

When the queue drains, the run signs a receipt. It counts the clips in the movie before it signs, and it would rather fail loudly than certify a hole. Two clean dress runs, 420 of 420 posters each, ffprobe-verified.

"The receipt refuses to lie: it counts before it signs."// beat B4, the receipt

Bash(jq .status run-gate3-003/receipt.json)
COMPLETE 420/420 · 21.9 clips/min · all 420 sidecars attribute to 4 instance ids
Bash(jq .status run-gate3-002/receipt.json)
COMPLETE 420/420 · 23.2 clips/min · ffprobe-verified 420 == 420

One receipt was signed by two operating systems. A MacBook and a Windows gaming laptop transcoded the same dailies queue, coordinated only by hub locks on the filespace, neither machine mounting anything. The gaming rig joined the same way every worker does: pip install lucidlink and a token.

"One receipt, two operating systems, nothing shared but a drive."// beat B7, the two-hostname receipt

420 / 420
posters, ffprobe-verified, no holes
6 refusals
one hub lock blocking another machine over 13.6 s, handover 1.4 s after release
1 fileId
every artifact permanently names its creating session: creatorNodeId:seq

"You are watching one hub lock physically block another machine."// beat B8, lock theater

Locks are range-scoped, they follow a file across a rename, and contention returns a clean refusal every time, 0 exceptions in 53 tries. In the close, the audit trail answers the offboarding question directly: every fileId is stamped creatorNodeId:seq, so the drive can say which session made each write and whether an offboarded machine actually stopped.

"Did the offboarded machine's writes actually stop? The drive can answer that."// beat B9, audit close

✵ ENCORE streaming weights

The GPU never downloaded the model.

SmolVLM is one 4,492,630,912-byte safetensors file: an 8-byte header length, a JSON tensor index, then a packed blob of 657 BF16 tensors. Because the SDK does ranged reads, a two-process loader can parse the header, plan coalesced byte ranges, and pump exactly the tensors it wants off the drive and into video memory. No local copy. No untar step. Every byte md5-verified on both sides.

"The GPU never downloaded the model: it read the tensors it wanted straight into video memory."// beat B10, streaming weights

28.4 s
4.5 GB drive → CUDA at 158.2 MB/s (657 tensors), vs 53 s for fetch + untar + load
6.7 s
vision tower alone: 825,974,496 B, one coalesced range, 437 tensors
18.4 %
of the file touched for the tower. A tarball cannot do that; a filespace with ranged reads can
weightstream.py --stream model.safetensors --device cuda
4,492,630,912 B → CUDA in 28.4 s at 158.2 MB/s · 657 BF16 tensors · md5-exact
weightstream.py --filter model.vision_model. --device cuda
825,974,496 B (18.4%) → CUDA in 6.7 s · 437 tensors · one coalesced range
weightstream.py --assemble --caption-image frame.jpg
"A dark, cloudy sky with a bright spot in the upper right corner."

The last line is the proof of life: the streamed model captioned a frame that also came from the drive. Full-stream time held steady across four runs at 28.4, 33.6, 34.5, and 32.3 seconds (130 to 158 MB/s). Bootstrap to work-ready on the spike box was 138 s. The box lived about an hour, on-demand, and the session's entire GPU spend was about 53 cents.

MEASUREsafetensors header: tensors, dtype, shards657 tensors, BF16, one file
MEASUREtensor group: text_model3,422.8 MB
MEASUREtensor group: vision_model (18.4%)826.0 MB
MEASUREtensor groups: lm_head + connector201.3 + 42.5 MB
✵ LEDGER ten beats, all measured

The backbone, one line each.

Nothing goes on this list that a run on screen is not currently proving. Numbers beat adjectives.

B1Live proxiescamera → proxy floor 1.0 s
B2Live captionscamera → caption median 4.9 s, n=179
B3Elasticity4 workers 24 clips/min vs 90/min arriving
B4The receiptCOMPLETE 420/420, every clip attributed
B5Mountless bootstrapboot → first artifact 68 s
B6Model from the drivedrive → inference 53 s, hub offline
B7Two-hostname receiptone queue, macOS + Windows, no mounts
B8Lock theater6 refusals over 13.6 s, handover 1.4 s
B9Audit closeevery fileId names its creating session
B10Streaming weights4.5 GB → CUDA 28.4 s, tower 6.7 s
✵ ✵ ✵

The only thing that persists is the drive.

The machines were rented and returned. The code, the tools, the model, the queue, the telemetry, and the receipts all lived in one folder. Turn the instances off and the filespace still holds the whole story.

Hub