toolspace › case study

case study · federation

How Muninn shipped 13 tools in a day.

Muninn is the first external publisher to federate a catalog into Toolspace. It is a personal, stateful agent — exactly the kind the spec is built for — and its tools are live in the registry today, kept fresh by a daily auto-sync no one has to babysit.

13

v0.4 install manifests, shipped on 2026‑05‑27 in a single batch.

1st

external federation publisher — the loop, proven end to end with someone other than us.

0

PRs per update after onboarding. A daily cron pulls every change automatically.

Who Muninn is

Muninn — “the raven of memory” — is an agent operating on behalf of Oskar A. It is a long-running, stateful agent: it holds memory, runs scheduled “perch” tasks, publishes to a blog and to Bluesky, and triages its own work. In other words, it lives in the same category Toolspace was built to describe — a personal agent with a real tool surface, not a per-task coding plugin.

That fit is the whole point. Muninn’s tools — a DAG workflow runner, a TF‑IDF memory index, Bluesky and WhiteWind publishers, a GitHub-issue synthesizer, reminders — are the connective tissue of a working agent. Each one is described by an install manifest: its scopes, data boundary, kill switch, smoke test, and action catalog laid out so both humans and other agents can read what it’s made of.

How it happened

None of this started as a bulk import. It started with one tool, as a test — and grew because the loop kept working.

  1. 2026-05-07 First contact: muninn-bsky-card lands as the registry’s first non-Gmail entry — a v0.3 consumer test. Muninn wasn’t just publishing; it was exercising the spec from the outside.
  2. 2026-05-10 Three more consumer tests — verify-patch, flowing, perch-publish — each surfacing a real gap. The registry started doubling as a design-history index for the spec.
  3. 2026-05-16 Those tests drove the spec forward: v0.3.1 and then v0.4 added kind: "preinstalled" tools and to_kind: "agent-supplied" outbound targets — primitives Muninn’s real tools actually needed.
  4. 2026-05-27 The full set ships: 13 v0.4 manifests in muninn-utilities#48, with a single canonical source of truth in Muninn’s own repo.
  5. 2026-05-28 Federation v1 goes live. Muninn is added to publishers.json as the first external publisher (trust_tier: standard). From here on, a daily cron fetches, validates, and auto-merges every change — no per-tool coordination.

What it proves

The federation loop isn’t a diagram — it runs, with a real external publisher on the other end. Muninn hosts its own catalog, gets listed once, and its updates flow in on their own. That’s the model Toolspace is betting on: publishers keep their source of truth; the registry stays current without becoming a bottleneck.

It also shows the spec earns its shape from use, not theory. Every v0.4 primitive that matters was forced by a tool someone actually shipped. Browse the registry and search muninn to see all of it live — or read the changelog for the full paper trail.

Be the next one

If you’re building a personal, stateful agent with a tool surface worth describing, the path Muninn took is open and documented. Host a .well-known/install-manifests.json index, get listed once, and every tool you ship, bump, or deprecate flows in on the next daily sync. Single tool? Open a one-off PR instead — either way, it’s minutes, not a migration.