In the PR bot module, there is a class, CensusInstance, that handles loading of the census from the backing datastore. This class will eagerly load everything at instance creation. Depending on the context from where the census is loaded, we may not always be able to resolve every part of the census, more specifically the Project may not be resolvable in certain cases. One such case is a commit command that gets issued on a very old commit, where the .jcheck/conf file points to an old inactive project, which may not be defined in the census data.
If this happens, we end up with the bot endlessly retrying and always failing to resolve the census project. In the case of commit commands, none of them are using the project data today, so a simple fix to this problem would be to lazy load the project data. It's not a very nice solution, I would prefer to have this supported by types instead, so that it's clear that the CensusInstance returned for commit commands does not have a project.
If this happens, we end up with the bot endlessly retrying and always failing to resolve the census project. In the case of commit commands, none of them are using the project data today, so a simple fix to this problem would be to lazy load the project data. It's not a very nice solution, I would prefer to have this supported by types instead, so that it's clear that the CensusInstance returned for commit commands does not have a project.