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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//! # VEX Core
//!
//! Core types for the VEX protocol — adversarial, temporal, cryptographically-verified AI agents.
//!
//! ## Key Types
//!
//! - [`Agent`] — Fractal agent with evolutionary capabilities
//! - [`ContextPacket`] — Time-aware, hashable context unit
//! - [`MerkleTree`] — Cryptographic verification of context hierarchies
//! - [`Genome`] — Evolutionary traits that map to LLM parameters
//!
//! ## Quick Start
//!
//! ```rust
//! use vex_core::{Agent, AgentConfig};
//!
//! // Create an agent
//! let agent = Agent::new(AgentConfig {
//! name: "Researcher".to_string(),
//! role: "You are a helpful research assistant".to_string(),
//! max_depth: 3,
//! spawn_shadow: true,
//! });
//!
//! // Spawn a child agent
//! let child = agent.spawn_child(AgentConfig {
//! name: "Specialist".to_string(),
//! role: "You analyze data".to_string(),
//! max_depth: 2,
//! spawn_shadow: false,
//! });
//! ```
//!
//! ## Merkle Verification
//!
//! ```rust
//! use vex_core::{MerkleTree, Hash};
//!
//! // Build a Merkle tree from context hashes
//! let leaves = vec![
//! ("ctx1".to_string(), Hash::digest(b"context 1")),
//! ("ctx2".to_string(), Hash::digest(b"context 2")),
//! ];
//! let tree = MerkleTree::from_leaves(leaves);
//!
//! // Verify integrity
//! assert!(tree.root_hash().is_some());
//! ```
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use GenomeExperiment;
pub use ;
pub use OptimizationRule;