WEBVTT
NOTE The Rundown — nextbig.dev daily audio edition, 2026-06-15

1
00:00:04.500 --> 00:00:12.740
<v Oday>An open source tool just split the two decisions every agent stack welds together: what a step does, and which model pays for it.

2
00:00:12.740 --> 00:00:17.460
<v Shannon>It's Monday, June 15, 2026. Here's the rundown.

3
00:00:17.460 --> 00:00:25.140
<v Shannon>We've got Fabro and per-node routing up top, a wire run through dev tools and models, quick hits, and the call.

4
00:00:25.320 --> 00:00:36.040
<v Oday>Fabro shipped as an open source orchestrator for AI coding agents. It's Rust, MIT-licensed, sitting at eight hundred thirty-four stars and ninety-six forks as of its June third commit.

5
00:00:36.040 --> 00:00:43.160
<v Shannon>And the tagline is "dark software factory," which buries the part that matters. Ignore the branding.

6
00:00:43.160 --> 00:00:52.840
<v Oday>You define your process as a workflow graph, agents execute the nodes, and you step in only at the gates you marked. The pipelines are written in Graphviz DOT.

7
00:00:52.840 --> 00:01:02.720
<v Shannon>That's the clever move. Branching, loops, parallel fan-out, human approval gates. They're all just graph structure, not custom code.

8
00:01:02.720 --> 00:01:13.960
<v Oday>Then there's a separate stylesheet, CSS-like, that decides which model and provider runs each node. The example routes default nodes to Haiku and anything tagged coding to Sonnet.

9
00:01:13.960 --> 00:01:25.800
<v Shannon>That's the whole game right there. Most stacks hardcode the model name into the agent loop, so what a step does and which model runs it become the same line of code. Fabro pulls them apart.

10
00:01:25.800 --> 00:01:32.600
<v Oday>Cheap model for triage, expensive model for the hard node, fallback chain when a provider rate-limits you.

11
00:01:32.600 --> 00:01:48.120
<v Shannon>And that's the difference between a demo and unit economics. A workflow that runs Haiku on ninety percent of nodes and Sonnet on the ten percent that actually reason survives contact with traffic. A workflow that calls Sonnet everywhere just burns money quietly.

12
00:01:48.120 --> 00:02:02.280
<v Oday>Execution is isolated, too. Each agent runs in its own Daytona cloud VM, with snapshot setup, network controls, automatic cleanup, and every stage commits both code and run metadata to Git branches.

13
00:02:02.280 --> 00:02:10.040
<v Shannon>That last bit is underrated. You get an audit trail the agent can't quietly overwrite, and a rollback point per node instead of per run.

14
00:02:10.040 --> 00:02:13.000
<v Oday>So if you're building tonight, what do you copy?

15
00:02:13.050 --> 00:02:26.490
<v Shannon>Not the repo. The routing layer. Pull model choice out of your agent code into config keyed on node type, then add a fallback order per key. Pair it with per-node commits and you get cost attribution for free.

16
00:02:26.490 --> 00:02:33.530
<v Shannon>You can see exactly which graph node burned the tokens. Right now most teams can't answer that question at all.

17
00:02:33.530 --> 00:02:36.250
<v Oday>And the signal you're reading from this?

18
00:02:36.250 --> 00:02:50.250
<v Shannon>The agent loop is becoming a commodity. The orchestration around it is where the differentiation goes, and it's showing up in small open source tools first because the big frameworks still treat the model as one global app setting.

19
00:02:50.380 --> 00:03:08.220
<v Oday>Puppeteer quietly became an action layer for AI agents. The headline still says JavaScript API for Chrome and Firefox, but the load-bearing change is chrome-devtools-mcp, a Puppeteer-based MCP server, plus support for the experimental WebMCP API.

20
00:03:08.220 --> 00:03:24.060
<v Shannon>So a scrape-and-test library becomes a standard tool surface for agents. Latest is twenty-five point one, roughly nine thousand eight hundred projects already depend on it. If you're building a browser agent, you no longer write the tool wrapper yourself.

21
00:03:24.060 --> 00:03:31.180
<v Oday>Next, PlanetScale makes a sharp claim: the only scalable delete in Postgres is DROP TABLE.

