autorize 0.1.0

Iterative-improvement harness: runs an agent CLI in sandboxed git worktrees against a scoring command, keeping improvements until a deadline fires.
pub mod init;
pub mod resume;
pub mod run;
pub mod status;

#[derive(clap::Parser)]
#[command(name = "autorize", version, about = "Iterative-improvement harness")]
pub struct Cli {
    #[command(subcommand)]
    pub command: Command,
}

#[derive(clap::Subcommand)]
pub enum Command {
    /// Scaffold a new experiment under .autorize/<name>/.
    Init(init::InitArgs),
    /// Run the experiment loop until deadline.
    Run(run::RunArgs),
    /// Show experiment status from state.json + iterations.jsonl.
    Status(status::StatusArgs),
    /// Resume an experiment after a crash or stop.
    Resume(resume::ResumeArgs),
}

pub fn dispatch(cli: Cli) -> anyhow::Result<()> {
    match cli.command {
        Command::Init(a) => init::run(a),
        Command::Run(a) => run::run(a),
        Command::Status(a) => status::run(a),
        Command::Resume(a) => resume::run(a),
    }
}