Skip to main content

datasynth_generators/
lib.rs

1#![deny(clippy::unwrap_used)]
2//! # synth-generators
3//!
4//! Data generators for journal entries, chart of accounts, ACDOCA event logs,
5//! master data entities, document flows, intercompany transactions, balance coherence,
6//! subledger transactions, FX rates, period close processes, anomaly injection,
7//! and data quality variations.
8
9// Allow complex types for return types that model business domain complexity
10#![allow(clippy::type_complexity)]
11// Allow functions with many arguments for domain-specific operations
12#![allow(clippy::too_many_arguments)]
13// Allow large error types as they contain useful diagnostic information
14#![allow(clippy::result_large_err)]
15
16pub mod anomaly;
17pub mod audit;
18pub mod balance;
19pub mod coa_generator;
20pub mod company_selector;
21pub mod control_generator;
22pub mod counterfactual;
23pub mod data_quality;
24pub mod disruption;
25pub mod document_flow;
26pub mod fraud;
27pub mod fx;
28pub mod industry;
29pub mod intercompany;
30pub mod je_generator;
31pub mod llm_enrichment;
32pub mod master_data;
33pub mod period_close;
34pub mod relationships;
35pub mod subledger;
36pub mod temporal;
37pub mod user_generator;
38
39// Industry benchmark generator (WI-3)
40pub mod industry_benchmark_generator;
41// Governance generator — board minutes (WI-5)
42pub mod governance_generator;
43// Legal document generator (GAM audit engagement support)
44pub mod legal_document_generator;
45// Organizational profile generator (WI-6)
46pub mod organizational_profile_generator;
47// IT controls generator — access logs and change management (WI-4)
48pub mod it_controls_generator;
49// Management report generator (WI-7)
50pub mod management_report_generator;
51// Prior-year comparative data generator (WI-2)
52pub mod prior_year_generator;
53
54// Enterprise process chain generators
55pub mod bank_reconciliation_generator;
56pub mod budget_generator;
57pub mod compliance;
58pub mod drift_event_generator;
59pub mod esg;
60pub mod hr;
61pub mod kpi_generator;
62pub mod manufacturing;
63pub mod organizational_event_generator;
64pub mod process_evolution_generator;
65pub mod project_accounting;
66pub mod sales_quote_generator;
67pub mod sourcing;
68pub mod standards;
69pub mod tax;
70pub mod treasury;
71
72// ---------------------------------------------------------------------------
73// Root-level re-exports
74//
75// Modules consumed by datasynth-runtime or internal tests from the crate root
76// keep glob re-exports so that `use datasynth_generators::SomeType;` works.
77// Modules that are only accessed via qualified paths (e.g.
78// `datasynth_generators::fraud::RedFlagGenerator`) expose their types through
79// `pub mod` above and do NOT pollute the crate root namespace.
80// ---------------------------------------------------------------------------
81
82// Core generators
83pub use coa_generator::*;
84pub use je_generator::*;
85pub use user_generator::*;
86
87// Master data generators
88pub use master_data::*;
89
90// Document flow generators
91pub use document_flow::*;
92
93// Anomaly injection
94pub use anomaly::*;
95
96// Data quality
97pub use data_quality::*;
98
99// Audit generators
100pub use audit::*;
101
102// Balance validation
103pub use balance::*;
104
105// Subledger generators
106pub use subledger::*;
107
108// Sourcing generators (S2C)
109pub use sourcing::*;
110
111// Period close / financial statements
112pub use period_close::*;
113
114// Bank reconciliation generator
115pub use bank_reconciliation_generator::*;
116
117// ESG generators
118pub use esg::*;
119
120// Intercompany generators
121pub use intercompany::*;
122
123// HR generators (payroll, time entry, expense report)
124pub use hr::*;
125
126// Manufacturing generators
127pub use manufacturing::*;
128
129// Accounting standards generators
130pub use standards::*;
131
132// Enterprise process chain generators
133pub use budget_generator::*;
134pub use drift_event_generator::*;
135pub use kpi_generator::*;
136pub use organizational_event_generator::*;
137pub use process_evolution_generator::*;
138pub use sales_quote_generator::*;
139pub use tax::*;
140
141// Control generator
142pub use control_generator::{ControlGenerator, ControlGeneratorConfig};
143
144// Industry benchmark generator (WI-3)
145pub use industry_benchmark_generator::*;
146
147// Governance generator (WI-5)
148pub use governance_generator::*;
149
150// Organizational profile generator (WI-6)
151pub use organizational_profile_generator::*;
152
153// IT controls generator (WI-4)
154pub use it_controls_generator::*;
155
156// Management report generator (WI-7)
157pub use management_report_generator::*;
158
159// Prior-year comparative data generator (WI-2)
160pub use prior_year_generator::*;
161
162// ---------------------------------------------------------------------------
163// Modules below are accessible via qualified paths only:
164//   datasynth_generators::company_selector::WeightedCompanySelector
165//   datasynth_generators::counterfactual::CounterfactualGenerator
166//   datasynth_generators::disruption::DisruptionManager
167//   datasynth_generators::fraud::{RedFlagGenerator, CollusionNetwork, ...}
168//   datasynth_generators::fx::{FxRateService, CurrencyTranslator, ...}
169//   datasynth_generators::industry::{IndustryTransactionGenerator, ...}
170//   datasynth_generators::relationships::{EntityGraphGenerator, ...}
171//   datasynth_generators::temporal::TemporalAttributeGenerator
172//   datasynth_generators::project_accounting::{ProjectGenerator, ...}
173//   datasynth_generators::treasury::{CashPositionGenerator, ...}
174// ---------------------------------------------------------------------------