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