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

# Ship an Agentium application

> Choose a deployment profile, verify the behavior that matters, and own the runtime lifecycle.

Shipping starts with a working application and a repeatable way to check it. Your host runs Agentium, connects infrastructure, authenticates callers, and owns shutdown. Choose the profile below, then verify the boundaries that profile depends on.

## Choose a deployment profile

| You are shipping | Main packages | First integration | What the host owns |
| - | - | - | - |
| Request-serving API or chat backend | Core + transport; optional harness | [Authenticated API recipe](/examples/authenticated-api) | Identity, resource ownership, request limits, connection lifetime |
| Worker or scheduled automation | Core + queue; optional harness | [Background worker](/queue/overview) | Redis, workers, executor registration, job retention and drain |
| Recoverable task or approval process | Core durable primitives; optional queue/transport | [Recovery design](/ship/recovery) | Durable stores, leases, driver replay rules, action reconciliation |
| Voice or telephone assistant | Core voice/telephony; optional transport | [Voice gateway](/voice/gateway), [call setup](/telephony/quickstart) | Audio path, credentials, callback verification, call/session cleanup |
| Browser automation | Core + browser | [Browser setup](/browser/overview) | Browser runtime, account/session state, navigation scope, task limits |
| Device application | Core + edge | [Edge runtime](/edge/runtime) | OS drivers, device permissions, local model, process supervision |

All profiles can use `@agentium/eval` and `@agentium/observability`. Add `@agentium/admin` for hosted configuration management; CLI scaffolding is development tooling, not your deployment platform.

<span id="rehearse-a-release-locally" />

## Rehearse your deployment profile

Every application needs observable success and failure outcomes. Choose checks that exercise your actual host and effects:

| Profile | Local rehearsal | Evidence before release |
| - | - | - |
| API | [Run owner and non-owner requests](/examples/authenticated-api#exercise-the-boundary) | 401 without identity; owned session succeeds; cross-user and spoofed identity receive 403 |
| Worker | [Enqueue and drain a job](/queue/overview) | Stored job ID, terminal result, worker drain; inspect failure/retry behavior for your executor |
| Recoverable process | [Review an interrupted effect](/ship/recovery#rehearse-an-unknown-outcome) | Stable operation identity, persisted action state, provider evidence, documented reconcile/retry decision |
| Controlled workflow | [Deny and approve an action](/examples/harness-workflow) | Zero submissions when denied; one receipt when approved |
| Voice or telephony | [Call-control fixture](/examples/telephony), then your carrier/media environment | Intent deduplication and authorization locally; callbacks, audio, disconnects, and remote confirmation separately |
| Browser or device | Narrow task on the intended environment | Tool result, bounded task, permissions, disconnected-resource behavior, and owned cleanup |

For model behavior, run the [quality gate](/examples/quality-gate) and confirm that a deliberate regression fails. Its default fixture verifies evaluation plumbing. Use representative cases with your deployed model for a separate quality assessment.

For every long-lived host, stop admission, drain active work, close owned resources, and flush telemetry. [Operations](/ship/operations) explains that sequence. Successful HTTP delivery, a completed model run, a passing evaluation, and a confirmed external effect are different observations.

## Make state survive the right failure

| State | Mechanism | What it does not establish |
| - | - | - |
| Conversation context | [Storage adapters](/storage/overview) or a [harness session store](/harness/sessions) | Recovery of an interrupted model/tool run |
| Job delivery | [Redis queue](/queue/overview) | Exactly-once execution of an external action |
| Task/action lifecycle | [Durable execution](/durable/overview) | Automatic reconciliation without a suitable driver and store |
| Configuration | [Admin configuration storage](/admin/storage) | Conversation or task persistence |
| Telemetry | [Bounded exporters](/observability/exporters) | Durable audit delivery or an authoritative business ledger |

For a payment, notification, or call whose remote outcome is unknown, preserve the operation identity and reconcile before retrying. Use the [recovery guide](/ship/recovery) and [telephony callback guide](/telephony/callbacks) for those decisions.

## Operate the service

* **Quality:** evaluate representative cases and scorer assertions with `@agentium/eval`; use [conversation tests](/eval/conversational) for multi-turn behavior.
* **Diagnostics:** correlate model, tool, run, and request events with `@agentium/observability`; choose [OpenTelemetry](/observability/opentelemetry), [Langfuse](/observability/langfuse), or a host sink.
* **Limits:** bound concurrency, input/output, execution, retention, and retries. Use [operating limits](/ship/operations); cost estimates are not provider invoice guarantees.
* **Administration:** scope the [admin API](/admin/overview) to authorized operators and persist configurations deliberately. Entity CRUD changes application configuration, not your infrastructure.
* **Upgrades:** pin a tested package set and follow [v4 migration](/migration-v4) and [queue metadata migration](/queue/migration) before changing persistent deployments.

## Diagnose the failing layer

| Symptom | Next useful check |
| - | - |
| Wrong answer after a successful run | [Evaluation](/eval/overview), retrieved evidence, tool arguments, and structured output |
| Wrong user can access state | [Authentication and authoritative ownership](/ship/authentication) |
| Work disappears on restart | [State and recovery choice](/ship/recovery) |
| Duplicate external operation | Intent/action identity, provider receipt, and reconciliation |
| Shutdown hangs or output is missing | [Resource ownership and exporter drain](/ship/operations) |
| An adapter rejects configuration | [Integration setup](/integrations/overview), optional dependency version, and [troubleshooting](/reference/troubleshooting) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.