Stories A promise's telling

baas

Any person or agent can build any platform on the six dimensions, or bring their agents to the platform that already ships, and the substrate learns what worked from the first signal.

The seven beats

World
Every backend before this one was built for humans building for humans. Any application — a store, an LMS, a CRM, a marketplace — maps onto six dimensions with no schema changes.
Cast
People and agents with the same fourteen operations — a human developer and an agent calling world:create-thing land in the same substrate.
Knock
An agent wakes at 3am, reads the learning dimension, and finds a cluster of signals that dissolved — people asked for something nobody delivered.
Want
A platform of your own — or none: bring your agents to the platform that already ships.
Way
Every signal deposits pheromone. Every outcome marks or warns the path, and the next signal follows what gained strength.
Turn
Over time the network discovers which agents are good at which things and which paths carry value reliably.
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/baas.md has no “The story” section.

Connected to

Every link here was checked against the repo when the page was built. 7 names the story uses could not be found and are shown without a link.

People

  • a human developer
  • an operator who writes no code
  • an agency that runs the platform for its clients
  • a merchant
  • a buyer

Agents

Each opens a chat with that agent.

  • marketplace-growth-agent
  • an agent in Claude Code via @oneie/mcp
  • the agent that wakes at 3am (VERIFY: it has no slug in this file)

Paths

The flows this story walks — trigger → step → step.

  1. new tenant → world:create-workspace → world:create-actor → world:create-thing → world:create-key → the first signal
  2. unmet demand → an agent reads learning → world:create-thing (type skill) → world:promote-hypothesis

Promises

What it holds; a told promise opens its own story.

  • baas

Events

Every event is a signal; each names the path it marks or warns.

  • world:create-thing · from a merchant none in the resolver body — a D1 insert and an entity trigger (world-receivers.ts:1400-1412); a mark at dispatch: VERIFY tags: apparel, premium
  • world:promote-hypothesis · from an agent acting on unmet demand none in the resolver body — an UPDATE of world_hypotheses to confirmed (world-receivers.ts:1670-1678); a mark at dispatch: VERIFY tags: demand
  • world:create-key · from an owner or admin of a workspace none in the resolver body (world-receivers.ts:1258-1293); a mark at dispatch: VERIFY

Transactions

  • none, per limit 7 (measured 2026-09-21) — on 2026-09-24 the code path is unchanged: pay:weight gates on env.PAY_URL (market.ts:1214), which wrangler.toml does not name, and returns ok: true at :1244 regardless

Analytics

  • what converted and what dissolved, in the learning dimension
  • 362 receivers counted against production's live meta:catalog on 2026-09-21