# Principles

URL: /code/builders/startup/principles · Id: `page:code/builders/startup/principles`

> Seven rules every Startup on StartupBuilder follows, from the definition that runs to the honesty it cannot opt out of.

Seven rules hold for every [Startup](/business/nouns/startup) that [StartupBuilder](/code/builders/startup) runs. Each one is enforced by the platform, not left to the judgment of whoever runs the Startup.

## The definition is the business
What the definition says is what the Startup does. No side process runs outside it, no price lives in a spreadsheet, and no [Role](/business/nouns/role) exists only in someone's head.

A newcomer, human or [Agent](/business/nouns/agent), learns the business by reading its definition. A founder who wants the business to behave differently edits the definition through a [Change](/business/nouns/change), and the running Startup follows.

## Types are discipline
A typed record cannot be vague. A [Hypothesis](/business/nouns/hypothesis) must name the [Metric](/business/nouns/metric) and threshold that settle it, so "teachers love it" never passes as a test.

```ts
import { $ } from 'startup-builder'

await $.Hypothesis.create({
  statement: 'Roofers pay two cents a record for verified permits',
  kind: 'loop',
  metric: 'paidLookupsPerWeek',
  threshold: '10000 within four weeks',
})
```

An empty field is dropped or filled with a sourced value, never guessed. Structural facts, such as which acts need a license in a state, come from published registries and standards, not from a model.

## Goals are tests
A [Goal](/business/nouns/goal) is a set of assertions the platform checks continuously, not a slide. Each [Key Result](/business/nouns/key-result) names a Metric, a baseline, a target, and a deadline, and reads its value from [Events](/business/nouns/event).

```ts
await $.Goal.create({ objective: 'Teachers rebook without being asked', horizon: 'quarter' })
await $.KeyResult.create({ baseline: 0.35, target: 0.6, deadline: '2026-12-31' }) // reads rebookingRate
```

A Key Result off its line raises a [Decision](/business/nouns/decision) for the Role that owns the work. No [Team](/business/nouns/team) owns a Metric; the [Processes](/business/nouns/process) that move it do.

## Work goes to the cheapest capable worker
Every step runs as code, a generative model, an Agent, or a [Human](/business/nouns/human), in that order of preference. A miss or low confidence escalates one rung, and the caller never sees which kind did the work.

The performer is never the checker. An [Evaluator](/business/nouns/evaluator) grading an Agent runs on a different model from the Agent, and nobody approves their own Change.

## Autonomy is earned; oversight is declared
Autonomy grows with evidence. An Agent moves up a rung when its verdicts agree with review 95 percent of the time. It drops a rung on a regression, with no ticket filed.

Oversight does not move with capability: it is declared per step for a lasting reason, such as regulation, stakes, or harm to consumers.

A tax filing waits for a credentialed preparer however good the model becomes. A refund over its [Limit](/business/nouns/limit) waits for whoever holds that Limit.

## Every change is an experiment
Any Change to an [Offer](/business/nouns/offer), [Price](/business/nouns/price), [Page](/business/nouns/page), message, or [Play](/business/nouns/play) can run as variants against a Hypothesis. The winner becomes the definition, and the losing variant concludes with its [Evidence](/business/nouns/evidence).

Nothing is deleted. A concluded variant keeps its record, and a Startup with no signal goes Dormant and can return. Across a [Portfolio](/business/nouns/portfolio), winners flow into [Startup Template](/business/nouns/startup-template) defaults, so each new Startup inherits the best version known and the business compounds.

## Honest by construction
A Startup cannot ship a fabricated [Customer](/business/nouns/customer), an invented Metric, a fake badge, a placeholder feature, or staff who do not exist. Social proof on its [Site](/business/nouns/site) renders from payments and usage; with none, the section does not render.

Before a Startup is Live, proof is a target, not a claim. The lesson-booking Startup's Site says it is taking its first 50 teachers, and it shows a teacher count only once teachers have paid.

## Next
[Vision](/code/builders/startup/vision) explains why StartupBuilder runs a business as a program.