Let me try to be more clear about the "effects" variables. Most of the time "effects" in person objects is used as a (mostly redundant) record of changes made to a person. There are limited cases where the values found in "effects" are actively used such as the duration of effects.
Thus let us roughly consider the steps to edit a save file to add a new trait, in this case "Pretty Voice", to a person. First, by adding "Pretty Voice" to the "traits" list the person gains the job bonus and the interface listing but nothing else. Second, by adding the appropriate effect for the trait to "effects" the person gains nothing, but if they were to lose that trait then they would lose 20 charm. Third, by increasing the person's charm by 20(or less if it would exceed their "charm_max" or the limit for their current "origins", which is called slave grade in-game) they finally have the complete trait.
The reason changing the effect for tattoos did not change the person's stats is because you did not change the tattoo type count in game, as that is the only time that the effect changes the person(though the effect would be subtracted). Each person has a "tattoo" dictionary which stores the current tattoos which will change the interface and description. But even adding both the tattoos and the effect will not change the person's stats, you have to change the stats as well.
You are correct about the value of awareness being used for detection. Though the low wit of the player is usually not relevant since only the highest awareness of the entire combat team is used. Also, awareness tends to easily exceed all but the hardest enemies simply by having a moderate amount of agility.
You are incorrect about the MC spec. The game only checks the state value for player specs so there cannot be splitting of description and bonuses that you speak of. This also means that slave's cannot benefit from having a player spec. However, the game assumes that player will not have a slave spec thus does not specifically exclude the player from slave spec checks. Though in practice most slave specs do not work on the player because the player character is not usually checked for something they are not expected to have. This is why the Merchant spec doesn't work on the player. Executor doesn't work because the player doesn't work jobs. The player is only grouped with slaves during combat and sex, so those are the only active bonuses that can be gained.