Built an issue tracker like that, that persists state as an event graph in your repo in a dedicated branch. It is vendor agnostic and works offline:
https://ljtn.github.io/epiq