> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getmillwork.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Principles

> The rules that keep Solver composable, bounded, and verifiable.

Composition without boundaries becomes surprise. Verification without useful
work becomes paperwork. Solver is designed to keep the two together.

## Productivity should compound

Each model, agent endpoint, or skill should add more useful work than operating
complexity. Solver gives new capabilities the same eligibility, ranking,
lifecycle, and evidence model so teams can grow the system without rebuilding
its controls.

## Limits come before work

Data, cost, time, and permitted actions belong in the run request. Solver does
not infer broader authority from the wording of a task.

## Eligibility comes before ranking

An option must be ready and allowed before Solver compares it with anything
else. An unavailable or disallowed arm is not a fallback.

## Identity stays explicit

For deployment-bound model runs, the requested model, provider-reported model
identity, serving provider, provider connection, and commercial owner remain
separate facts.

## Access paths stay explicit

Your provider key and model access provided by Millwork are different
commercial and security boundaries. Deployment-bound model provenance records
which path was used.

## Output and evidence have different jobs

The result carries useful content. The receipt explains the run without
copying the task or output. Keeping them separate makes each safer and more
useful.

## Action remains bounded

Solver filters for eligibility before selection. After a check, it may fall
back or create a repair proposal only when the run allowed that response. A
skill proposal never changes the saved skill until an authorized person
approves it.

## Availability is reported, not implied

Provider names and examples are not promises. The live source profiles and
model catalog show what an organization can connect and run now.

<Card title="See current availability" icon="list-checks" href="/overview/availability">
  Check the private-preview boundary before designing an integration.
</Card>
