omk 0.5.0

A Rust runtime for Kimi CLI. Turns prompts into proof-backed engineering runs with gates, worktrees, and replay.
Documentation
use anyhow::Result;
use chrono::{DateTime, Utc};
use std::path::Path;

use crate::runtime::goal::agent::GoalAgentDispatchPlan;
use crate::runtime::goal::evidence::GoalAgentRunEvidence;
use crate::runtime::goal::state::GoalState;
use crate::runtime::goal::task_graph::{GoalTask, GoalTaskGraph};

pub trait GoalDispatcher: Send + Clone {
    fn execute_wave(
        &self,
        state: &GoalState,
        task_graph: &GoalTaskGraph,
        project_dir: &Path,
        started_at: DateTime<Utc>,
        dispatch: &GoalAgentDispatchPlan,
    ) -> impl std::future::Future<Output = Result<GoalAgentRunEvidence>> + Send;

    fn append_execution_events(
        &self,
        state: &GoalState,
        task: &GoalTask,
        evidence: &GoalAgentRunEvidence,
    ) -> impl std::future::Future<Output = Result<()>> + Send;
}