# Answers you can trace

What Senso does with your documents, and why an answer from Senso can be checked, corrected and trusted.

## What Senso is

Senso is a context layer: one place for the facts your organization stands behind, which your
people and your agents draw on. Every answer Senso writes comes from your own documents, and
comes back with the passages it used.

Answering is half of it. Senso also checks what is said about you against those documents, and
turns whatever is wrong or missing into a gap someone can close.

The mistake this catches is rarely an invented fact. It is a sentence that sounds right with
one detail wrong: a 60-day refund window when yours is 30, or a price without the condition
that limits it. Nobody notices until a customer acts on it.

## Every answer shows its sources

```bash
senso search "How long do customers have to ask for a refund?" --output json
```

```json
{
  "answer": "Customers have **30 days from the date of purchase** to request a full refund.",
  "results": [
    {
      "content_id": "6c1f2a9e-3b4d-4e8f-9a7b-1c2d3e4f5a6b",
      "version_id": "7a6b5c4d-3e2f-4a1b-9c8d-7e6f5a4b3c2d",
      "title": "Refund policy",
      "chunk_text": "Customers can request a full refund within 30 days of purchase.",
      "score": 0.87
    }
  ],
  "total_results": 1
}
```

Each result names the document (`content_id`) and the version of it (`version_id`) that the
answer came from. Correct the document and the next answer changes with it, under a new
`version_id`. The old text is no longer used.

Senso processes what you add and makes it searchable, with nothing for you to set up or run.
Add a document with `senso kb create-raw` or `senso kb upload`, and it can be searched within
seconds.

## Check anything against your documents

An eval splits a text into the claims it makes and checks each one against your knowledge base.
Every claim gets a verdict, with the passage quoted as evidence:

```bash
senso evals text --evaluator kb_accuracy --wait \
  --text "Customers can get a full refund within 60 days of purchase. Refunds go back to the original payment method. Refunds take 5 business days to arrive."
```

| Claim | Verdict | Why |
| --- | --- | --- |
| A full refund within 60 days of purchase | `conflict` | Your refund policy says 30 days. |
| Refunds go back to the original payment method | `verified` | Your refund policy says the same, and the eval quotes it. |
| Refunds take 5 business days to arrive | `unsupported` | Nothing in your knowledge base says how long a refund takes. |

`verified` means a passage states it. `conflict` means a passage says otherwise.
`unsupported` means nothing on file says either way: not a falsehood, but something you cannot
back up. This run scores 1 of 3 claims verified.

`senso evals text` checks any text, including an AI model’s answer about you.
`senso evals content` checks your saved and generated content. A second evaluator,
`brand_alignment`, checks text against your brand kit’s writing rules instead.

## Gaps: what is missing becomes work

A gap is something your knowledge base should say and does not, or says differently. Senso
keeps one list of them, and each one points at what to fix:

| A gap opens when | Kind | It points to |
| --- | --- | --- |
| An eval finds a claim your knowledge base contradicts | Conflict | The document that says otherwise |
| An eval finds a claim your knowledge base cannot support | Missing | A document that could cover it, when there is one |
| A search finds nothing to answer a question | Missing | The question, and how often it is asked |

Once you fix the source, record it with `senso gaps answer`, or close a gap that does not
matter with `senso gaps dismiss`. A question that found nothing closes on its own, the next
time a search answers it.

A question searched once is held back until it is asked again, so a single test search does not
fill the list. Keep your own tests out entirely with `--no-gap-signals`, or set
`SENSO_GAP_SIGNALS=off`.

## The verification loop

The verification loop puts these together for what AI models say about you. Senso asks AI
models the questions people in your market ask, shows where a competitor is named or cited and
you are not, and checks each answer against your knowledge base. You fix the source, publish
content written from it, and watch whether the next answers change.

[Verification Loop](https://docs.senso.ai/docs/use-cases/verification-loop) walks through it.

## Shared context

The same knowledge base can serve a team. Every teammate’s agent reads from it and adds to it,
permissions decide who sees which folders, and the gap list shows the questions nobody has
answered yet, so the person who knows can write the answer down once.

[Shared Context](https://docs.senso.ai/docs/shared-context) walks through it.

## If you already run retrieval

`senso search context` returns the passages without an answer, so you can write the answer
with your own model. Either way, run your pipeline’s answers through `senso evals text` to see
which claims your documents back up, contradict or cannot support. That turns “our answers seem
fine” into a number.

---

- [Connect Your Agent](https://docs.senso.ai/docs/connect-your-agent)
- [Senso CLI](https://docs.senso.ai/docs/senso-cli)
- [Verification Loop](https://docs.senso.ai/docs/use-cases/verification-loop)
- [CLI Reference](https://docs.senso.ai/docs/cli-reference)
