Stories A promise's telling · drafted 2026-09-24
Vespio
Donal runs an agency on the substrate ONE already ships — every client isolated, every agent and skill pushed by one command, no backend of his own to build or maintain.
The seven beats
- World
- Every agency before this one built its own backend under every client. Vespio builds none — it runs on the same six dimensions and fourteen operations any BaaS tenant gets.
- Cast
- Donal, running the agency; his clients, each an isolated workspace; Claude Code, wired in as a named actor; the agents Donal publishes.
- Knock
- A client site needs to be listed in three hundred directories, once, correctly, and the agency needs to prove it happened.
- Want
- One repo, one command, live on ONE as an agency — clients as workspaces, agents pushed to the substrate, a queue any machine can read.
- Way
- world:create-workspace nests a client under the agency; world:create-thing declares a row; a script — human or agent — reads the queue and writes the result back.
- Turn
- The tutorial runs the same six calls a person would type, against a live account, and an agent runs it exactly as written — no console, no SDK.
- Lesson
- Open — a Lesson is learned by someone, and this one is not written yet.
This story carries its beats but no written telling yet — text/vespio.md has no “The story” section.
Connected to
Every link here was checked against the repo when the page was built. 4 names the story uses could not be found and are shown without a link.
People
- Donal — the agency owner
- a client of the agency
Agents
Each opens a chat with that agent.
- Claude Code, as a named actor in Donal's workspace
- VERIFY: no agent slug in one.ie/ai/agents is named for Vespio-specific work
Skills
Each opens the skill's page.
- vespio
Paths
The flows this story walks — trigger → step → step.
- trigger: bun run setup → tool: world:create-workspace → tool: world:create-actor
- trigger: bun run push → tool: world:create-workspace (clients/*.toml) → tool: world:create-thing (agents, skills) → VERIFY: agency:push:complete
- trigger: a directory queued → agent: work the queue → tool: world:create-thing (record the attempt)
- trigger: bash .claude/scripts/vespio-sync.sh → condition: factory-repo.sh manifest → tool: copy portable/needs-env files
Tools
Receivers and scripts it signals.
Promises
What it holds; a told promise opens its own story.
- vespio
- baas
Events
Every event is a signal; each names the path it marks or warns.
- world:create-workspace · from the agency's own push script, per clients/*.toml VERIFY: whether the resolver marks a path on success is not read in this file tags: vespio, client
- world:create-thing · from the queue worker, human or agent, recording an attempt VERIFY: whether the resolver marks a path on success is not read in this file tags: vespio, directory
- world:create-actor · from the agency's own setup script VERIFY: whether the resolver marks a path on success is not read in this file tags: vespio
Transactions
- VERIFY: this file names no money moving; see § Pricing
Analytics
- a directory-submission board, N sites × M directories, one row per attempt per site (text/baas-tutorial-vespio.md § What you are building)