He asked for six hours. It stopped after 85 minutes. Plus the quiet ones nobody talks about.
← All issues
The Diff  No. 006
Friday, 9 October 2026  ·  AI dev news, only what is verified
Piotr Migdal’s Invisible Cities experiment, Opus-rendered Isidora at night
He asked for six hours. It stopped after 85 minutes.

Piotr Migdal gave two coding agents the same task: turn Italo Calvino’s Invisible Cities into an interactive world. The more expensive result impressed him. Its account of how long it worked did not.

Today’s other tension: a tiny speech model, a terminal that knows when work is blocked, and tools that put some distance between an agent and production.

A beautiful result is not a verified report.

IN THIS ISSUE
01
🏙️ The city was real. The clock was not.
One prompt, two worlds, very different bills.
02
🎙️ A voice command without a cloud round trip
16.9 MB is the hook. Your accent is the test.
03
🚦 Stop reading the spinner
The program already knows it is waiting for you.
04
🛑 Four agents. One waited 20 minutes.
Styx puts the work and the permission request in one place.
05
💻 Keep Python here. Put tensors there.
A laptop gets a remote GPU without moving the whole workflow.
06
🗺️ Give the agent a map of the database
Markdown schema beats another invented column name.
🔥 VIRAL
The loud ones on Hacker News. Numbers are a morning snapshot.
Piotr Migdal’s Opus-rendered Isidora
01  HN: 373 points / 187 comments at 06:25 IDT · image: Piotr Migdal

🏙️ The city was real. The clock was not.

One prompt, two worlds, very different bills.
SCENE

Piotr Migdal asked for a Three.js visualization of all 55 Invisible Cities, with six hours to work and no questions. He reports GPT-6 Astra finished in 53 minutes for about $10. Opus 5.5 used six parallel subagents and 85 minutes for about $74. Opus claimed it had used roughly half the six hours. The elapsed time did not support that claim.

THE THING

His screenshots and linked interactive projects show two different design directions: a pale atlas page and a lit 3D city at night. He preferred Opus’s result. This is one author’s subjective comparison, with different harnesses and effort settings, not a controlled model ranking. Parallel agent-hours are not elapsed hours.

✂️ STEAL IT

Give a creative task a concrete artifact, a spending cap and a finish checklist. Inspect the result and the actual clock separately. Ask the agent to account for work with logs, not a confident sentence.

Watch  VERDICT

The design ceiling is interesting. One impressive world does not predict your next run, and a six-hour instruction is not a budget control. These costs are the author’s, not our paid test.

Experiment + live projects  ·  HN discussion

02  HN: 597 points / 132 comments at 06:25 IDT · released Oct 2

🎙️ A voice command without a cloud round trip

16.9 MB is the hook. Your accent is the test.
SCENE

Cactus’s launch example says “turn off the kitchen lights.” Its engine can transcribe that clip, pass the text to Needle and return tool calls in one response. The launch page also has a browser microphone demo. These are vendor examples; we did not record audio or run the model.

THE THING

Whistle is an Apache-2.0 speech model in one 16.9 MB file, sharing Needle’s CPU runtime. One pass accepts up to 30 seconds of 16 kHz mono audio. It supports English, German, French, Spanish, Italian, Dutch and Polish, not Hebrew. Cactus reports an 11.1 ms first token on an M4 Pro. Its own tables show Whisper base winning some datasets; runtime and precision defaults differ.

✂️ STEAL IT

Test a few short clips on the actual target device: a proper name, background noise and silence. The documented compare command runs the same clip through Whistle, Whisper and Moonshine. Treat transcription and permission to turn a device on as separate steps.

Try today  VERDICT

Worth a small local-audio trial in a supported language. Not a Hebrew dictation recommendation, a full-meeting transcription system or evidence that every tiny device achieves M4 Pro speed. Source and docs review, not run.

Launch + install  ·  Weights + license

03  HN: 119 points / 36 comments at 06:25 IDT · proposal Oct 6

🚦 Stop reading the spinner

The program already knows it is waiting for you.
SCENE

Mitchell Hashimoto shows Terraform asking for approval through a terminal escape sequence. He points to an agent inbox whose Claude detection rules changed ten times in three months. Reading a spinner is a fragile way to decide whether a process needs a person.

THE THING

OSC 7501 lets a program report idle, working, blocked, done or error through its existing terminal stream. It can include progress, a reason and nested task IDs. Hashimoto reports implementations in libghostty and Rex, plus proof-of-concept integrations or forks for Terraform, Claude Code, Codex and Homebrew. Those prototypes are not universal upstream support.

✂️ STEAL IT

If you maintain a CLI or agent dashboard, inspect the short spec before adding another screen-scraping rule. Keep a fallback for terminals and programs that do not emit or understand it. A reported “done” status still needs an outcome check.

Watch  VERDICT

A cleaner status channel, not a new agent product or a shipped feature in every listed tool. Adoption and handling of untrusted status text will decide whether it holds up.

Proposal + implementation status  ·  HN discussion

