# What Cassis is

Cassis does context maintenance for analytics agents. It keeps the context they read current, tested, and approved as schemas and definitions change. The approved ontology generates and runs the SQL behind every answer; conversations, clarifications, evals, and source changes surface gaps and drift for your data team to validate.

Use Cassis through the web app or fully headless. People and agents ask through the web app, Slack, or any MCP-compatible client; data teams maintain context through the web app, Git, MCP, or CLI; warehouse integrations supply the current data behind answers.

## Where Cassis fits

People and analytics agents **Ask questions and clarify meaning**

Web app · Slack · any MCP-compatible client

questions · corrections · clarifications ↓ ↑ answers · SQL · provenance

Cassis Hosted service

SQL ↓ ↑ query results · source changes

Your data stack **Warehouse and existing context**

Warehouse · dbt · documentation

suggested ontology fixes ↓ ↑ validation · publish

Data team **Validate and maintain the ontology**

Web app · Git · MCP · CLI

In a git-managed project, the ontology lives in your repository as Markdown and YAML.

Cassis sits between the interfaces where questions are asked and the warehouse that answers them. The same ontology is maintained through the app or headlessly; no suggested fix becomes published context without validation by the data team.

## What happens when you ask

- **1. Understand the question** Cassis resolves business terms against the published ontology. If important context is missing or ambiguous, it asks instead of silently guessing.

- **2. Query the data** Cassis generates SQL and runs it when the project has a live warehouse connection. With DDL only, it returns the SQL without rows.

- **3. Return an inspectable answer** You get the result, the SQL, and the ontology objects used as provenance. The same answer contract works in the web app, Slack, and any MCP-compatible client.

## What the ontology is

The ontology is Cassis’s structured representation of how your business understands its data. It connects the language in a question to the data and SQL needed to answer it.

- **Business meaning** Domains, metrics, definitions, rules, synonyms, and the concepts people use in questions.

- **Data mapping** Tables, columns, grains, joins, and the path from a business concept to executable SQL.

- **Governance** The source and history of each definition, who changed it, and which reviewed version is live.

Every project has one ontology. The web app presents it as browsable business objects. A git-managed project stores the same ontology under `cassis/` as Markdown and YAML. [Explore a complete object and its real files](/start/ontology/).

The file format follows the [Open Knowledge Format (OKF)](https://github.com/GoogleCloudPlatform/knowledge-catalog/tree/main/okf): business knowledge stays in an open, portable tree that people and agents can read and review without a proprietary SDK. Cassis specializes that model for analytics with validated tables, columns, joins, and metrics.

## How the context stays current

Cassis bootstraps the ontology from your warehouse, dbt project, and documentation. Conversations, user clarifications, evals, and source changes then expose gaps. Cassis triages those signals into suggested ontology fixes for your data team to validate, test, and publish. Nothing becomes shared context without that validation; the next question uses the approved improvement.

-   [Try the question-to-fix loop](/start/try/): Follow the self-guided Stallora demo inside the product.
-   [Run the same loop from your terminal](https://github.com/GetCassis/cassis-demo-stallora): Use the demo repository template: ask over MCP, fix the ontology in a checkout, publish by merging a pull request.
-   [Choose how to maintain it](/start/choose/): Use git by default, or the web app when ontology owners do not work in git.
-   [Inspect a Cassis answer](/ask/answers/): See the result, plan, SQL, and provenance returned for a question.
