Skip to main content

datasynth_generators/
lib.rs

1#![cfg_attr(not(test), 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 concentration;
22pub mod control_generator;
23pub mod counterfactual;
24pub mod data_quality;
25pub mod disruption;
26pub mod document_flow;
27pub mod fraud;
28pub mod fx;
29pub mod industry;
30pub mod intercompany;
31pub mod je_generator;
32pub mod llm_enrichment;
33pub mod master_data;
34pub mod period_close;
35pub mod relationships;
36pub mod subledger;
37pub mod temporal;
38pub mod user_generator;
39
40// Industry benchmark generator (WI-3)
41pub mod industry_benchmark_generator;
42// Governance generator — board minutes (WI-5)
43pub mod governance_generator;
44// Legal document generator (GAM audit engagement support)
45pub mod legal_document_generator;
46// Organizational profile generator (WI-6)
47pub mod organizational_profile_generator;
48// IT controls generator — access logs and change management (WI-4)
49pub mod it_controls_generator;
50// Management report generator (WI-7)
51pub mod management_report_generator;
52// Prior-year comparative data generator (WI-2)
53pub mod prior_year_generator;
54
55// Enterprise process chain generators
56pub mod bank_reconciliation_generator;
57pub mod budget_generator;
58pub mod compliance;
59pub mod drift_event_generator;
60pub mod esg;
61pub mod evidence_anchor_generator;
62pub mod external_expectation_generator;
63pub mod hr;
64pub mod kpi_generator;
65pub mod manufacturing;
66pub mod organizational_event_generator;
67pub mod priors_loader;
68pub mod process_evolution_generator;
69pub mod project_accounting;
70pub mod sales_quote_generator;
71pub mod sourcing;
72pub mod standards;
73pub mod tax;
74pub mod treasury;
75
76// ---------------------------------------------------------------------------
77// Root-level re-exports
78//
79// Modules consumed by datasynth-runtime or internal tests from the crate root
80// keep glob re-exports so that `use datasynth_generators::SomeType;` works.
81// Modules that are only accessed via qualified paths (e.g.
82// `datasynth_generators::fraud::RedFlagGenerator`) expose their types through
83// `pub mod` above and do NOT pollute the crate root namespace.
84// ---------------------------------------------------------------------------
85
86// Core generators
87pub use coa_generator::*;
88pub use je_generator::*;
89pub use user_generator::*;
90
91// Master data generators
92pub use master_data::*;
93
94// Document flow generators
95pub use document_flow::*;
96
97// Anomaly injection
98pub use anomaly::*;
99
100// Data quality
101pub use data_quality::*;
102
103// Audit generators
104pub use audit::*;
105
106// Balance validation
107pub use balance::*;
108
109// Subledger generators
110pub use subledger::*;
111
112// Sourcing generators (S2C)
113pub use sourcing::*;
114
115// Period close / financial statements
116pub use period_close::*;
117
118// Bank reconciliation generator
119pub use bank_reconciliation_generator::*;
120
121// ESG generators
122pub use esg::*;
123
124// Intercompany generators
125pub use intercompany::*;
126
127// HR generators (payroll, time entry, expense report)
128pub use hr::*;
129
130// Manufacturing generators
131pub use manufacturing::*;
132
133// Accounting standards generators
134pub use standards::*;
135
136// Enterprise process chain generators
137pub use budget_generator::*;
138pub use drift_event_generator::*;
139pub use evidence_anchor_generator::*;
140pub use external_expectation_generator::*;
141pub use kpi_generator::*;
142pub use organizational_event_generator::*;
143pub use process_evolution_generator::*;
144pub use sales_quote_generator::*;
145pub use tax::*;
146
147// Control generator
148pub use control_generator::{ControlGenerator, ControlGeneratorConfig};
149
150// Industry benchmark generator (WI-3)
151pub use industry_benchmark_generator::*;
152
153// Governance generator (WI-5)
154pub use governance_generator::*;
155
156// Organizational profile generator (WI-6)
157pub use organizational_profile_generator::*;
158
159// IT controls generator (WI-4)
160pub use it_controls_generator::*;
161
162// Management report generator (WI-7)
163pub use management_report_generator::*;
164
165// Prior-year comparative data generator (WI-2)
166pub use prior_year_generator::*;
167
168// ---------------------------------------------------------------------------
169// Modules below are accessible via qualified paths only:
170//   datasynth_generators::company_selector::WeightedCompanySelector
171//   datasynth_generators::counterfactual::CounterfactualGenerator
172//   datasynth_generators::disruption::DisruptionManager
173//   datasynth_generators::fraud::{RedFlagGenerator, CollusionNetwork, ...}
174//   datasynth_generators::fx::{FxRateService, CurrencyTranslator, ...}
175//   datasynth_generators::industry::{IndustryTransactionGenerator, ...}
176//   datasynth_generators::relationships::{EntityGraphGenerator, ...}
177//   datasynth_generators::temporal::TemporalAttributeGenerator
178//   datasynth_generators::project_accounting::{ProjectGenerator, ...}
179//   datasynth_generators::treasury::{CashPositionGenerator, ...}
180//   datasynth_generators::velocity_calibrator::{VelocityCalibrator, CalibrationStep}
181// ---------------------------------------------------------------------------
182
183pub mod velocity_calibrator;