use crate::team::events::TeamEvent;
use crate::team::standup::MemberState;
#[derive(Debug, Default, Clone)]
pub struct TickReport {
pub cycle: u64,
pub subsystem_errors: Vec<(String, String)>,
pub events_emitted: Vec<TeamEvent>,
pub state_transitions: Vec<(String, MemberState, MemberState)>,
pub main_advanced_to: Option<String>,
pub inbox_delivered: Vec<(String, String)>,
pub tasks_transitioned: Vec<(u32, String, String)>,
}
impl TickReport {
pub(crate) fn new(cycle: u64) -> Self {
Self {
cycle,
..Self::default()
}
}
pub fn ok(&self) -> bool {
self.subsystem_errors.is_empty()
}
}