| 1 | //! Lane registry + Runtime backends (#4176). |
| 2 | //! |
| 3 | //! A **Lane** is a running workflow instance (one issue/goal). **Runtime** owns |
| 4 | //! where/how it executes (tmux, inline, vm, ci) — never Fleet. |
| 5 | //! |
| 6 | //! Persistence: `$CODEWHALE_HOME/lanes/<lane-id>.json` plus stream-json logs |
| 7 | //! under `$CODEWHALE_HOME/lanes/logs/<lane-id>.ndjson`. |
| 8 | |
| 9 | pub mod control; |
| 10 | mod registry; |
| 11 | mod runtime; |
| 12 | mod worktree; |
| 13 | |
| 14 | pub use control::{ |
| 15 | Availability, BackendCapability, ControlAuthority, ControlContext, ControlDomain, |
| 16 | ControlExecution, ControlFailure, ControlFailureKind, ControlOperation, ControlReceipt, |
| 17 | ControlSurface, ControlTarget, Known, LifecycleOutcome, OperationDescriptor, PersistenceScope, |
| 18 | Retryability, RunListPage, RunRouteDto, RunSummaryDto, RunUsageDto, TargetKind, |
| 19 | UnavailableReason, UnknownReason, |
| 20 | }; |
| 21 | pub use registry::{ |
| 22 | LaneRecord, LaneRegistry, LaneStatus, TerminalTransition, lane_registry_root, lanes_dir, |
| 23 | }; |
| 24 | pub use runtime::{ |
| 25 | InlineRuntime, LaneLogProxySpec, LaneStartSpec, RuntimeBackend, RuntimeBackendKind, |
| 26 | TmuxRuntime, backend_for, resolve_backend, run_lane_log_proxy, |
| 27 | }; |
| 28 | pub use worktree::{WorktreeProvision, provision_worktree, remove_worktree_if_expired}; |
| 29 |