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

# Limits and expectations

> What Whitney runs, what you own, and known operational constraints.

## What Whitney runs

Whitney exposes provider-neutral training primitives rather than a managed
recipe endpoint. Your application owns datasets, batching, reward functions,
advantage construction, loss construction, evaluation, and the decision to
advance the optimizer.

Whitney owns authentication, provider provisioning, operation sequencing,
leases, checkpoint references, sampler synchronization, usage reconciliation,
artifact signing, and cleanup.

There is no managed job submit route, hosted evaluator, dataset upload product,
or inference API. Implement evaluation in your own stack using Whitney sampling
primitives. See [Evaluation](/cookbooks/evaluation).

## Optimizer contract

Optimizer steps use explicit AdamW fields in the JSON control plane:

```json theme={null}
{
  "optimizer": {
    "name": "adamw",
    "learning_rate": 0.00001,
    "beta1": 0.9,
    "beta2": 0.95,
    "eps": 0.000000000001,
    "weight_decay": 0.0,
    "grad_clip_norm": 0.0
  }
}
```

Do not depend on provider defaults. Set every field you care about in caller
code.

## Checkpoints and artifacts

* Only LoRA tuning is admitted by current capability rows.
* A resume checkpoint is provider-bound and model-bound. Resume creates a new
  session and run rather than reattaching a live provider client.
* `save_state`, `save_weights_for_sampler`, and `export_lora` are distinct
  operations with different purposes.
* Full-weight export and cross-provider checkpoint portability are not part of
  the current contract.

LoRA is the default export. With a customer Hugging Face write token, Whitney
can push an adapter to your repository. Without one, retrieve a signed download
URL.

## Sampling and cost

The first sampler sync or sample on Modal may provision a separate sampler GPU
and can be cold. Tinker routes sampling through its provider fleet.

Shared Modal volume storage cost cannot be attributed to one run and is reported
as unavailable accounting data, never as zero.

Tinker provider billing may settle after primitive completion. Provisional usage
remains visible until completed-hour reports arrive. Use
`GET /v1/training/sessions/{session_id}/cost` for `pending`, `settled`, or
`unavailable` — Whitney does not fabricate a settled dollar amount.

## Failure and recovery

Treat provider-terminal operation failures as terminal. Cancel the run, close
the session, and create a new session and run from a durable checkpoint when the
error permits recovery.

Provider-independent wall-clock, idle, startup, and stuck-operation limits
remain active even when a session has no dollar ceiling.
