# Verification Loop

Find the AI questions in your industry where a competitor is named and you are not, answer them
from your own documents, and publish a page every line of which is checked against them.

## What it does

AI models answer questions about businesses like yours every day, and may often name a competitor
instead of you. The Verification Loop finds one of those questions, makes sure your knowledge
base can answer it, and publishes a page written from your own documents where AI models can
find and cite it. Then it finds the next one.

Every line of the page traces back to something you gave Senso, and every claim is checked
before it goes out. That is what makes it a verified source rather than more content.

## Run it with your agent

The loop is an [agent skill](https://docs.senso.ai/docs/agent-skills). Install the Senso skills,
then ask your agent:

```bash
senso setup
```

Ask your agent:

> Let’s go through the Verification Loop.

Your agent runs the commands. It stops only for what you have to decide: whether a question is
yours, how to fill a gap, whether the draft is right, and whether to publish. New to Senso?
[Connect Your Agent](https://docs.senso.ai/docs/connect-your-agent) first.

## Setup, once

The first time, your agent sets up four things. It skips any you have already done.

1. **Bring in your own material.** Import your website, upload a file, or tell your agent the
   facts. Every line written later has to trace back to something you gave it.
2. **Set your industry.** The questions people ask AI models about businesses like yours. Senso
   tracks how the models answer them, which is what shows where you are named and where you are
   not.
3. **Confirm your brand name.** Mentions are matched against your organization's name, loosely.
   A placeholder name like "test" matches a different company, and every number after it would
   be theirs.
4. **Set the shape and voice of your pages.** A content type for the page and a brand kit for the
   voice. A website import drafts the brand kit for you.

## One round

Every round is the same, on a new organization or one that has run it for months.

1. **See where you stand.** Your rank among the brands in your industry, how often each AI model
   names you, whether your site is cited, and who is named alongside you, over the last 30 days.
2. **Find a question you are missing from** *(requires a human)*. The first question in your industry
   that no model named you in, and who they named instead. Not yours? Ask for another, or for one
   about a topic.
3. **Start tracking it.** Senso asks the AI models this question on a schedule from now on, so
   you can see it change.
4. **Check your knowledge base answers it** *(requires a human)*. If it does, you see your answer beside
   what an AI model says today. If it does not, that is a gap: write the answer up or upload a
   file, and a second search confirms it is covered. If you do not offer it, the question is
   dropped.
5. **Draft a page from your knowledge base** *(requires a human)*. Written only from what your
   documents say, and saved to Senso for you to read before anything else happens.
6. **Check every claim.** An eval checks each claim in the draft against your knowledge base. A
   claim it cannot back up is flagged, so you can fix the draft or add the source to your
   knowledge base before you publish.
7. **Publish** *(requires a human)*. To citeables.com by default, a domain Senso runs that AI models
   crawl for answers. The page is public, it is not on your website, and nothing on your site
   changes. Senso runs other domains too, such as cited.md, and `senso destinations list` shows
   them all. To publish to a domain of your own, contact Senso at senso.ai. Approving the draft is
   not agreeing to publish; you are asked separately.
8. **Go again.** A recap of the question, what was missing, the live URL, and how many questions
   are still answered without you.

The commands behind each step, numbered to match:

```bash
# 1 — where you stand
senso industries brand <industryId> "<your brand>"
senso industries domain <industryId> "<your domain>"
senso industries brands <industryId>

# 2 — the industry's questions you are not tracking yet
senso industries prompts <industryId> --imported false

# 3 — start tracking one
senso industries import-prompts <industryId> --prompt-ids <industryPromptId>

# 4 — does your knowledge base answer it, and what does a model say?
senso search "<the question>"
senso industries answers <industryId> --prompt-ids <industryPromptId> --models <model>

# 5 — save the draft for review, or have Senso write one
senso engine draft --data '{"raw_markdown": "...", "seo_title": "...", "geo_question_id": "<promptId>"}'
senso generate sample --prompt-id <promptId>

# 6 — check every claim
senso evals content <contentId> --evaluator kb_accuracy --wait

# 7 — publish to citeables.com
senso destinations list
senso engine publish --publisher-ids <citeablesId> --data '{"content_id": "<contentId>", "raw_markdown": "...", "seo_title": "..."}'
```

Every command is in the [CLI reference](https://docs.senso.ai/docs/cli-reference).

## Where you stand

- Every number covers the last 30 days, and moves as new answers come in.
- Each AI model gets its own mention rate. They differ a lot, and one number for all of them
  hides which one leaves you out.
- A model that answered fewer than half of the industry's questions is not reported. Too few
  answers to tell you anything.
- Your competitors are the other brands named in AI answers that cite your website. If no answer
  cites your website yet, you see the brands named most often across your industry instead.

## Check what AI models say about you

Being left out is one problem. Being named with the wrong facts is another. Ask your agent to
check what the models say about you, and it runs an eval on an answer that names you. Each claim
comes back with a verdict:

| Verdict | What it means | What happens |
|---------|---------------|--------------|
| `conflict` | Your documents say otherwise. The model is wrong, and you can show it. | Draft a page that corrects it |
| `verified` | Your documents say the same thing. | Nothing to fix |
| `unsupported` | Nothing in your documents settles it either way. | You are asked whether it is true, then it goes into your knowledge base |

Only you can say whether an `unsupported` claim is true, so that is the one place you are asked.

## Limits

- A published page is not a changed answer. AI models usually take a few days to pick up a new
  page.
- Not named is not wrong. It means the answer named someone else.
- Your knowledge base is not your website. An import takes a selection of pages, so a question can
  come back unanswered when your site does cover it.
- Publishing goes to a domain Senso runs, not your own site, unless Senso has set up a domain of
  yours. A published page can be taken down with `senso content unpublish`.
- A tracked question runs on a schedule. `senso org set-runs --enabled false` pauses every
  scheduled run.
- The industry and tracking need Senso's GEO product on your organization.

---

- [Connect Your Agent](https://docs.senso.ai/docs/connect-your-agent)
- [Why Senso](https://docs.senso.ai/docs/why-senso)
- [Shared Context](https://docs.senso.ai/docs/shared-context)
- [CLI Reference](https://docs.senso.ai/docs/cli-reference)
