swink_agent_eval/simulation/mod.rs
1//! Multi-turn simulation support for eval case generation and replay.
2//!
3//! This module implements Phase 6 (US4) of spec 043-evals-adv-features:
4//!
5//! * [`ActorSimulator`] drives a simulated user across multiple turns.
6//! * [`ToolSimulator`] produces schema-valid tool responses, backed by a
7//! [`StateRegistry`] of bounded-history [`StateBucket`]s.
8//! * [`run_multiturn_simulation`] orchestrates an agent ↔ actor dialogue up
9//! to `max_turns` or goal-completion.
10//!
11//! All surfaces gated by the crate-level `simulation` feature. Tests live in
12//! `eval/tests/simulation_test.rs`, `eval/tests/simulation_state_test.rs`,
13//! and `eval/tests/us4_end_to_end_test.rs`.
14
15#![forbid(unsafe_code)]
16
17pub mod actor;
18pub mod orchestrator;
19pub mod tool;
20
21pub use actor::{ActorProfile, ActorSimulator, ActorTurn};
22pub use orchestrator::{SimulationError, SimulationOutcome, run_multiturn_simulation};
23pub use tool::{StateBucket, StateRegistry, ToolCallRecord, ToolSchema, ToolSimulator};