Idea looks really really nice.
Not sure how some edge cases (?) are handled. For example if a database server goes down, my app that uses pledge needs to open another socket to another server. Reload of changed configurations?
"Unpledge" then pledge again? Whitepaths?