lash/system

lash is a Rust workspace for durable LLM agents. The core is one runtime boundary around a sans-IO turn machine: lash-core owns session records, effect control, process execution, plugin hooks, and durable commits, while host applications own providers, resources, storage, workflow/effect hosts, auth, transport, and UI.

Reading Paths

Three curated entry routes. The full chapter index lives in the sidebar; these are the orderings worth following depending on why you're here.

  1. For newcomers

    Understand the architecture top-down

    Boundaries first, then the crate map, then how a turn moves through the system.

    1. Overview
    2. Kernel Surface
    3. Modules
    4. Data Flow
  2. Modifying RLM protocol

    From the executor down to the language

    How RLM drives turns, the Lashlang host environment the model writes against, and the runtime contracts both rely on.

    1. Execution
    2. Lashlang
    3. Runtime
  3. Using lash from apps

    Wire it into another host

    System shape, the app-facing lash path, then the named contracts you'll reach for to compose providers, modes, tools, and plugins.

    1. Overview
    2. Execution
    3. Abstractions
    4. Triggers
    5. Scaling