fabula_discovery/lib.rs
1//! Automated sifting pattern discovery.
2//!
3//! Provides a pluggable generate-evaluate framework for discovering
4//! narratively interesting patterns from simulation trace data.
5//!
6//! # Architecture
7//!
8//! The system works as an iterative loop:
9//! 1. A [`CandidateGenerator`] proposes candidate patterns from a [`TraceCorpus`]
10//! 2. [`PatternEvaluator`]s score each candidate
11//! 3. Scored results feed back to the generator for the next round
12//! 4. A [`PatternFilter`] decides which patterns to keep
13//!
14//! The [`DiscoverySession`] orchestrates this loop with configurable budgets.
15
16mod corpus;
17mod emit;
18mod score;
19mod session;
20mod traits;
21
22pub mod evaluators;
23pub mod generators;
24
25// Re-exports uncommented as modules are implemented:
26pub use corpus::{PairwiseHit, SharedNode, TraceCorpus, TraceEdge};
27pub use emit::pattern_to_dsl;
28pub use score::{PatternScore, ScoredPattern};
29pub use session::{DiscoverySession, SessionConfig, SessionHistory};
30pub use traits::{CandidateGenerator, PatternEvaluator, PatternFilter, ThresholdFilter};