# Provider workflows

Configure the staging CLI as described in [the skill](../SKILL.md).
Read https://staging.impossiblecarrot.cc/docs/providers/how-to-list.md for the
provider document contract and https://staging.impossiblecarrot.cc/docs/providers/operating.md
for ongoing operation.

## Apply and configure

Apply through https://staging.impossiblecarrot.cc/account/provider after signing in.
Provider application review is an administrator action. A pending application is an
external prerequisite; the agent cannot approve itself. Once approved, use the
provider dashboard to configure source URLs and upstream credentials. Application,
source configuration, payout settings, and detailed evidence use the browser session;
do not send a spending key to guessed session-plane endpoints.

Prepare the published models document and validate it offline:

```sh
heimdall-staging providers validate models.json --json
```

Validation reports field paths, errors, and warnings. It checks the document's
schema, not whether an upstream serves the declared capabilities. Publish only
supported input/output combinations and exact prices in their declared units.
Never claim zero-data-retention approval or successful health checks from schema
validation alone.

## Operate

```sh
heimdall-staging providers status --json
heimdall-staging providers earnings --json
heimdall-staging providers statements --json
```

Use a key belonging to the provider's account. Read the returned application status
before operations that require approval. `providers list` is the public provider
catalogue, not a substitute for `providers status`.

When requested to refresh a configured source or diagnose its endpoint:

```sh
heimdall-staging providers pull-now --source-id SOURCE_ID --json
heimdall-staging providers probe-now --endpoint-id ENDPOINT_ID --json
```

Use ids from the account's own provider records. Respect pull/probe rate limits;
these operations trigger real work and can call the upstream. An accepted operation
is not proof that an endpoint became healthy. Inspect the result and the dashboard's
Evidence view. Application approval, health eligibility, capability evidence, and
payout status are separate states.

Keep upstream credentials out of documents, logs, and chat. Report an unavailable
browser session, pending review, inaccessible upstream, or missing payout setup
as the specific prerequisite instead of retrying indefinitely or changing host services.
