2026.08.22The Agent Runtime Problem: Four Things a while-Loop Doesn't Give You15 min read What a runtime owns that a framework does not Four quadrants, each naming a problem an agent runtime has to own. One, durable state: a crash between the tool and the push, answered by two commits around one uncertain call. Two, session ownership: the terminal dies with the agent, answered by a daemon that reports working or blocked. Three, the orchestration loop: the author reviews its own diff, answered by splitting the context window rather than the model. Four, identity and money: no name to present and no way to pay, answered by HTTP 402 plus a delegation boundary. The four are independent, and no project has all four. What a runtime owns that a framework does not four independent problems — no project on this list has all four 1. durable state crash between the tool and the push→ two commits per uncertain effect 2. session ownership the terminal dies with the agent→ a daemon that owns the session 3. the orchestration loop the author reviews its own diff→ split the context, not the model 4. identity and money no name to present, no way to pay→ HTTP 402 plus a delegation boundary a framework gives you a while-loop and tool plumbing a runtime owns what survives the process
2026.08.05Cloudflare Wallets and cloudflare.pay: Identity and Payments for AI Agents18 min read Cloudflare Wallets delegation tree Four layers of authority. A human account owner funds an Account Wallet holding the stablecoin balance. The Account Wallet delegates capped authority to three Virtual Wallets, each carrying its own weekly budget, per-call ceiling and merchant allowlist. Each Virtual Wallet issues an API key to one agent, which spends without per-transaction human approval. No agent can exceed the limits set above it. Delegated spending authority who is allowed to spend what funds · sets the ceiling delegates capped authority API key Human account owner a Cloudflare account, not a keypair Account Wallet stablecoin balance · on-ramp / off-ramp Virtual Wallet Virtual Wallet Virtual Wallet research agent ETL agent reader agent inference · $100 / wk max $2 per call data feeds · $20 / wk allowlist: 4 hosts web content · $5 / wk allowlist: 12 hosts research.acme etl.acme reader.acme no human approval per call · every child is bounded by its parent handles resolve under <name>.cloudflare.pay
2026.08.05x402 Native Payments: HTTP 402 Protocol for AI Agents20 min read x402 UML sequence diagram Twelve numbered steps across four lifelines. Solid arrows are requests, dashed arrows are responses, and self-messages are local work. An alt fragment splits the flow after verification: the invalid branch returns another 402 and stops, the valid branch settles the payment on-chain and returns the resource. x402 payment sequence solid = request · dashed = response · self-message = local work Client Resource Server Facilitator Blockchain alt [invalid] [valid] discover authorize verify settle & respond 1 · GET /weather 2 · 402 Payment Required PAYMENT-REQUIREDprice · tokennetwork · payTo 3 · Sign authorization EIP-3009 · signed locally 4 · Retry + signature PAYMENT-SIGNATURE 5 · POST /verify 6 · VerificationResponse isValid 402 + PAYMENT-REQUIRED client re-signs or aborts 7 · Fulfill resource prepare the paid work 8 · POST /settle 9 · Execute payment transferWithAuthorization 10 · Confirmed 11 · SettlementResponse success · tx hash 12 · 200 OK + data PAYMENT-RESPONSE Client Resource Server Facilitator Blockchain
2026.08.05simpleconf: A Go Config Service for When etcd Is Too Much11 min read simpleconf write path in Raft mode Four stages from an incoming PUT to the append-only log, with the alternative outcome at each stage on the right. One write, Raft mode reads never take this path — they are served locally from memory PUT /db/product.name 1 · am I the leader? no → re-issue to leader http_addr forward: false → 409 not leader 2 · raft.Apply(cmd) quorum commit across peers no quorum → error 3 · every FSM applies sjson.Set on the in-memory string client sees 200 here 4 · append to data.aof separate goroutine · no fsync after the response Steps 3 and 4 are decoupled: the acknowledgement means “applied in memory”, not “on disk”.