/// Shared IR types — the boundary between the reader and compiler stages.
///
/// `ReaderIr` is the single handoff value from `reader::read()` to
/// `compiler::compile()`. It contains source-level facts only; no
/// destination paths, rendered bytes, lock records, or sync-plan state may
/// appear here.
use crateLocalDiscoveredItem;
use crateResolvedState;
/// The single boundary type between reader and compiler.
///
/// Invariants (enforced by construction in `reader::read`):
/// - No `DestPath` fields.
/// - No lowered output bytes or rendered content.
/// - No lock item records (only the *old* lock for diff purposes).
/// - No sync-plan or apply state.