bayes for days

feat(training): name a dead feature instead of weighting it zero master

A feature the bot cannot compute is the same number on every candidate, so its column of differences is all zeros and ridge answers zero - which reads in the report exactly like a feature that was fitted and found not to matter. `has_been_fired_upon` and `honour_broken` are in that state today: setters with no callers, because no attack event reaches the bot and doctrine does not exist.


+117
2 changed files