Expand description
omne run <pipe> [--input k=v ...] — end-to-end pipe runner.
Stitches Units 4–11 together: pipe load + input validation, ULID
allocation, worktree creation, per-run event log, DAG scheduling,
node dispatch, terminal pipe.completed / pipe.aborted.
Transactional state lifecycle (plan HLD):
- Path-length +
claude --versionpreflight — errors leave no state. - Load + validate pipe against volume.
- Parse
--inputagainst pipeinputs:schema — errors leave no state. - Allocate ULID → print
run_id=<value>as first synchronous stdout line. - Create detached-HEAD worktree.
- Open
events.jsonl. On failure, teardown the worktree so every live worktree has a live run dir. - Emit
pipe.started+ dispatch loop + emitpipe.completedorpipe.aborted.
Worktree is not auto-removed on successful runs in v1 — users
reclaim via git worktree remove .omne/wt/<run_id>. See plan “Deferred
to Separate Tasks: omne cleanup”.
Structs§
- Args
- Arguments for
omne run.
Functions§
- run
- run_
at_ root - Test seam: run against an arbitrary starting directory with an
injectable stdout sink and optional
claudebinary override.