# Libtmux_workspace.Execution

**Workspace Manager concept example** A working example of the core library. It can change without notice.

- **Package:** libtmux-workspace
- **Language:** OCaml
- **Kind:** module
- **Source:** https://github.com/libtmux/libtmux-ocaml/blob/205dfda49742592b479247049d186956e4a4cfe9/workspace/libtmux_workspace.mli#L165
- **Public owner:** Libtmux_workspace
- **Page:** https://libtmux.org/en/ocaml/latest/workspace/reference/libtmux_workspace-execution/

```ocaml
module Execution
```

Apply a plan once per handle and retain effects, uncertainty and cleanup. The journal lives in process memory while its execution handle is retained; [`Execution.inspect`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-inspect/) returns immutable copies. It survives waiter cancellation and client closure, but supplies no crash-durable recovery or cross-invocation deduplication. Ordinary applications use their backend's Workspace module; executors below integrate another transport.

## Members

### Common operations

- [`status`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-status/) (enum)

### Other members

- [`await`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-await/) (function): Execute once per handle, rechecking generation and captured preconditions first. Expected failures return a partial journal. Exceptions, including native cancellation, propagate after recording progress and bounded compensation. Subsequent calls only return the retained receipt; mutations never retry.
- [`certainty`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-certainty/) (enum)
- [`cleanup`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-cleanup/) (struct)
- [`create`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-create/) (function): Allocate a retained handle without I/O. IDs have 1..64 ASCII letters, digits, underscores or hyphens. `operation_id` correlates receipts; it does not deduplicate handles. A new handle starts a new execution even if its ID matches an earlier one.
- [`executor`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-executor/) (struct): Backend integration: `inspect` returns a callback tied to the latest operation, reading only its retained state even after later submissions. `protect` bounds compensation and shields it from caller cancellation, reporting expected failures as `Error`. Ordinary callers use their backend's Workspace API.
- [`hint`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-hint/) (struct): A creation row received before daemon binding finished. Hints are not operational targets and are never eligible for automatic compensation.
- [`inspect`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-inspect/) (function): Return an immutable copy of the retained journal without I/O.
- [`observation`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-observation/) (struct)
- [`receipt`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-receipt/) (struct)
- [`step`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-step/) (struct)
- [`step_status`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-step_status/) (enum)
- [`t`](/en/ocaml/latest/workspace/reference/libtmux_workspace-execution-t/) (typealias)
