Ref T2683. Currently, DiffusionRequest has four different "commitey" things:
- commit
- rawCommit
- symbolicCommit
- stableCommit
Of these, only two are actually distinct, useful values: symbolicCommit (which holds the value the request originally contained, if one existed) and stableCommit (which resolves that value, or the value implied by its omission, into a stable, permanent commit identifier).
- rawCommit is equivalent to symbolicCommit and can be simply removed.
- commit has some sketchy magic around it that needs to be pulled out before it can be jettisoned.