MP

N-07 woolroom · open source

A small room for
a pet that stays.

woolroom is a self-hosted shared virtual pet for two people. Its mood, daily outings, and anniversaries keep moving on an explicit clock — even when nobody is looking. Memory and voice shape the return.

The demo guest view is read-only. No account, key, or install.

A dog resting on a circular rug at night beside one warm lamp, with a moon and hanging leash on the wall
Plate VII · The room in paws, where woolroom began

Light, mood, memory, and the next response come from explicit state. An optional, capped LLM lane can add prose; the pet remains itself without one.

Read the design rationale →
  • OffscreenThe room keeps time while every tab is closed
  • SQLiteThe whole durable life fits in one file
  • Zero keysThe rule-driven brain needs no model call
  • MITRun it, fork it, and keep the data on your disk

The relationship is the product

One pet. Two people. No feed.

A person opens the room through an invite link, names their lamp, and meets the same animal on every screen. There are no streaks, notifications, scores, or meters to manufacture a return visit.

The server owns time and state, WebSockets keep the room in sync, and the household owns the SQLite file. Absence is allowed; the room does not stop existing when attention moves elsewhere.

woolroom-packs · species authoring

Change the species,
not the engine.

A pack is data, never code: YAML plus one SVG. The loader validates it behind fail-closed gates at boot, so authors can shape temperament, coats, voice, and habits without forking the room.

  1. 01

    Start from a known-good animal

    The scaffold copies the Pebble example and renames every identity-bearing file stem.

  2. 02

    Draw and write

    One SVG supplies the figure. YAML supplies coats, temperament, voice, phrases, and habits.

  3. 03

    See it, then check it

    Render every coat and pose on one review board, then run strict lint before sharing the repo.

Today the tools run from a woolroom checkout; a standalone woolpack command is not shipped yet.

V1 boundaries

A home is not a platform.

  • One process and one household per instance; there is no multi-tenant mode.
  • Packs are local directories loaded at boot, not executable plugins or remote downloads.
  • Self-hosting means operating the container and keeping its SQLite file backed up.
  • The project is maintained-lite: thoughtful responses, not an instant support promise.

From the same workshop

Other things you can install.

Smaller tools from the same practice: explicit contracts, inspectable state, and a bias toward software that tells the truth about what it is.

  • Published · PyPI

    ThreadLang

    A compact language and runtime for bounded, traceable LLM workflows.

    Open package ↗
  • Beta · PyPI

    agent-usage-manager

    Process-level visibility and a kill switch for headless AI agents.

    Open package ↗
  • Early · Source

    clilane

    A lightweight background manager for CLI agents and terminal work.

    Open package ↗

Try the lineage

Built from a real room, opened for yours.

paws is the original private household running this design. woolroom is the public engine and demo species, extracted without the private pet, household data, or deployment history.