> ## 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.

# Rei Chat conversational interface

> A conversational demo surface where Core performs the reasoning and a language model articulates the result.

Rei Chat is a conversational demonstration of Core. Core carries state forward, forms and revises structure, and produces a structured result; a separate language model renders that result as prose for the user.

The familiar interface makes the architecture easy to experience without making language the reasoning substrate.

## The language boundary

<div className="my-8" role="group" aria-label="Language boundary diagram" aria-describedby="language-boundary-caption">
  <div className="grid gap-2 lg:grid-cols-5 lg:items-stretch">
    <div className="rounded-lg border border-zinc-200 bg-zinc-50 p-4 dark:border-zinc-800 dark:bg-zinc-900">
      <div className="text-xs font-semibold uppercase tracking-wider text-zinc-500 dark:text-zinc-400">Language in</div>
      <div className="mt-2 text-base font-semibold text-zinc-950 dark:text-zinc-50">Human interaction</div>
      <div className="mt-1 text-sm leading-6 text-zinc-600 dark:text-zinc-400">A question, correction, or goal enters through the conversational boundary</div>
    </div>

    <div className="flex rotate-90 items-center justify-center py-1 text-lg text-zinc-400 dark:text-zinc-600 lg:rotate-0" aria-hidden="true">→</div>

    <div className="rounded-lg border border-teal-300 bg-teal-50 p-4 dark:border-teal-700 dark:bg-teal-950">
      <div className="text-xs font-semibold uppercase tracking-wider text-teal-700 dark:text-teal-300">Reasoning substrate</div>
      <div className="mt-2 text-base font-semibold text-zinc-950 dark:text-zinc-50">Core</div>
      <div className="mt-1 text-sm leading-6 text-zinc-700 dark:text-zinc-300">The continuing instance revises state when warranted and returns a structured result</div>
    </div>

    <div className="flex rotate-90 items-center justify-center py-1 text-lg text-zinc-400 dark:text-zinc-600 lg:rotate-0" aria-hidden="true">→</div>

    <div className="rounded-lg border border-zinc-200 bg-zinc-50 p-4 dark:border-zinc-800 dark:bg-zinc-900">
      <div className="text-xs font-semibold uppercase tracking-wider text-zinc-500 dark:text-zinc-400">Language out</div>
      <div className="mt-2 text-base font-semibold text-zinc-950 dark:text-zinc-50">Replaceable translator</div>
      <div className="mt-1 text-sm leading-6 text-zinc-600 dark:text-zinc-400">A selected language model articulates the result as conversational prose</div>
    </div>
  </div>

  <div id="language-boundary-caption" className="mt-3 text-sm leading-6 text-zinc-500 dark:text-zinc-400">
    The arrows describe language boundaries, not sequential modules inside Core. The language model receives and articulates a current Core result; it does not own the accumulated state that produced it.
  </div>
</div>

Core-side state changes remain available to later interactions independently of the generated wording. The translator is replaceable and is not required for Core's machine-readable output.

## Responsibility at the boundary

| Observable behavior                                               | Primary source |
| ----------------------------------------------------------------- | -------------- |
| What evidence, constraints, relationships, or hypotheses matter   | Core           |
| What persists or changes across use, new evidence, and correction | Core           |
| The selected structured result and confidence                     | Core           |
| Wording, tone, formatting, and conversational fluency             | Language model |

Smooth prose does not prove that the underlying state is correct. Awkward prose does not prove that the structured result is wrong. Encoding omissions and prose embellishment belong to the language boundary, so the surfaces have to be evaluated separately.

## Language output

For example, an illustrative structured result might look like:

```json theme={null}
{
  "decision": "hold",
  "confidence": "provisional",
  "support": ["constraint_a", "event_7"],
  "conflict": "event_9"
}
```

**Articulation A**

> Hold for now. The current constraints support that decision, though one later event remains unresolved.

**Articulation B**

> The provisional action is HOLD. Supporting state is stronger than the conflicting observation.

The structured packet is the same. Wording, emphasis, and omissions can differ. Changing the output model does not make that model the owner of Core's accumulated state.

## Demo scope

Rei Chat made an unfamiliar architecture usable through a familiar interface. It lets people observe:

* continuity across interactions;
* correction and revision of earlier assumptions;
* durable constraints alongside fading weak preferences;
* the separation between Core's structured result and its language rendering.

Language generation adds latency, tokens, and translation variance that the direct structured path does not require.

Rei Chat is not a clean measurement of Core alone. Visible responses also contain encoding and articulation effects, so rigorous evaluation separates Core-side state and structured output from the generated prose.

## Interfaces

<CardGroup cols={2}>
  <Card title="Build with the Rei Chat API" href="/docs/api-and-sdk/quickstart">
    Make conversational calls, manage Units, or integrate the Rei Chat SDK.
  </Card>

  <Card title="Explore Adapt-1" href="/docs/neuroadapt/overview">
    Start with machine-readable results when application code should consume Core without a prose step.
  </Card>
</CardGroup>
