//! # SEB L6 Agent-to-Agent Reasoning Protocol //! //! This module implements live reasoning traces + A2A protocol over SEB events. //! //! ## Components //! //! - **trace.rs** - Reasoning trace format (JSON-LD serializable) //! - **a2a_protocol.rs** - A2A protocol with 7 event types //! - **streaming.rs** - Live streaming, Mermaid diagrams, timelines //! - **integration.rs** - Layer integration (L1, L3, L5) + Erlang NIF //! //! ## Usage //! //! ```ignore //! use seb_reasoning::{ReasoningTrace, A2AReasoningEvent, ReasoningStreamManager}; //! //! #[tokio::main] //! async fn main() { //! // Create a reasoning trace //! let mut trace = ReasoningTrace::new("agent_001".into(), "verify".into(), 1); //! trace.add_step(ReasoningStep::Retrieve { //! source: "L1".into(), //! symbol: "offset_101".into(), //! result: serde_json::json!({"value": 42}), //! }); //! let trace_id = trace.finalize(); //! //! // Emit events //! let manager = ReasoningStreamManager::new(); //! manager.store_trace(trace).await; //! //! // Generate visualizations //! let timeline = manager.get_timeline(&trace_id).await; //! } //! ``` pub mod a2a_protocol; pub mod integration; pub mod streaming; pub mod trace; pub use a2a_protocol::{A2AProtocolHandler, A2AReasoningEvent, ReasoningEventType, ReasoningPartition}; pub use integration::{L1KernelIntegration, L3PolicyIntegration, L5KnowledgeIntegration}; pub use streaming::{ generate_sequence_diagram, MermaidSequenceDiagram, ReasoningStreamManager, StreamingMode, TraceTimeline, }; pub use trace::{ReasoningStep, ReasoningTrace, TracedStep, TraceRelation};