gglib_core/domain/council/
mod.rs

1//! Orchestrator domain model.
2//!
3//! This module owns the pure data types that drive the Director/Worker
4//! orchestration pattern.  No I/O, no async, no adapter dependencies.
5//!
6//! # Submodules
7//!
8//! | Module | Contents |
9//! |--------|---------|
10//! | [`task_graph`] | [`TaskGraph`], [`TaskNode`], [`TaskNodeKind`], [`NodeId`], [`NodeStatus`], [`HitlMode`], [`TaskGraphError`] |
11//! | [`role_catalog`] | [`RoleId`], [`RoleSpec`], [`RoleCatalog`] — built-in specialist roles |
12//! | [`events`] | [`CouncilEvent`] — SSE event stream types |
13//! | [`run`] | [`CouncilRun`], [`CouncilRunStatus`], [`CouncilRunEvent`] |
14
15pub mod events;
16pub mod role_catalog;
17pub mod run;
18pub mod task_graph;
19
20pub use events::{AgentStance, ApprovalKind, CouncilEvent, StanceOutcome};
21pub use role_catalog::{RoleCatalog, RoleId, RoleSpec};
22pub use run::{CouncilRun, CouncilRunEvent, CouncilRunStatus};
23pub use task_graph::{
24    DebateAgent, DebateConfig, DebateJudgeConfig, HitlMode, MAX_DEPTH, MAX_NODES, MAX_TOTAL_NODES,
25    NodeId, NodeStatus, TaskGraph, TaskGraphError, TaskNode, TaskNodeKind,
26};