Lace / docs

Get started with Lace

These guides take you from Lace’s selected-record-set model to a working application without making protocol specifications carry the tutorial. Choose the route that matches your immediate job.

First success: run an interlace

Start with Your first interlace. It opens two memory-backed Lace participants, stores selected and unrelated records, runs a small Interlang policy to a fixed point, and verifies what reached the second participant.

This is the shortest complete demonstration of Lace’s central operation. It requires a source checkout and Rust, but no daemon, network, browser bundle, or durable store.

Add Lace to an application

Use Runtime and application integration to:

Runtime setup answers where validated records live, how an application accesses them, and how participants meet.

Write selection and exposure policy

Use Interlang policy authoring to:

Policy selects checked records for convergence and determines which local record facts peer-authored rules may inspect.

How the pieces fit

application records + Lace runtime + Interlang policy
                         |
                         v
             checked record-set convergence

Interlang is the normal human authoring surface. Lace lowers it to canonical Datalog. Raw Datalog is the advanced policy layer, not a prerequisite for using a runtime or writing ordinary selectors.

The guides explain a path; authoritative contracts remain in:

Runnable programs in examples/ are companions to these guides. The scenario workbench provides smaller executable policy stories. Repository contributors should instead begin with AGENTS.md and the repo guide.