Expand description
Signal aggregation + Bayesian champion-vs-challenger promotion math.
Pure functions, no I/O. Callers (CLI, adapters) translate
evolve_storage::signals::Signal rows into SignalInput before calling
into this module.
Structs§
- Aggregation
Config - Per-kind weights used by the aggregator.
- Promotion
Config - Configuration for
promotion_decision. - Signal
Input - One normalized fitness signal feeding into aggregation.
Enums§
- Decision
- Outcome of a promotion evaluation.
- Signal
Kind - Whether a signal was contributed explicitly by the user
(
evolve good/bad/thumbs) or inferred implicitly by an adapter from the session log.
Functions§
- aggregate
- Collapse a session’s signals into a single fitness score in
[0.0, 1.0]. - posterior_
probability - Monte Carlo estimate of
P(challenger > champion)under beta-binomial posteriors:Beta(1 + wins, 1 + losses)per arm (uniform Jeffreys-like prior). - promotion_
decision - Evaluate whether the challenger should be promoted, held, or needs more data.