# Cost and budgets

Cost is a requirement, not a guess. One records what a workload is expected and
allowed to consume, binds it to exact evidence, and refuses to invent precision
it does not have.

## Bind cost to exact evidence

A cost estimate cites the provider price snapshot and its observation time,
together with the workload assumptions behind it. Planning records fixed,
marginal, expected, and worst-case consumption so a later reader can see which
number each conclusion used.

When apply refreshes an observation and the refreshed estimate exceeds a bound
recorded in the reviewed plan, apply stops for approval or requires a new plan.
A price, capacity, or quota change is a material input; it is never silently
absorbed into an existing immutable plan.

## Budgets compose over the resource graph

Every budget attaches to a level of the resource graph and inherits downward:

```text
Fleet -> Tenant -> Deployment -> Runtime -> Component -> Scope -> Operation
```

A child budget cannot widen its parent. The dimensions a budget may constrain
include CPU time and share, wall deadline, memory, allocation rate, buffer
bytes, task and thread counts, handles, storage and IOPS, network, observation
cardinality, external calls, and monetary cost.

A provider profile that proves one stateless process does not thereby prove a
multi-instance stateful host or a tenant-wide quota; capacity, isolation,
persistence, and reconciliation remain separate claims. See
[Resources and lifecycle](/one/model/resources) and
[Multi-tenant platforms](/one/guides/multi-tenant-platforms).

## Cost is a selection axis, not the first one

After hard feasibility and assurance, Planning applies default lexicographic
objectives. Required availability and latency come before operational and
monetary cost; artifact size, cold start, and runtime services come after.
Cost cannot override a hard semantic, security, authority, compatibility, or
recovery constraint.

Selection and cost evidence are recorded in the immutable plan. Follow
[Plan, build, and apply](/one/lifecycle/plan-build-apply) and
[Deployment](/one/platform/deployment) for how a reviewed plan is applied and
how quotas, preemption, scaling, and exhaustion are enforced as typed outcomes.

## Author quantities with typed units

Authored quantities use one compact, dimensioned form. Fixed elapsed durations
and calendar periods remain distinct, so a `Month` or `Year` is not silently
treated as a fixed number of seconds.

```text
monthly_cost: <= 5_000USD
availability: >= 99.95%
throughput: 100MiB/s
payload_limit: 16MiB
memory: 2GiB
```

The quantity forms above are illustrative end-product authoring. Canonical
normalization may change presentation units, but it cannot silently truncate or
reinterpret a dimension.

## Agent and external-effect budgets

Bounded autonomous work carries explicit budgets for tokens, cost, elapsed
time, context, tool calls, child work, network use, and external effects.
Reaching an external spend limit is a declared resource-exhaustion outcome, not
a retry, a domain fault, or permission to widen the budget. See
[Workflows and agents](/one/model/workflows-and-agents).

## Benchmark budgets

`AbsoluteBudget` and `RegressionBudget` in
[Benchmark and performance evidence](/one/platform/benchmark) bind measured
behavior to typed budget outcomes. A benchmark budget is evidence only for its
exact workload, environment, and harness; it never substitutes for a resource
or monetary constraint.

## Inspect cost without a universal score

One never invents precision or a universal score. Missing price, capacity, or
observation evidence remains an explicit missing-evidence disposition rather
than a made-up number. [One Cloud](/one/guides/one-cloud) presents plans and
costs from the same owner records without becoming a second authority for them.

## Normative owner & evidence

The canonical resource and quota owner is
[Resources](https://github.com/muijf/one/blob/main/systems/resources/AGENTS.md).
Cost selection and the lexicographic objectives are owned by
[Planning](https://github.com/muijf/one/blob/main/systems/planning/AGENTS.md),
with quota enforcement in
[Deployment](https://github.com/muijf/one/blob/main/systems/deployment/AGENTS.md)
and observation limits in
[Observability](https://github.com/muijf/one/blob/main/systems/observability/AGENTS.md).

Demonstrated today: the resource lifecycle and quota contracts, Planning's
cost and selection records, and provider price and observation providers.
Illustrative: the typed-quantity block above and any specific monetary figure
or budget bound not recorded by an owning plan.
