1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//! Application entrypoint and pipeline orchestration.
//!
//! This module is the CLI layer operating **before** the repository root is known.
//! It uses [`AppEffect`][effect::AppEffect] for side effects, which is distinct from
//! [`Effect`][crate::reducer::effect::Effect] used after repo root discovery.
//!
//! # Two Effect Layers
//!
//! Ralph has two distinct effect types (see also [`crate`] documentation):
//!
//! | Layer | When | Filesystem Access |
//! |-------|------|-------------------|
//! | `AppEffect` (this module) | Before repo root known | `std::fs` directly |
//! | `Effect` ([`crate::reducer`]) | After repo root known | Via [`Workspace`][crate::workspace::Workspace] |
//!
//! These layers must never mix: `AppEffect` handlers cannot use `Workspace`.
//!
//! # Responsibilities
//!
//! - CLI/config parsing and plumbing commands
//! - Agent registry loading
//! - Repo root discovery
//! - Resume support and checkpoint management
//! - Transition to pipeline execution via `crate::phases`
//!
//! # Module Structure
//!
//! - [`config_init`]: Configuration loading and agent registry initialization
//! - [`effect`]: `AppEffect` definitions for pre-repo-root operations
//! - [`effect_handler`]: Production handler for `AppEffect` execution
//! - [`plumbing`]: Low-level git operations (show/apply commit messages)
//! - [`validation`]: Agent validation and chain validation
//! - [`resume`]: Checkpoint resume functionality
//! - [`detection`]: Project stack detection
//! - [`finalization`]: Pipeline cleanup and finalization
// Include sub-modules
// Re-exports from pipeline_execution
pub use run;
// Re-exports from pipeline_execution (helpers is included via include!)
pub use CommandExitCleanupGuard;
// Re-exports from pipeline_execution (initialization is included via include!)
pub use PipelinePreparationParams;
// Re-export test entry points when the helpers feature is enabled.
pub use ;
// Re-exports from setup_helpers
pub use ;