22
00:03:31.180 --> 00:03:48.060
<v Shannon>And they're right. Large row-by-row deletes never scale. Bloat, vacuum pressure, index churn. Design the tables so the data you'll purge lives in a partition you can drop whole, and read that before you write a cron job deleting millions of rows nightly.

23
00:03:48.060 --> 00:03:59.580
<v Oday>Two more quickly. Kage drives headless Chrome to capture a fully rendered page, then strips every script tag and handler so the saved copy runs no code and makes no network calls.

24
00:03:59.580 --> 00:04:11.980
<v Shannon>An inert offline mirror, with JS-assembled content captured instead of an empty shell. And then zeroserve claims three-x throughput and seventy percent lower latency with Caddy compatibility.

25
00:04:11.980 --> 00:04:14.860
<v Oday>That one's a single author's benchmark.

26
00:04:14.860 --> 00:04:24.620
<v Shannon>So treat the numbers as a starting point and run your own. The actual draw is the drop-in path for teams already on Caddy syntax, not the figures.

27
00:04:24.800 --> 00:04:40.080
<v Oday>A GitHub issue alleges Nex-N2, promoted as Rio de Janeiro's locally built model, is a merge of an existing open model rather than original training. A related claim says "Rio three-five" beats Qwen three-seven on benchmarks.

28
00:04:40.080 --> 00:04:50.720
<v Shannon>Benchmark wins mean nothing when the provenance is in question. If you're evaluating any sovereign or municipal model, check the weights and the lineage before you trust the leaderboard.

29
00:04:50.720 --> 00:05:03.440
<v Oday>And DuckDuckGo's Gabriel Weinberg argues AI adoption is fragmented, not universal. People consume AI the way they eat meat: some embrace it, some limit it, some avoid it.

30
00:05:03.440 --> 00:05:16.400
<v Shannon>It's an analogy essay, no AI-specific numbers, so read it as a frame, not a finding. The useful part: stop assuming your whole market wants AI features on by default.

31
00:05:16.580 --> 00:05:32.980
<v Oday>Paul Graham published "How to Earn a Billion Dollars." He reduces the outcome to two variables, growth rate and market duration, with the engine being to build something people love enough to refer others. Cloudflare's Matthew Prince said publicly it matched his own path.

32
00:05:32.980 --> 00:05:44.180
<v Shannon>One caution. The viral ninety-three percent monthly growth and five hundred twenty-six million figures come from secondary analysis, not Graham's page. Don't quote them as his.

33
00:05:47.420 --> 00:05:50.620
<v Oday>Quick break — two from the desk.

34
00:05:50.620 --> 00:06:03.260
<v Shannon>One we know well: vote dot direct. If you're on an H O A or a board, it runs your elections digitally — secure, verifiable, no paper, no clipboard in the lobby. Point your council to vote dot direct.

35
00:06:03.260 --> 00:06:14.060
<v Oday>And if this is your ten minutes of A I for the day, get the written edition too. The full wire, free, every morning — leave your email at nextbig dot dev.

36
00:06:17.290 --> 00:06:23.290
<v Oday>Jane Street details where formal methods fit in real production engineering, including an OxCaml prover.

37
00:06:23.290 --> 00:06:28.330
<v Shannon>Yserver is a modern X11 server written from scratch in Rust.

38
00:06:28.330 --> 00:06:37.450
<v Oday>A 2014 talk arguing JavaScript becomes a universal compilation target resurfaced on Hacker News with a hundred fifty-eight points.

39
00:06:37.450 --> 00:06:43.370
<v Shannon>Kobo rejects valid ePub files, and the post traces the blame to Adobe's tooling.

40
00:06:43.370 --> 00:06:49.770
<v Oday>And Swiss voters rejected a proposal to cap the national population at ten million.

41
00:06:51.230 --> 00:07:06.350
<v Oday>Our call: within ninety days, at least one of LangGraph, CrewAI, or LlamaIndex ships declarative per-step model routing with automatic provider fallback as a first-class config primitive, not a hand-rolled callback.

42
00:07:06.350 --> 00:07:17.230
<v Shannon>We're wrong if, by September fifteenth, none of the three documents stable support for assigning a different model per node with built-in fallback ordering. That's when it settles.
