Alright, I'll admit that I don't know about Dwarf Fortress's internal mechanisms, but it doesn't seem like it would take that long.
Take a look at the description of the DFHack
steam engine and then skim through some of
the code if you're feeling adventurous.
You're free to propose changes which you think are good for the game, of course. But if you're pitching something as a quick-fix, then you might want to adjust your idea so that it's more closely congruent to the current systems and codebase.
For example - the DFHack steam engine must be designated as a custom Workshop (even though "Furnace" is more thematically appropriate) because the Dwarf Fortress memory and code structures do not treat Furnaces as eligible for machine-connection. If you ask Toady
"please let us apply the [MACHINE_CONNECTION] tag to any Workshop via the raws instead of DFHack code" then sure - that's a one-day task. But if you ask for the new [MACHINE_CONNECTION] tag to work with all types of buildings (including furnaces, siege engines, etc) then it might turn out to be more complicated than we expect.
The DFHack steam engine also ties directly into the building's inventory: the building contains several discrete Water items, each of which generates 100 units of power (until it gets destroyed by item-decay logic). Thus, the building doesn't
know its power output but can calculate it whenever the game asks. The vanilla power generators (Waterwheels and Windmills) are similar - they can determine their power output by checking the status of the tiles above or beneath them.
If power generation is instead governed by a highly-variable integer (e.g. Pressure = 24136) which is not connected to the state of the environment or the building's contents, then the Building class would need a new instance variable to store it.
-- The stuff below doesn't deal directly with your suggestion, but rather with your example --
We currently lack a reaction tag for
"this operation requires water so the assigned Dwarf shall please fill a bucket from a valid Water Source or Well and then bring it to the building." Hence, you see custom reactions in various mods which magically drain
environmental water from the space around the workshop. Adding [BRING_BUCKET_OF:INORGANIC:WATER:150] to the reaction raws would hopefully not a major complication, but it's definitely something new.
The idea of a building providing subtle status/warning information is novel, but where would it appear? In the [q]uery menu? In the Loo[k] menu? The View i[t]ems in Buildings menu? As a new Alert? Or would this
also be configurable via new RAW tags?
The proposed danger/inaccuracy of the device (e.g.
"stoke the boiler until it starts making noises, and hope that it doesn't explode") is neat, but it might require too much attention from the player. Many Dwarf Fortress players seek to setup efficient automated workflows; if you ask them to micromanage boilers then they're going to be disappointed.
I like the fact that players could cause a catastrophe by
choosing to deconstruct a Steam Generator but
forgetting to vent its pressure beforehand. Ideally, a Dwarf Fortress disaster should involve stupidity on the player's side as well as the AI's.