# OpenProse - [OpenProse](/): One system, two layers. OpenProse is the paradigm you author in -- declare the outcomes you want kept true, in Markdown. Reactor is the harness that keeps them true, so cost scales with surprise, not the clock. - OpenProse - [OpenProse](/openprose): The foundation -- a programming language for AI sessions. You declare an ideal world-model in Markdown contracts, and any Prose-Complete harness keeps it true. - [Declare outcomes, not instructions](/openprose/declare-outcomes): The central teaching of OpenProse -- author an ideal world-model to keep true, not a sequence of steps to run. Intent lives only in the contract. - [Contracts](/openprose/contracts): The authored surface of OpenProse -- Markdown contracts, the five kinds, and the load-bearing sections that turn a declaration into a typed, subscribable node. - [ProseScript](/openprose/prosescript): The optional imperative pinning layer inside - [Typed Image](/openprose/typed-image): A pixel-only diagram is a visual source one rung above Markdown. An intelligent compile resolve reads the picture and emits the contracts -- and whether it compiles is the typecheck. - [Harness-agnostic](/openprose/harness-agnostic): OpenProse contracts describe an abstract VM. Any Prose-Complete host can run them, and the SKILL-loaded session embodies that VM -- there is no parser. Reactor is one host, the recommended fast path. - [Setup](/openprose/setup): One ordered path for agents onboarding on behalf of a user -- keyless proof first, then init, doctor, compile, and serve. Where contracts live and what each step needs. - Reactor - [Reactor](/reactor): The deterministic harness built to run OpenProse contracts -- the recommended fast path. Compile a contract set once, then run it forever, doing expensive model work only when something material moved. - [The DAG and compile](/reactor/the-dag-and-compile): How a .prose project compiles, as sessions, into a content-addressed topology DAG plus per-node canonicalizers and validators. - [World-model and fingerprints](/reactor/world-model-and-fingerprints): The content-addressed maintained truth, the fingerprints of meaning, and facet-granular propagation along edges. - [The reconciler and receipts](/reactor/reconciler-and-receipts): The dumb reconciler, the memo key, the signed receipt chain, and render-writes-files with harvest-and-promote. - [Continuity and ingestion](/reactor/continuity-and-ingestion): The self-recheck cadence, the freshness bridge, gateways as external evidence, and durable idempotency cursors. - SDK API Reference - [SDK API Reference](/sdk): The @openprose/reactor 0.3.0 public surface -- six reasoned entrypoints, one curated front door, and an honest map of what's built and what isn't. - [The front door (`.`)](/sdk/front-door): The curated `@openprose/reactor` entry point -- the reactor() facade, the one typed Reactor handle, the assemblers, the substrate, observe(), and the driver vocabulary. - [The /agents escape hatch](/sdk/agents): The peer-dep-isolated @openai/agents passthrough -- the layered RenderOptions (Tier A sugar, Tier B verbatim passthrough, Tier C backstop), the RenderBackend injection seam, and the compile-session surface. Every render knob is reachable, with zero capability loss. - [Adapters](/sdk/adapters): The /adapters injection boundary -- the one Substrate primitive, the restart-survival invariant, the gateway-ingress and cursor toolkit, record/replay, and the port contracts a custom backend implements. - [The offline boundary](/sdk/run): The /run and /run/types entrypoints -- compileProject and runProject, the model-bearing run phase that stays off the keyless front door, plus the type-only mirror that types the handle without crossing the boundary. - [/internals](/sdk/internals): The engine room -- the honest deep door. The reconciler-construction spine, the deep domain shapes, the deprecated Reactor*-prefixed port aliases, and the receipt/projection helpers. Stable-but-deep, distinct from the curated front door. - Reactor CLI - [Reactor CLI](/cli/overview): The reference driver for the @openprose/reactor SDK. It compiles a .prose project and serves it as a durable, cost-observable daemon -- twelve commands, four global flags, three exit codes. - [Quickstart](/cli/quickstart): Scaffold, compile, and run a reactor project end to end. - [Configuration](/cli/configuration): The reactor.yml schema, environment variables, and the global flags every command honors. - [Compile, run, serve](/cli/compile-run-serve): The three core verbs in depth, the content-addressed compile cache, and the durable daemon's seven HTTP routes. - [Connectors and sandbox](/cli/connectors-and-sandbox): Gateways and connectors with durable idempotency cursors, and the render sandbox threat model. - [Observability](/cli/observability): Read the compiled DAG, the receipt trail, and the cost rollup with status, inspect, topology, logs, trace, and receipts. - [Telemetry](/cli/telemetry): Anonymous, opt-out, content-free CLI telemetry -- exactly what is collected, and every way to turn it off. - [Command reference](/cli/command-reference): All twelve reactor commands, every flag (including serve --host), and the documented exit codes -- verified against the shipped 0.2.0 binary. - Reactor DevTools - [Reactor DevTools](/reactor-devtools): A replay-first visualizer for the Reactor -- it reads the append-only receipt ledger and animates the DAG the way React DevTools animates a component tree. - [Quickstart](/reactor-devtools/quickstart): Get a state directory, open the viewer in a browser, and read the same run headlessly with --describe. - [State dirs and replay](/reactor-devtools/state-dirs-and-replay): What a replayable state directory is, how DevTools re-derives a run from it, and the ReplaySession SDK surface that shapes the ledger. - [The viewer](/reactor-devtools/the-viewer): The no-build SPA -- its three regions, the animation language that maps receipts to pulses, the keyboard controls, and the deep-links. - [--describe](/reactor-devtools/describe): The headless, browser-free text summary of a run -- the surface an agent or a CI gate reads to verify a reactor without rendering pixels. - [Recording](/reactor-devtools/recording): The headless Playwright recorder behind the launch videos, the beat map that drives it, and the demo corpus of worked scenarios. - [Reference](/reactor-devtools/reference): The reactor-devtools bin, the read-only HTTP API, the frame shape the SPA consumes, and the importable library surface.