I think this is mostly OK, but I wonder if it could be even better. Instead of adding a new item to GitRepositoryStatus, have you considered just checking whether there's a pending job of the appropriate type, a bit like GitRepository.pending_updates? That would have the advantage that there'd be no need for a garbo job (https://code.launchpad.net/~pappacena/launchpad/+git/launchpad/+merge/392809) to clean things up if the information-type-changing job fails: it would just automatically become available again, which feels like a cleaner design.
I think this is mostly OK, but I wonder if it could be even better. Instead of adding a new item to GitRepositorySt atus, have you considered just checking whether there's a pending job of the appropriate type, a bit like GitRepository. pending_ updates? That would have the advantage that there'd be no need for a garbo job (https:/ /code.launchpad .net/~pappacena /launchpad/ +git/launchpad/ +merge/ 392809) to clean things up if the information- type-changing job fails: it would just automatically become available again, which feels like a cleaner design.