Skip to content

Refactor calculators to emit event-derived stats#42

Merged
colonelpanic8 merged 26 commits into
masterfrom
colonelpanic/event-projected-calculators
Jun 3, 2026
Merged

Refactor calculators to emit event-derived stats#42
colonelpanic8 merged 26 commits into
masterfrom
colonelpanic/event-projected-calculators

Conversation

@colonelpanic8
Copy link
Copy Markdown
Contributor

Summary

  • Adds append-only calculator event streams with per-update new event accessors.
  • Moves stat aggregation out of calculators into event-derived accumulator/projection modules.
  • Threads boost and core match stats events through timeline event output so serialized partial sums can be reconstructed from events.

Why

Calculators should be responsible for detecting events and state changes. Summary stats are now derived separately from those event streams, which keeps detection logic and aggregation logic easier to reason about independently.

Validation

  • just fmt-check
  • just clippy
  • cargo check
  • cargo test match_stats
  • cargo test test_core_events_reconstruct_serialized_partial_sums
  • cargo test

Note: one earlier full cargo test run hit a non-reproduced native allocator abort in post_eac_replay_fixture_test. The isolated failing test and a full rerun both passed cleanly.

@colonelpanic8 colonelpanic8 marked this pull request as ready for review June 3, 2026 17:26
@colonelpanic8 colonelpanic8 force-pushed the colonelpanic/event-projected-calculators branch from 5385b09 to 635e08e Compare June 3, 2026 18:11
@colonelpanic8 colonelpanic8 force-pushed the colonelpanic/event-projected-calculators branch from 635e08e to b0f8abb Compare June 3, 2026 18:38
@colonelpanic8 colonelpanic8 merged commit 9ab8058 into master Jun 3, 2026
9 checks passed
@colonelpanic8 colonelpanic8 deleted the colonelpanic/event-projected-calculators branch June 3, 2026 20:06
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