use super::types::*;
#[derive(Debug, Default)]
pub struct Planner;
impl Agent for Planner {
fn role(&self) -> Role {
Role::Planner
}
fn step(&self, task: &TaskSpec, _state: &TeamState) -> TeamEvent {
let mut steps = vec![
"Clarify acceptance criteria".into(),
"Identify touched files".into(),
"Draft minimal patch".into(),
"Self-review and test".into(),
];
if !task.constraints.is_empty() {
steps.push(format!(
"Honor constraints: {}",
task.constraints.join(", ")
));
}
TeamEvent::Planned(steps)
}
}