bayes for days

refactor(candidates)!: split Aggregate into Outcome and Prospect master

One struct was doing two jobs: one volley at one enemy position, and those outputs collapsed over M. `Outcome` is the per-position record and `Prospect` is the collapse over `M`, which now carries firing heat as well as the five damage outputs. `Prospect::collapse` takes `&[Outcome]`, so the direction is in the type. `twist` and `shots` are still dropped, and the conversion says why.


+258 -77
5 changed files