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

# Obversa

> A process runtime for software teams.

A process runtime for software teams.

`@obversa/runtime` compiles graph definitions and runs them through a durable
executor. The memory packages give each run one memory port and two storage
choices.

## What ships today

* Pipeline: ordered stages on the durable graph executor. See
  [Built-in pipeline](/graphs/pipeline).
* Review loop: writer and reviewer roles use separate lanes. The review loop
  can require a diverse quorum of reviewers. See [Review loop](/graphs/review-loop).
* Callback gate: one structured answer through a replaceable router. See
  [Callback gate](/graphs/callback-gate).
* Crash-safe resume: a fresh executor recovers recorded progress; an uncertain
  attempt pauses unless retry was declared safe. See [Graph executor](/graphs/executor).

## Packages

| Package                  | Purpose                                                      | Version |
| ------------------------ | ------------------------------------------------------------ | ------- |
| `@obversa/runtime`       | Compiles and runs pipeline, review-loop, and DAG graph forms | `1.0.0` |
| `@obversa/runner`        | Supervises stored graph runs in bounded workers              | `0.1.0` |
| `@obversa/engine`        | Defines the contract for one bounded engine attempt          | `0.1.0` |
| `@obversa/memory`        | Defines the memory command contract                          | `0.1.0` |
| `@obversa/memory-simple` | Stores memory in one process                                 | `0.1.0` |
| `@obversa/memory-git`    | Stores memory in private Git references                      | `0.1.0` |
| `@obversa/surfacer`      | Runs one local surface session                               | `0.1.0` |
| `@obversa/source`        | Opens a git diff for inline review                           | `0.1.0` |

The six engine plugins have their own pages in the Packages group.
The runtime version matches the repository release tag. Other packages keep
their own manifest versions.

The packages have one dependency direction. The runtime imports the memory port.
Each memory adapter also imports the memory port. The runtime does not import a
memory adapter.

## Start here

1. [Install the local packages](/get-started/installation).
2. [Run the first program](/get-started/first-run).
3. [Copy an offline process](/production-lines/offline-review).
4. [Use Obversa in cmux](/hosts/cmux).
