Skip to content
Raw Markdown

Capability matrix

Compare what each Cassis surface technically permits with the workflow recommended for production.

What each surface can do

CapabilityWeb appMCPCLIRepository
Ask questions Yes, in chatYes, ask_questionProbe only, ontology testNo
Read the ontology Yes, Explorer and exportNoYes, ontology pullYes, it is the files
Edit the ontology Yes, on any project. Supported for app-managed projectsNoEdit local files, then upload when the workflow permitsYes, on git-managed projects
Look up the warehouse schema Yes, the Schema pageYes, get_source_schemaYes, schema pullNo, the snapshot is gitignored
Triage issues Yes, the review queueYes, read and set statusNoWhere the fix lands
Publish Yes, the Publish button, on any projectNoontology upload, when the API key permits itA merge triggers the GitHub App or a pipeline upload

Read the ontology

Web app
Yes, Explorer and export
MCP
No
CLI
Yes, ontology pull
Repository
Yes, it is the files

Edit the ontology

Web app
Yes, on any project. Supported for app-managed projects
MCP
No
CLI
Edit local files, then upload when the workflow permits
Repository
Yes, on git-managed projects

Look up the warehouse schema

Web app
Yes, the Schema page
CLI
Yes, schema pull
Repository
No, the snapshot is gitignored

Publish

Web app
Yes, the Publish button, on any project
MCP
No
CLI
ontology upload, when the API key permits it
Repository
A merge triggers the GitHub App or a pipeline upload

Several technically permitted operations sit outside the supported production workflow. Credentials and product controls determine what is enforced.

ActionPossibleRecommendedWhy
Edit in the app on a git-managed projectYesNoThe next import replaces the complete ontology, so unpublished in-app work is lost and no conflict is raised
Publish from the app on a git-managed projectYes. On a GitHub-synced project it commits the tree backNoIt commits the whole tree, so it can quietly revert a repo change made in parallel
Run ontology upload at a GitHub-synced projectYesNoCassis syncs that repository itself, and the next import replaces whatever you uploaded

How publishing differs by setup

GitHub, with the app
A merge to the default branch touching the Path directory imports automatically from a webhook, and Cassis posts a sync check on the commit. Nothing to run.
Any other provider
A merge publishes nothing on its own. A pipeline job running cassis ontology upload on the default branch is what makes it live. See Set up CI.
App-managed
The Publish button. Pending edits become an immutable version.

Important cross-surface rules

MCP never returns ontology content
No tool on the MCP server returns the ontology or edits it. An answer names the objects it used, and get_project_status reports the published version, pending changes, and the git binding, but the definitions themselves are not on the wire. An agent that needs to read the ontology reads it from a checkout.
The CLI asks questions to prove a change, not to serve people
cassis ontology test runs a question through the same agent against your local files, one full run per question. cassis eval run is the regression side of the same job.
Triage is a status, never a fix
update_issue_status is the MCP server’s only write, and it requires the editor or admin role. It records an outcome; the ontology change is a separate edit.
Every publish replaces the ontology
All three paths replace the complete ontology, which is why a project should have one editing path. See Choose how your ontology is managed.

Operating guidance is not an enforced boundary. If your team needs the app to stay usable on a git-managed project, restrict who may write with domain permissions. API keys should be scoped so agents and CI can perform only the operations they own.