I don’t know why RETE (OPS5) still keeps showing up – its flagship example was the XCON (R1) configurator that had a few hundred rules and was almost impossible to maintain (I remember having a conversation with someone at DEC; as I recall they had a full-time team of ~5 people for maintaining it). RETE/OPS5 suffers from two problems: a global store where values can be changed (which trigger other changes) and no backtracking.
A configurator in Prolog for the same domain would be easier to both write and maintain, especially if it took advantage of the the more modern support for constraint solving.