Skip to main content

brainwires_mdap/
lib.rs

1//! MDAP - MAKER voting framework (merged from `brainwires-mdap`)
2//!
3//! Multi-Dimensional Adaptive Planning system implementing the MAKER paper's
4//! approach to reliable agent execution through:
5//!
6//! - **Voting**: First-to-ahead-by-k consensus algorithm for error correction
7//! - **Microagents**: Minimal context single-step agents (m=1 decomposition)
8//! - **Decomposition**: Task decomposition strategies (binary recursive, sequential)
9//! - **Red Flags**: Output validation and format checking
10//! - **Scaling**: Cost/probability estimation and optimization
11//! - **Metrics**: Execution metrics collection and reporting
12//! - **Composer**: Result composition from subtask outputs
13//! - **Tool Intent**: Structured tool calling intent for stateless execution
14
15pub mod composer;
16pub mod decomposition;
17pub mod error;
18pub mod metrics;
19pub mod microagent;
20pub mod red_flags;
21pub mod scaling;
22pub mod tool_intent;
23pub mod voting;
24
25// Re-exports
26pub use composer::{Composer, CompositionBuilder, StandardComposer};
27pub use decomposition::{
28    AtomicDecomposer, BinaryRecursiveDecomposer, CompositionFunction, DecomposeContext,
29    DecompositionResult, DecompositionStrategy, SequentialDecomposer, SimpleRecursiveDecomposer,
30    TaskDecomposer,
31};
32pub use error::{MdapError, MdapResult};
33pub use metrics::MdapMetrics;
34pub use microagent::{
35    Microagent, MicroagentConfig, MicroagentConfigBuilder, MicroagentProvider, MicroagentResponse,
36    Subtask, SubtaskOutput,
37};
38pub use red_flags::{OutputFormat, RedFlagConfig, StandardRedFlagValidator};
39pub use scaling::{MdapEstimate, ModelCosts, estimate_mdap};
40pub use tool_intent::{SubtaskOutputWithIntent, ToolCategory, ToolIntent, ToolSchema};
41pub use voting::{FirstToAheadByKVoter, ResponseMetadata, SampledResponse, VoteResult};
42
43/// Prelude module for convenient imports
44pub mod prelude {
45    pub use super::decomposition::{DecomposeContext, DecompositionResult, TaskDecomposer};
46    pub use super::error::{MdapError, MdapResult};
47    pub use super::microagent::{
48        Microagent, MicroagentProvider, MicroagentResponse, Subtask, SubtaskOutput,
49    };
50    pub use super::red_flags::{OutputFormat, RedFlagConfig};
51    pub use super::tool_intent::{ToolCategory, ToolIntent, ToolSchema};
52    pub use super::voting::{FirstToAheadByKVoter, SampledResponse, VoteResult};
53}