# Canonical Keys

Canonical keys are the mechanism Cogna8 uses to identify and deduplicate state. When a user mentions a concept in different words across different conversations, the system recognizes both as referring to the same underlying information.

## What Keys Do

{% hint style="info" %}

* **Deduplication** - recognize when new information updates existing state
* **Conflict detection** - identify when two values for the same concept contradict
* **Gate requirements** - policies reference keys to define what state an action needs
* **Audit linking** - trace the full history of a concept across conversations
  {% endhint %}

## How Keys Work

Keys are generated automatically during state extraction. The system normalizes different phrasings to the same key, so variations in wording, formatting, or abbreviation do not create false duplicates.

{% hint style="warning" %}
Key generation is designed to be **conservative** - it prefers to create a new key rather than incorrectly merge two different concepts. False separation is less dangerous than false merging.
{% endhint %}


---

# 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://cogna8-io.gitbook.io/docs/core-concepts/canonical-keys.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.