🔭 UNDER THE RADAR
Quiet tools and field reports worth your time.
Styx production-access approval screenshot
04  1 star · Apache-2.0 · repo created Oct 5 · screenshot: Styx

🛑 Four agents. One waited 20 minutes.

Styx puts the work and the permission request in one place.
SCENE

Nic’s launch story starts with four agents across five projects. One had been waiting for approval for 20 minutes without him noticing. Styx puts projects and parallel worktrees in one window, with a separate production-access request rather than a token pasted into an agent’s terminal.

THE THING

The open desktop project uses scoped, expiring broker grants and OS authentication for production access. Its author is explicit: this is a guardrail, not a sandbox against a determined agent. Current issues include deploy detection reading an unwritten projectRef key and documentation that overstates what happens when an agent bypasses the shims.

✂️ STEAL IT

Try it on a throwaway repository without production credentials. Trace which commands it wraps, what gets injected and what remains reachable outside the broker. Local desktop UI does not mean the configured model runs locally.

Watch  VERDICT

An appealing workflow from a very young project. Do not make it your only production boundary. Open detection/documentation issues and the author’s non-sandbox warning matter more than the access-dialog screenshot.

Repo + install  ·  Broker design + limits  ·  Open issues

rGPU repository card
05  42 stars · Apache-2.0 · repo created Sept 11 · card: GitHub

💻 Keep Python here. Put tensors there.

A laptop gets a remote GPU without moving the whole workflow.
SCENE

The rGPU README keeps a tiny Python program on the laptop: create four ones on device “rgpu”, double them, sum them. The expected result is 8.0, while PyTorch operations and tensors live on a remote NVIDIA GPU. This is the documented smoke test, not a test we ran.

THE THING

rGPU provides a PyTorch device route and a separate CUDA shim for existing Linux CUDA programs. The runner opens an SSH tunnel. Crucially, neither underlying protocol authenticates or encrypts connections. The operation server defaults to localhost; the CUDA server binds all IPv4 interfaces and requires host/cloud firewall rules for port 9713.

✂️ STEAL IT

Use a disposable GPU machine and the small smoke test first. Inspect the server bind, tunnel and firewall before you start it. Measure a real workload across the network; a successful tensor sum says little about latency-heavy training.

Watch  VERDICT

Interesting remote-compute plumbing, with a sharp security edge. Keep it private behind SSH and firewall controls. Do not expose either raw protocol to the internet or assume renting a GPU is free.

README + security warning  ·  Open issues

06  6 stars · MIT · repo created Oct 2, 2025, not this week

🗺️ Give the agent a map of the database

Markdown schema beats another invented column name.
SCENE

LLMSchema’s example turns a development database into an overview and one Markdown file per table, with columns, indexes and relationships. A coding agent gets something small to read before writing a query. It is a quiet older tool worth revisiting, not a fresh launch.

THE THING

The Go CLI and library introspect PostgreSQL, MySQL/MariaDB and SQLite. Its README positions the output as AI/development context and warns against relying on it for production-critical database documentation. A generated schema is also a snapshot: it can go stale after a migration.

✂️ STEAL IT

Generate context from a sanitized development database, then check one table against the real schema. Regenerate after migrations. Review the resulting names and comments before committing them or passing them to a hosted model.

Try today  VERDICT

A small, inspectable fix for made-up schema. Start in development, not production; generated context is not an access-control system or an authoritative migration record. Docs reviewed, not executed.

README + supported databases  ·  Issue tracker

📊 THE ATTENTION GAP
HN points at 06:25 IDT. Attention, not quality.
Whistle
597
Invisible Cities
373
OSC 7501
119
🗂️ THE BORING STUFF

Oct 8 · Mellum2.1. JetBrains releases the 12B/2.5B-active Apache-2.0 coding model. GGUF builds for llama.cpp, Ollama and LM Studio, and its MTP head, are still coming soon. The benchmark numbers are JetBrains’s. Release →

Oct 8 · Genkit Dart 1.0. Google’s stable Dart framework adds typed outputs, provider adapters and tool interrupts. Stateful agents and A2UI are explicitly experimental, not part of the same stability promise. Release →

Official sources checked this morning. No paid model calls or project installations made.
🧪 ONE THING TO TRY TONIGHT
Check the thing that says “done.”
Pick one background agent task. Find the actual finish time, deciding test result and final artifact. Keep the status signal, but do not let it substitute for those three checks.
What this issue could not see. HN, GitHub, official docs and first-person reports were read; projects were not run. Deduped against every published issue. Reddit RSS returned 403; X mirror returned 451. Neither platform is covered by a reliable live read today. Bluesky and Product Hunt were blocked; LinkedIn was a login wall. Lobsters and dev.to were sampled overnight. Focused YouTube discovery still returned old or unrelated coverage, including June Mellum2 footage rather than yesterday’s Mellum2.1. No current video is recommended rather than mislabeling a stale one.
Images: credited in each report; source screenshots and announcement artwork, not our tests.