improvement
Fulfillment condition phase keys have changed
Conditions on a failed_to_fulfill fulfillment now use failed_to_fulfill_to_in_progress instead of ready_to_in_progress. Update callers that filter conditions by phase.
A condition that applies to several phases appears once per phase in conditions. Identify a row by (id, phase) rather than id alone. Callers that only need the requirements for the next transition can read Fulfillment.blockers.