Skip to content

release: v5.10.0 — group-audit-aware Method-A je_network export#191

Merged
mivertowski merged 1 commit intomainfrom
feat/v5.10-group-method-a
May 9, 2026
Merged

release: v5.10.0 — group-audit-aware Method-A je_network export#191
mivertowski merged 1 commit intomainfrom
feat/v5.10-group-method-a

Conversation

@mivertowski
Copy link
Copy Markdown
Owner

Summary

v5.10 lifts the v5.9.0 single-entity Method-A accounting-network export to the consolidated-group level, so vynfi-group-audit-enterprise-2000 (and any other group-audit run) emits per-entity and consolidated je_network artefacts.

What's added

Artefact Path Schema
Per-entity entities/{code}/graphs/je_network.{csv,parquet} v5.8 13-col + ic_pair_id + ic_partner_entity (15 col)
Consolidated consolidated/je_network.{csv,parquet} 18 col — adds entity_code, is_eliminated, eliminates_ic_pair_id

Both formats land in the existing per-entity graphs/ directory and the existing top-level consolidated/ directory, matching the v5.0 group-audit layout convention.

Implementation

  • New shared helper datasynth_runtime::je_network::build_je_network_edges() — pure builder reused by the single-entity output_writer and the new group emitter. Single-entity CSV output is byte-identical to v5.9.0 (existing tests/je_network_export.rs integration test continues to pass).
  • New module crates/datasynth-group/src/aggregate/je_network.rs (the writer) wires into aggregate/driver.rs immediately after eliminations_to_journal_entries runs.
  • Schema additions surface JournalEntryHeader::ic_pair_id and ic_partner_entity (already populated since v5.0); elimination JEs are marked is_eliminated=true with entity_code set to the group_id.

Validated against mini_nestle.yaml

End-to-end via datasynth-data group generate:

  • 4 per-entity je_network.{csv,parquet} files (NESTLE_SA / NESTLE_USA / NESTLE_DE / NESTLE_BR)
  • 368 elimination edges
  • 69,287 consolidated edges
  • 376 IC-pair edges (matched seller + buyer sides)
  • Coverage 0.9583

Roadmap (post-merge)

VynFi/vynfi-group-audit-enterprise-2000 regen is the next deliverable — that's a cloud-H100 wall-clock + 3 GB tarball upload, not in scope for this PR. The v5.0 dataset README provenance note already pointed at this: "A v5.9-aware regeneration is on the roadmap and will arrive bundled with the upcoming group-audit-aware Method-A edge-list export."

Test plan

  • Single-entity byte-identical: cargo test -p datasynth-runtime --test je_network_export (passes — same output)
  • New unit tests: cargo test -p datasynth-runtime --lib je_network (4 passing)
  • New unit test: cargo test -p datasynth-group --lib aggregate::je_network (1 passing)
  • Extended e2e: cargo test -p datasynth-group --test aggregate_e2e (4 passing — incl. new v5.10 assertions)
  • Mini-Nestlé end-to-end via the release CLI binary
  • cargo clippy -p datasynth-runtime -p datasynth-group --tests clean
  • cargo fmt --all

🤖 Generated with Claude Code

Adds per-entity (entities/{code}/graphs/je_network.{csv,parquet})
and consolidated (consolidated/je_network.{csv,parquet}) accounting-
network edge lists to the group-audit pipeline.  IC pairs surface
via ic_pair_id + ic_partner_entity columns; elimination JEs are
flagged is_eliminated=true on the consolidated file with entity_code
set to the group_id.

* New shared helper datasynth_runtime::je_network::build_je_network_edges
  reused by single-entity output_writer + the new group emitter.
* Single-entity CSV output is byte-identical to v5.9.0 (existing
  integration test je_network_export still passes).
* New aggregate module datasynth-group/src/aggregate/je_network.rs
  wires into aggregate/driver.rs after eliminations_to_journal_entries.
* Tests cover Method A, Cartesian, multi-line skip, IC field
  surfacing, and per-entity + consolidated file emission.

Validated end-to-end via 'datasynth-data group generate' on
mini_nestle.yaml: 4 per-entity files, 368 elimination edges,
69,287 consolidated edges, 376 IC-pair edges, coverage 0.9583.

vynfi-group-audit-enterprise-2000 regen is the next deliverable
(cloud H100 wall-clock + 3 GB upload — code is ready).
@mivertowski mivertowski merged commit 6324b62 into main May 9, 2026
15 of 16 checks passed
@mivertowski mivertowski deleted the feat/v5.10-group-method-a branch May 9, 2026 17:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant