Environments
Environments give every namespace a test and a live environment, with separate keys, records and money over one shared definition.
Environments give every Startup two worlds, test and live, over one shared definition. The key on each call picks the world, and records, money and Messages never cross between them.
Contract
Both environments run the same Nouns, Offers, Pages and code. Every operational record, such as an Order or an Event, belongs to exactly one environment.
| Rule | test | live |
|---|---|---|
| Key prefix | sk_test_ | sk_live_ |
| Build it runs | The head: the latest merged Change | The Version last deployed |
| Money | Test payments: test cards, no funds move | Real charges, refunds and payouts |
| Outbound Messages | Delivered only to the Startup's own addresses and numbers | Delivered under Consent and Suppression |
| Outside effects | Domain purchases, ad spend and filings are simulated, then recorded as done | Performed |
| Before the first deploy | Serves every Verb | Returns not-live, status 503 |
Permissions, Limits, Approvals and delay windows behave the same in both, so a flow that passes in test passes in live. New keys default to test. Experiments run only in live, behind Flags.
The environments guide walks through keys and going live.
Verbs
| Verb | Object | Event |
|---|---|---|
| Version.deploy | Version | Version.deployed |
Interfaces
Example
An Agent builds quillnote.app, a résumé critique sold per review, entirely in test and sells to test Customers on test cards. When the founder deploys Version 3, live starts serving, and the test Orders stay in test.