The engine consumes 68 named tables. Each historised record distinguishes business validity from the time at which the information became known. The official snapshot is therefore reproducible after subsequent corrections.
library(riskweightedassets)
tables <- generate_synthetic_tables()
head(tables$run_config[c("config_key", "config_value")])
#> config_key config_value
#> 1 as_of_date 2026-08-31
#> 2 knowledge_time 2026-08-31T23:59:59
#> 3 consolidation_scope_id SCOPE-GROUP
#> 4 rule_set_id CRR3-EU-2026
#> 5 reporting_currency EUR
#> 6 random_seed 5752026
head(tables$exposure_lot[c("record_id", "business_key", "valid_from",
"known_from", "is_official")])
#> record_id business_key valid_from known_from is_official
#> 1 EXP-000000::v1 EXP-000000 2026-01-01 2026-08-31 06:00:00 TRUE
#> 2 EXP-000001::v1 EXP-000001 2026-01-01 2026-08-31 06:00:00 TRUE
#> 3 EXP-000002::v1 EXP-000002 2026-01-01 2026-08-31 06:00:00 TRUE
#> 4 EXP-000003::v1 EXP-000003 2026-01-01 2026-08-31 06:00:00 TRUE
#> 5 EXP-000004::v1 EXP-000004 2026-01-01 2026-08-31 06:00:00 TRUE
#> 6 EXP-000005::v1 EXP-000005 2026-01-01 2026-08-31 06:00:00 TRUEWorkbook validation returns structured messages rather than prose-only logs.
report <- validate_dataset("path/to/dataset")
issues <- as.data.frame(report)
subset(issues, severity == "ERROR")Technical validation cannot decide institution-specific scope, permissions or legal interpretation. Those remain governed inputs.