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

# Use a structured adaptive result

> Update a documented adaptive policy from ordered observations and consume its current result directly in application code.

export const AdaptiveResultAnatomy = () => <div className="not-prose my-8 overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-950" role="figure" aria-label="Anatomy of a structured adaptive prediction">
    <div className="flex flex-wrap items-center justify-between gap-3 border-b border-slate-200 px-5 py-4 dark:border-zinc-800">
      <div>
        <div className="text-xs font-semibold uppercase tracking-widest text-slate-500 dark:text-zinc-400">Machine-actionable result</div>
        <div className="mt-1 text-sm text-slate-700 dark:text-zinc-300">The application consumes the contract-defined policy result directly.</div>
      </div>
      <div className="rounded-full border border-emerald-200 bg-emerald-50 px-3 py-1 text-xs font-medium text-emerald-700 dark:border-emerald-900 dark:bg-emerald-950 dark:text-emerald-300">No generated language required</div>
    </div>
    <div className="grid gap-4 p-4 md:grid-cols-5">
      <div className="rounded-xl border border-slate-200 bg-slate-950 p-4 md:col-span-3 dark:border-zinc-800">
        <div className="font-mono text-xs text-zinc-500">response</div>
        <div className="mt-3 rounded-lg border border-zinc-800 bg-zinc-900 p-3">
          <div className="font-mono text-xs text-zinc-500">prediction</div>
          <div className="mt-2 rounded-md border border-amber-800 bg-amber-950 px-3 py-3">
            <div className="font-mono text-xs text-amber-300">&lt;output_key&gt;</div>
            <div className="mt-1 text-xs text-amber-100">structured policy result</div>
          </div>
        </div>
      </div>
      <div className="space-y-3 md:col-span-2">
        <div className="rounded-xl border border-sky-200 bg-sky-50 p-3 dark:border-sky-900 dark:bg-sky-950">
          <div className="font-mono text-xs text-sky-700 dark:text-sky-300">adapt/events</div>
          <div className="mt-1 text-xs leading-5 text-slate-600 dark:text-zinc-400">Adds one ordered observation, updates policy state, and returns the current prediction.</div>
        </div>
        <div className="rounded-xl border border-violet-200 bg-violet-50 p-3 dark:border-violet-900 dark:bg-violet-950">
          <div className="font-mono text-xs text-violet-700 dark:text-violet-300">adapt/predict</div>
          <div className="mt-1 text-xs leading-5 text-slate-600 dark:text-zinc-400">Reads the same output contract without adding another observation.</div>
        </div>
        <div className="rounded-xl border border-slate-200 p-3 dark:border-zinc-800">
          <div className="text-xs font-medium text-slate-800 dark:text-zinc-200">Downstream boundary</div>
          <div className="mt-1 text-xs leading-5 text-slate-600 dark:text-zinc-400">Validate, display, route, or execute the object in application code.</div>
        </div>
      </div>
    </div>
  </div>;

## Outcome

Your application sends structured observations and receives the current adaptive-policy result without requiring generated language.

The structured object is the delivery contract, not the adaptive mechanism. The capability is the policy state that changes across ordered observations and remains available to later reads.

<AdaptiveResultAnatomy />

## Workflow

```text theme={null}
declare domain -> reset known state -> send ordered observations -> read prediction -> validate or act -> continue
```

## Gateways

| Step                               | Route                                            | Result                                  |
| ---------------------------------- | ------------------------------------------------ | --------------------------------------- |
| Create the adaptive domain         | `POST /api/v1/domains`                           | Domain and adaptive template registered |
| Reset the policy state             | `POST /api/v1/domains/{domain_id}/adapt/reset`   | Known starting state                    |
| Add one observation                | `POST /api/v1/domains/{domain_id}/adapt/events`  | Updated `prediction.<output_key>`       |
| Read without adding an observation | `POST /api/v1/domains/{domain_id}/adapt/predict` | Current `prediction.<output_key>`       |

## Input mapping

When the application's input fields differ from the domain's declared observation fields, an optional mapping can translate them. If the fields already match, the application can send the observation directly. Adapt-1 updates the policy state and returns the contract-defined structured prediction; another optional mapping can select or rename output fields for the consumer's schema.

```text theme={null}
application object
  -> optional field mapping
  -> Adapt-1 adaptive event
  -> prediction.<output_key>
  -> application schema
```

Any mapping should translate formats, not contain the task solution. The reasoning and adaptation remain in Adapt-1.

## Validation

Assert on the object under `prediction.<output_key>`. Check schema validity, the required business condition, and whether reset followed by the same ordered observations reproduces the expected result.

Generated language is not required. Use an explanation route to inspect structured audit data.

## Route contracts

* `POST /api/v1/domains/{domain_id}/adapt/events` updates policy state and returns a structured prediction.
* `POST /api/v1/domains/{domain_id}/adapt/predict` reads the current prediction without adding an observation.
* `POST /api/v1/domains/{domain_id}/events` records a normal domain event.
* `POST /api/v1/domains/{domain_id}/query` and `POST /api/v1/domains/{domain_id}/explain` return domain reasoning and audit fields.
* `POST /api/v1/domains/{domain_id}/feedback` reports an outcome.

The [Adaptive structured predictions](/docs/neuroadapt/adaptive-domains-structured-predictions) guide explains the exposed interval-policy template contract without tying the architecture to one application domain.

Structured transition learning uses a different Domain contract. This contract predicts an observable consequence from configured inputs and an intervention. Domain query and explanation routes return support and abstention. Read [Design Domains for transition learning](/docs/neuroadapt/design-transition-domains) before you select event boundaries, evidence geometry, grouping, targets, or support controls.
