First off, nice to see someone else taking a look at this code.
For the most part, I've avoided making changes to existing behaviour unless I was actively working on that code for other reasons. So e.g. full-screen / non-full screen or the amount of tiredness regenerated each week don't necessarily express a preference of mine (though for debugging, having it windowed and less than full hd is actually useful
The ${name} thing you've noticed is because the long term plan is to move as much of the text as possible into external files, so that text changes don't require recompilation. I don't want to code to decide whether to use a name or a pronoun, though, because there may be good reasons why multiple ${name}'s occur in one text. If you think there are ${name} occurrences too close together, then the source text should replace ${name} with "she".
I would prefer if the recovery rate and maximum gang size were configurable parameters (using the `cGameSettings` mechanism). Then if people don't like the changes, they can keep the old values in their games. (Personally, I think reducing the gang size probably makes a lot of sense, but I'm not so sure about the recovery, because I think there should be significant negative consequences for letting a girl work double shifts.)
As for the violated stat, this seems like an add-hoc fix for a larger underlying issue -- that of having stats that are really statistics in the sense of counters of how often something as happened, as opposed to stats that are more like attributes (And the current "STATS" thing really is a mess, it combines "trainable" attributes like strength and agility with more "inherent" attributes like beauty and age, with quickly fluctuation things like current health, mana, and energy (tiredness)).
Oh, and showing the changes compared to last week definitely is a nice improvement.