# Validation

<figure><img src="/files/XpDhjy0hyKZEAbhqtw6o" alt="" width="563"><figcaption></figcaption></figure>

Catana has a feature to **validate TODOs before they land on the release branch** of an enrolled repository. This validation serves two purposes.

1. Keep TODOs across your codebase consistent.
2. Prevent errors.

{% hint style="info" %}
Catana's validation will kick in automatically once a Pull Request **not** in [draft mode](https://github.blog/2019-02-14-introducing-draft-pull-requests/) is opened.
{% endhint %}

### <mark style="color:blue;">Consistency</mark>

In the same fashion as linters, which help keep code style consistent in your project, **maintaining consistency in your TODOs through a set of conventions helps in managing them more easily**, particularly if you don't use Catana!

An example of such a convention is Catana's default behavior for explicitly assigning users. Team members can quickly identify and direct their questions to TODO authors or assignees without leaving the code editor or going through a `git blame` dance. It also promotes a better sense of accountability.

<figure><img src="/files/g6EVVvCgoxdmS3ZiCHmR" alt="" width="563"><figcaption></figcaption></figure>

### <mark style="color:blue;">Errors</mark>

Mistakes happen, and Catana is here to warn developers before merging a Pull Request. For instance, **Catana will provide feedback** in the event where a developer assigns a TODO to a user that doesn't exist or is not a team member.

<figure><img src="/files/D0LT2BAuvl6vpcvHwDvl" alt="" width="563"><figcaption></figcaption></figure>

We all know that overly strict validation can be frustrating (ever had your first name fail validation on a form?), and Catana aims to be as unobtrusive as possible while preventing developers from shooting themselves in the foot.<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.catana.dev/core-concepts/validation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
