Personal Agent Substrate

v0.11 is a structural release. The pitch in one sentence:

Thrum's role is to be the substrate that lets any harness implement personal-agent patterns cleanly — not to become a harness itself.

That framing locked in May 2026. v0.10 gave you the messaging foundation (direct messages, role routing, critical broadcast, sync, peers, Telegram). v0.11 adds the layer above it: scheduling, scheduled-agent lifecycle, a per-project skill library that agents can extend at runtime, an email transport alongside Telegram, and a unified reminder substrate.

If you're using thrum today for agent coordination, none of this is required reading — the v0.10 messaging surface keeps working. The substrate is for anyone wanting to build (or use) a personal-agent harness — Pi, Hermes, Open Claw, Replicant, or your own — on top of thrum.

The three-layer decomposition

Personal-agent frameworks decompose cleanly into three layers:

Layer What it provides
Substrate Messaging, scheduling, skill registry, state persistence, identity isolation, transport plumbing
Behavior Harness-provided meta-skills ("when/how/what to build")
Runtime Underlying LLM CLI (Claude, Codex, Kiro, Cursor)

A concrete trace: Pi schedules its next wake by calling the thrum daemon. The daemon handles persistence and cron-style scheduling and idle-nudge escalation. The runtime is whichever LLM CLI you've configured. Pi itself contains only the behavior layer — the meta-skills that decide what to do on each wake. Thrum carries the rest.

Each layer stays focused. The substrate makes the patterns possible across runtimes; the harness picks which patterns to use; the runtime executes.

The Pi / Hermes / Open Claw / Replicant pattern

The recent crop of personal-agent frameworks have a common shape:

Thrum already had four of the five before v0.11. Messaging gave it identity isolation and state persistence; the daemon and sync gave it transport plumbing; the role-templates and skill plugins gave it accumulation. The gap was the unified scheduler and the runtime-skill-registration plumbing. v0.11 fills that gap.

The Pi/Hermes phrase "the agent that builds itself" maps to the three layers above: the runtime executes, the harness's meta-skills decide what to build (and when), and the substrate makes the new skill discoverable next session. v0.11 ships the substrate piece. The harnesses keep their own behaviour.

What v0.11 adds

The five feature families in v0.11 — each gets its own page once the implementation lands.

How v0.11 relates to v0.10

The two releases stack:

You don't need v0.11 to use v0.10's messaging features. You do need v0.10's messaging to use v0.11's substrate features. The dependency is one-way.

Status

v0.11 is in development. The substrate-track pre-release cycle starts when the first v0.11.0-rc.1 tag publishes from the thrum-agents branch — see the Beta Channel page for substrate-track install instructions when it's ready.

The feature pages above will fill in as each piece lands and gets shaken out in soak. Until then, the parent epic and per-feature locked plans live in the source tree under dev-docs/ for anyone who wants to dig.