I think I wrote not one but a few code snippets demonstrating how intervals could work. However, the idea of a music theory framework has not been resumed. (See threads mentioned above)
EDIT
There was a prototype for conversion between (PitchName Accidental) → Interval
It’s very straightforward, with a few hacks here and there to handle the translation.
in my stuff, I have an implementation that pushed Accidental to 72ET (since you’re working with just intonation, rational numbers and 72ET accidentals can make sense)