Today · the compiler sees nothing

  

Invisible until production — and invisible to the agent rewriting this file.

The same function · after

  

Shape validated, failures typed, retries inherited. One signature reviews the whole behavior.

Delete bug classes · types

  

A new status becomes a compiler-driven refactor, not a “remember to check” note.

Failures join the contract · errors

  

Matt Pocock: “the most TypeScript of all TypeScript libraries.”

The program is data · runtime

appfetchretryruntime

Ethan Niser: “a tree of effects — then the runtime runs them.”

Composition · TanStack Query stays

   

Query already made retries sane. The handshake adds a typed domain — and errors the UI must handle.

Why v4 · why now

“My favorite TypeScript library just got so much better.” — Ben Davis · “batteries-included standard library.” — Matt Pocock

AI writes it · types verify it

  

tsc --noEmit — the agent's gate

Theo: “We’re not writing the code anymore — we’re reviewing it.”

What the next developer inherits

The honest cost · and the evidence

The strongest objections · answered

The workflow · incremental, stoppable, monotonic