изучал DbC, но не могу понять, кто на самом деле определяет предварительные условия контракта транзакции.
Я понимаю, что клиент должен гарантировать достоверность предварительных условий; в противном случае любое постусловие, сгенерированное транзакцией, считается программистом правильным, даже если программа выходит из строя.
Но действительно ли создание предусловий выполняется программистом или это скорее проектная вещь, то есть исходит от обоих (клиента и поставщика)?