1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//! # VEX Adversarial
//!
//! Red/Blue agent pairing for adversarial verification.
//!
//! Every "Blue" agent can have a "Red" shadow that challenges its conclusions,
//! reducing hallucinations and improving reliability.
//!
//! ## Key Types
//!
//! - [`ShadowAgent`] — Red agent that challenges Blue's outputs
//! - [`Debate`] — Multi-round debate between agents
//! - [`Consensus`] — Voting protocols for agreement
//!
//! ## Quick Start
//!
//! ```rust
//! use vex_adversarial::{ShadowAgent, ShadowConfig, Consensus, ConsensusProtocol, Vote};
//! use vex_core::{Agent, AgentConfig};
//!
//! // Create a Blue agent
//! let blue = Agent::new(AgentConfig::default());
//!
//! // Create its Red shadow
//! let shadow = ShadowAgent::new(&blue, ShadowConfig::default());
//!
//! // Detect issues in a claim
//! let issues = shadow.detect_issues("This always works 100% of the time.");
//! // Returns: ["Universal claim detected - verify no exceptions exist"]
//! ```
//!
//! ## Consensus Voting
//!
//! ```rust
//! use vex_adversarial::{Consensus, ConsensusProtocol, Vote};
//!
//! let mut consensus = Consensus::new(ConsensusProtocol::SuperMajority);
//! consensus.add_vote(Vote::new("agent1", true, 0.9));
//! consensus.add_vote(Vote::new("agent2", true, 0.8));
//! consensus.add_vote(Vote::new("agent3", false, 0.7));
//! consensus.evaluate();
//!
//! assert!(consensus.reached);
//! ```
pub use ;
pub use ;
pub use ;
pub use ;