So... right now keeping dwarves happy is too damn easy. I've had fortresses I've *wanted* to see tantrum spiral, but couldn't get them to without methodically destroying my entire base.
My understanding is that the current model is a linear system- every good thing tugs you one way, every bad thing tugs you another.
I propose we divide this up into multiple scales- "Art" "Status" "Food and Drink" "Personal Life" "Professional Life" "Sanitation", maybe. Dwarven happiness will be limited by how many of these fields are satisfied. For instance, no amount of Art will make a dwarf happy if he sleeps in a tiny room, eats vermin, is mourning the loss of his family, has had hi smasterworks destroyed and encountered a miasma, possibly resulting from his family.
For specific mechanics, each field would have a range- "Art" might go from 2 to -1, for instance, as there is only so depressed a dwarf can get from lack of art. "Status" might be a greater range, or relate to the dwarf's status in society- a peasant would have 8 to 0, while a noble would have 1 to -7. "Sanitation" might go from 1 to -3; Personal life from 10 to -10.
Each field would compute it's own bonus or penalties, and add them together, resulting in the total happiness level. This way, you couldn't keep a fortress entirely happy with only fancy statues, and to make a dwarf truly ecstatic, it would require keeping them happy in *all* walks of life