xia2 is an expert system for the automated reduction of macromolecular crystallography (MX) data employing well trusted existing software. The system can process a full MX data set consisting of one or more sequences of images at one or more wavelengths from images to structure-factor amplitudes with no user input. To achieve this many decisions are made, the rationale for which is described here. In addition, it is critical to support the testing of hypotheses and to allow feedback of results from later stages in the analysis to earlier points where decisions were made: the flexible framework employed by xia2 to support this feedback is summarized here. While the decision-making protocols described here were developed for xia2, they are equally applicable to interactive data reduction.