To add to what Michael wrote:
- This is a bug because we say it's sorted in the detailed comments in sas_tasks.py, which we also publicly reference on occasion (e.g. on Discord), primarily when people want to generate SAS+ tasks manually.
- I remember code in the search component (which may or may not still exist) that depends on conditional effects on the same variable being consecutive in the output. This is a weaker condition than the sorting we currently promise, and this might be a promise we actually hold. (It looks like we generate the sorted form, then prune and renumber variables. This destroys ordering, but not consecutiveness of effects on the same variable.)
- We can potentially resolve this in several ways, either by sorting at the end (in which case I think we can get rid of the sorting earlier) or by relaxing our specification of what the output of the translator looks like.
- This is related to the "search component should check validity of its input file" story that we considered for the last sprint. I don't know if/where the current state of this lives on the tracker.
|