Well, my goal of operating a dwarven prison was put to an end by a goblin raid. Somewhat amusing, they left the last dwarf behind to stagger back to a bed where he eventually went insane.
The short version of my rules were that the original settlers were miners, cooks, "handy dwarves" and the expidition leader was a warden who only had admin labors enabled. The 2nd wave of migrants were guards, and with a few exceptions, everyone who showed up after that was a prisoner. Any prisoner who crafted an artifact was considered to be rehabilitated and give a fairly wide range of tasks they were allowed to do.
It was an interesting learning experience. My intuition that the small number of guards I allowed myself to guard the prisoners would be insufficient to defend against an outside attack was correct, however I didn't have the flood chamber I had intended to use for fortress defense operational when the goblins showed up. I guess I'll never know if I had the pump stack to drain the trap set up correctly. I also had no idea how hard it is to be self sufficient food wise with a single cook. Booze wasn't as difficult to keep up with since I didn't allow the prisoners any.
The layout of my prison seemed to make sense with the prisoners in a central area and the workers with shops, stockpiles, and living quarters ringing the lockup zone. However it proved to by rather inefficient. The other thing that hurt was that I decided to make the entrance a long spiral ramp leading down to the working prison. It ended up taking a very long time to haul items from the makeshift shops and stockpiles on the surface down to the fort once I had things dug out.
I do have one gameplay question. I ended up having to disable hauling labors for the prisoners. I had them confined to a burrow, but they wanted to keep hauling things to areas they were forbidden to go and the failed job spam was driving my nuts. Is that the way assigning individual citizens to a burrow is supposed to work? I don't seem to remember that from when I've enabled general civilian alerts.
Anyway, it was a fun experiment in trying to get the most out of a sub-optimal work crew.