//! Core domain model for beams and Beamfiles.
//!
//! `alba-core` takes the AST `alba-syntax` produces and evaluates it into
//! the typed [`Project`] model the execution engine schedules: resolving
//! `let` bindings and `{expr}` interpolation, checking the small type
//! system (strings and booleans), and running the built-in `env()`/`glob()`
//! functions. See [`render_template`] and [`eval_expr`] for the
//! load-time-vs-schedule-time rendering split between a beam's fields.
//!
//! Multi-file loading (`import "path" as alias`, namespaced beam ids) is
//! [`load_project`]'s job, which also validates the resulting dependency
//! graph (unknown `needs` targets, `needs`-cycles) via [`validate_graph`]
//! before returning it. [`execution_subgraph`] extracts the transitive
//! closure of a target beam, for whichever engine schedules and runs it.
//! [`git`] wraps the `git` CLI, the only place in the workspace that spawns it.
pub use CoreError;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use load_str;