# Concepts

Every improvement runs through the same five parts, borrowed from how software teams already work.

| Part | What it is | Software analogy |
|---|---|---|
| Task | One job a model does, like support-triage | A repo |
| Ask | A plain-language request for the Task to get better | An issue |
| Change | Facet's agent turning an Ask into a candidate Version | A pull request |
| Expectations | Checks that run on every candidate and report what passed | CI |
| Version | The main line; each merged Change is the new Latest | A release tag |

## Task

A Task is one typed job: what it takes, what it returns, and its Instructions (the prompt Facet writes and keeps current for you). Callers use its name as the model. Each Task has its own Expectations, examples, Versions and policy.

## Expectations

An Expectation is one plain statement of what good looks like ("picks the right team"), with examples, a grader (a code check, a metric or a judge) and a bar to clear. Together they are the Task's scorecard: green when a Version clears the bar, red when it doesn't. Some examples are sealed: only the check runner sees them, so no Change can train on its own test.

## Ask

An Ask says what should get better. Facet plans it: it drafts the Expectation the Ask implies, measures Latest against it, and quotes the cheapest approach first. If Latest already passes, Facet says so.

## Change

A Change carries out an Ask's plan within its quote: it tries better Instructions first and trains only if needed, then runs every Expectation. A Ready Change shows what got better and worse; the Task's policy decides whether it merges on its own (Open, the default) or waits for a Task owner (Strict). A Change can be stopped at any time.

## Version

A Version is an immutable bundle: base model, Instructions and, if trained, an adapter. Latest is the Version callers get by default; `name@vN` pins one. Rolling back points Latest at an earlier Version, and can be undone.

## Policy and spend

Each Task's owners set its rules, such as merge protection and who may start Changes. Each workspace has one monthly spend limit; at 100% Changes and calls stop until an Owner raises it or the month ends. You see every price before anything runs.
