fn prepare(src: &Sources, layout: &Layout) -> Result<Vec<Item>>
Reads every source and checks the policy before anything is written, so a missing file or a wrong policy fails with nothing changed.