Lifecycle of a Catana TODO

From the moment a TODO gets introduced to your codebase to when it becomes addressable, this page will explain what will happen at each stage.

A new TODO is introduced

Catana will process and record TODOs as soon as they land on the default branch of your repository (i.e. main/master). TODOs processed and recorded by Catana are all visible on the dashboard.

Image representing a TODO with Catana

Line number/location change

Catana will automatically update the location of an existing TODO if it changes on your codebase upstream. For instance, if the file you originally introduced the TODO gets renamed or if new/deleted code shifts where your TODO originally was.

The detail on the Catana dashboard will always point to where your TODO currently is.

Image representing a TODO with Catana

A TODO becomes addressable

In another section of this document, we'll go through the various events for a TODO.

Once the event of a TODO gets triggered, its state changes to "Ready to be addressed". Catana will open an issue on GitHub and ping its assignee. Ready to be addressed TODO will appear differently on the Catana dashboard.

Image representing a TODO with Catana

A TODO is removed from the code

Catana considers that a TODO has been addressed once it gets removed from the code. The previously opened GitHub issue will be automatically closed and the record in Catana's database deleted.

Image representing a TODO with Catana

The TODO in the code is the source of truth

It is important to note that Catana consider the code as the source of truth and not the issue. If the issue get closed, Catana will check if the underlying TODO was removed, if not, Catana will reopen the issue.