# Promise ledger

URL: /code/builders/startup/promise-ledger · Id: `page:code/builders/startup/promise-ledger`

> Launch readiness is a number, counted by binding every promise in the docs to a registry id the platform runs.

Launch readiness is a number: how many of the promises in these docs bind to something the platform runs. The promise ledger counts it on every page, and the build fails on a promise that binds nothing.

## What counts as a promise
A promise is a sentence that says the platform does something. The verifier reads three kinds on every hand-written page.

- Each row of a contract table.
- Each row of a hand-written [Verbs](/business/nouns/verb) table.
- Each line that says what a [System](/business/nouns/system) does.

Generated sections are not counted. The registry wrote them, so they bind by construction.

## How a promise binds
A promise binds to the registry ids it links or names in code. Linking a Verb, an [Event](/business/nouns/event), a property, a [Workflow](/business/nouns/workflow), a [Metric](/business/nouns/metric), a [Control](/business/nouns/control) or an error types it.

| Grade | The promise |
| --- | --- |
| `proven` | Binds a Verb whose conformance test passes in the test environment. |
| `typed` | Binds a Verb, Event, property, Workflow, Metric, Control or error. |
| `named` | Links only [Nouns](/business/nouns/noun): the record exists, but nothing says what runs. |
| `unbound` | Binds nothing. |

A promise can name `Noun.verb` in code when the registry holds no such Verb, Event or property. That promise is unresolved, and it fails the way an unbound one does.

## The number
Every System and capability page prints its count, such as 14 of 16 promises typed. A coverage page ranks Systems by unbound promises, so the next piece of work is always the top row.

Each System also declares its category leader's job list. Parity is the share of those jobs whose Verbs all resolve: a System covering 18 of 20 jobs scores 0.9.

For a [Startup Template](/business/nouns/startup-template), readiness is a typed path from [Idea](/business/nouns/idea) to a closed month, walked every night by the [Founder Run](/code/founder-run).

## The money spine first
The first rows to turn green are the ones every [Startup](/business/nouns/startup) crosses on its way to cash. That is the revenue chain, [Prospect](/business/nouns/prospect) to [Lead](/business/nouns/lead) to [Deal](/business/nouns/deal) to [Quote](/business/nouns/quote) to [Order](/business/nouns/order) or [Subscription](/business/nouns/subscription) to [Renewal](/business/nouns/renewal), with its [Acquisition](/business/nouns/acquisition) carried down each step.

Every Verb that moves money also declares the ledger [Entries](/business/nouns/entry) it writes. The verifier fails a money Verb with no posting rule, so the books compile from the grammar.

## Example
A [Billing](/systems/billing) page promises that it refunds through `Order.refund` and that it recovers failed payments. The first binds `verb:Order.refund` and grades `typed`; the second binds nothing and fails the build at its line. Linking the [Dunning](/workflows/processes/billing/dunning) Workflow that keeps it turns the row `typed`.