About the index

TL;DR

AI companies publish long documents saying how their models should* behave. This index reads them one behaviour at a time and shows every passage that bears on each behaviour, quoted, with its exact place in the document. As of September 2026 it reports what those documents say, not how the models behave.

Say you want everything the OpenAI Model Spec says about avoiding a concentration of power. The doc reader shows those passages together and can set them beside what another company’s document says.

The overview shows the index in two heat maps. The first, what the specifications say, shows how deeply each company’s specification covers each behaviour, on a scale from 0 to 4. The second, how they are governed, scores whether each company publishes a specification, what it covers, whether changes to it can be seen, and whether the public gets a say before it is weakened.

Why it matters

When a company says how its models should behave, the word “should” carries a lot, because nobody can program a model to behave that way.

A large language model is a neural network: billions of numbers, called weights, that no person can read. Nobody writes its values into it as code. It is trained on examples, each an input and the output wanted for it, and it adjusts its weights by itself until its answers match the examples as closely as it can. In a situation that no example covered, what it does depends on what it drew from the examples it saw.

Getting a model to behave well therefore takes two steps.

  1. Agree on precise rules. Before a model can be trained to behave well, someone has to write down what it must do and what it must never do. That is what a model behaviour specification is for, and it is what this index reads.
  2. Check that the model follows them. A specification matters only if the model was trained on it and behaves as it says. This index does not measure that yet, and it is part of our ambition.

The words we use

AI Constitutions Index

We call it a constitutions index because of what these documents could become: one place that sets down the values a model should hold, how it is trained and later evaluated against them, and the internal rules by which the company that made it answers for them. No document does all of that today, and the name is the direction we think they should take.

Anthropic calls its own document Claude’s Constitution. The name of this index refers to that document no more than to any other.

Model behaviour specification

The generic term for the documents in which AI companies set out how their models should behave. OpenAI calls its own a model spec and Anthropic calls its own a constitution. Both are model behaviour specifications, as is any other document that describes how a model should behave. We shorten it to specification.

Behaviour

For us, a behaviour is one precise thing a specification can ask of a model, such as deferring to users’ decisions about their own lives, or not asserting what the model believes to be false. Each is written in two parts, what it requires and where it stops, so that a careful reader could mark every passage of a specification that bears on it. The judges work from that description and assess a specification one behaviour at a time.

So far the index asks about .

Passage

A paragraph or a run of sentences in a specification, cited by a locator that names the document, its version, its section and the sentences. For each behaviour, every passage the judges mark falls in one of three bands. A defining passage is the document’s fullest statement of the behaviour, a core passage establishes it, and a related passage bears on it without establishing it.

Depth

How far a specification goes on one behaviour, from 0, absent, to 4, rules with worked examples. Each judge gives one, and the index shows their mean.

Our ambition

Beyond tracking what these documents say, we mean the index to do five things.

  • Stay current. Read every model behaviour specification, and every new version of one, as soon as it is published.
  • Test adherence. Measure how closely each company’s models follow the specification that company published.
  • Hold each specification to the best. Set it against what the best of the other companies do and against standards endorsed by public institutions or independent experts, and show where it falls short.
  • Find the contradictions. Show where a specification’s own rules pull against each other, and where two companies’ documents disagree.
  • Open up how they are written. Challenge the way these documents are made and changed, and argue for democratic processes around them, such as public consultation before a rule is weakened.

Use the index from your AI assistant

You can connect the index to an assistant such as Claude or ChatGPT, so that its answers about these documents come from the index.

The connection uses MCP, the Model Context Protocol, a standard way for an assistant to look something up in another service while it answers. Once connected, your assistant quotes the passages a document gives on a behaviour and says where each one sits, so you can check the answer. The index only reads, and needs no account or key.

It is useful to people who write about how AI companies govern their models, and to people who build evaluations. The MCP page explains the setup and what the index can be asked.

Documents, behaviours and how they are read

As of September 2026 the index reads four model behaviour specifications: Claude’s Constitution (2026-01-20), the OpenAI Model Spec in two versions (2025-12-18 and 2026-08-18) and the Alibaba Model Spec (2026-04-00). Each runs to tens of thousands of words, and what it says about any one subject is spread across it.

Each version is a document of its own, named <company>--<document>@<version>, so the two OpenAI versions are judged and cited separately. The Alibaba Model Spec is published in Chinese. The index reads an English machine translation made by Claude Opus 5 and partly revised by Claude Fable 5, and the reader shows the original beside every passage.

As of September 2026 the index asks about thirteen behaviours, in four groups: Autonomy, oversight and authority; Harm and safety; Helpfulness and judgement; Honesty and epistemics.

Three frontier models, GPT-5.6 Sol, Claude Fable 5 and DeepSeek V3.2, read each document against the description of each behaviour. They form the panel called frontier_fast and judge under rubric v5. Each judge places every passage of the document in a band, from the document’s fullest statement of the behaviour down to unrelated. Several models agreeing on the same description and document is closer to a finding than one model’s view, and the reader shows how each judge voted on each passage.

Each judge then gives the document one depth for the behaviour, on a scale from 0, absent, to 4, rules with worked examples. The index publishes the mean of the three.

Sometimes a judge cannot answer at all, because a content filter withholds its output. A model declared in advance for that seat then judges in its place, and the substitution is recorded with its reason. For Claude Fable 5’s seat, the declared substitutes are Claude Opus 4.8 and then Kimi K3. As of September 2026, Opus holds that seat on harm avoidance to third parties in both OpenAI versions, and Kimi holds it on every behaviour of the Alibaba Model Spec, where every Anthropic model was refused. The behaviour’s note in the reader records this.

In the doc reader, tick a behaviour and every passage that bears on it is highlighted in the document you are reading, or in two documents side by side. All three bands are shown by default, with related passages drawn softer, and each band can be switched off. Clicking a passage shows each judge’s verdict on it. The i beside each behaviour shows the description it was judged against. The export saves the passages you ticked as a file.

Propose a new model behaviour specification

If there is a model behaviour specification the index should be reading, send it here.

Send the text itself, along with its address. The index quotes documents word for word and ties every citation to the exact version it read, so it keeps its own copy. Markdown or plain text, up to 2 MB.

The form also asks who published it, what it is called, which version it is and where it is published. The version is whatever the publisher calls this release, such as a date or a number, because a citation has to say which release it read. Keep the headings in the text, since citations use them to name the place they point to.

Propose a new behaviour

If the index should be asking about a behaviour it does not yet cover, send it here.

A proposal is a description in two sentences. The first says in plain terms what the behaviour requires. The second says where it stops, usually by naming a neighbouring behaviour it could be confused with.

The second sentence is often left out, and it decides how useful the result is. “Honesty” with no boundary collects every passage about trust, tone, transparency and correcting errors. “Honesty, meaning the model does not assert what it believes to be false, not whether it volunteers everything it knows” collects the passages you meant.

Sending a proposal only records it. We read every proposal and decide whether it belongs in the index. If it does, one of us enters it in the index’s portal and pays for the run, we write to tell you, and it appears in the reader once a publication that includes it is made public. We cannot promise to run everything, and if we decide against a proposal we will tell you.

What it does not tell you

The index reports what a document says. A specification that covers a behaviour thoroughly is no evidence that the model follows it, which is a separate measurement that the citations here can feed.

When two companies’ documents address a behaviour differently, it is usually because they made different choices. A depth measures how much a document gives an evaluation to work with.

For the Alibaba Model Spec the index reports what the English translation says. The judges read the translation, and the reader shows the original for comparison.

Citing what you find

Every passage carries a locator, such as these two.

anthropic--constitution@2026-01-20 > Being broadly ethical > Being honest > ¶18 s1-4
openai--model-spec@2025-12-18 > #letter_and_spirit > ¶3

A locator names the company, the document and its version, the section and the sentences. Because the version is part of the document’s name, a locator keeps pointing at the same words after the company reissues the document, since a reissue is a new document, as with the two OpenAI versions. Anyone can resolve a locator back to its text. A scheduled job resolves every published citation against the stored document and fails if a single quote has moved.

The reader’s export writes each quote with its locator.

Citing the index itself

The index changes over time, so a citation of it has to name the build it read. This citation names the publication currently on the site and the date it was published.

Loading the current publication...

Adapt the style to your venue, and keep the authors, the publication identifier and the date, which let someone else retrieve the same figures.

The authors are read from the build. Every run records who produced its verdicts and every behaviour records who wrote it, so a publication computes its own credit. The dataset is credited to whoever ran the judging, which as of September 2026 is Polaris Collective. The method has its own line. The rubric, the scale, the prompt and the citation grammar are the work of Andrés Cotton and Matt Stults, as are most of the behaviour briefs.

Cite each specification to its publisher. Anthropic and OpenAI release theirs under CC0. A quote from the Alibaba Model Spec comes from the index’s English translation, so say so when you use one. Cite the index for the coverage, meaning which passages address which behaviour and how closely.

The repository’s CITATION.cff gives GitHub a “Cite this repository” button with BibTeX and APA formats. Use it to cite the project as a whole.

Change log

Each publication of the index is fixed once it is made. These are the publications that have been made public, newest first, and each opens in the doc reader as it was.

16 September 2026, publication 1919ee6b, current

It keeps the passage judgements of the publication before it, and every depth figure is judged again. The depth judges had been shown fewer passages than the doc reader shows, and now they see every passage a reader sees, related passages included. One figure, DeepSeek’s depth for avoiding both over- and under-caution in the Alibaba Model Spec, was obtained at a different setting from every other figure, and the publication says so.

15 September 2026, publication 07958c5e, withdrawn

The first publication judged by a single panel, frontier_fast, with a depth from 0 to 4 given by each judge, over thirteen behaviours and four documents. It was withdrawn on 16 September 2026 because its depth figures had been judged from fewer passages than the doc reader shows.

Andrés’s original tool

This index began as the AI Character Index, created by Andrés Cotton with the help of Matt Stults, and most of what is described here is their work. The judging pipeline, the citation resolver and the first version of this reader come from it. That work was supported by Generator Residency (Kairos & Constellation) and BlueDot Impact, and it is published at ai-character-index.pages.dev.

The original is built around git. The behaviours, the specifications and the verdicts are files in the repository, so a change to the index is a commit and a contribution is a pull request. Two runs of the same behaviour against two drafts of a document differ by exactly the lines that changed.

It needs only Python, a browser and an API key, and it does not depend on us. If you want to run the panel yourself, it is the repository to clone.

Run it yourself

You can run the same judging on your own machine, with your own documents and behaviours, without an account or a database.

The original

git clone https://github.com/AndresCotton/ai-character-index.git
cd ai-character-index
python3 -m http.server 8080 --directory site

You can point it at any document, including an unpublished draft. Nothing is sent to us, and the document goes only to the model providers you call.

Or ours

polariscollective/ai-character-index, which serves this site, is public too. It adds infrastructure to the original, a hosted database for the index and a portal that launches the judging and publishes the results, which makes it the heavier of the two to clone.

It also runs locally with one API key:

python3 engine/local_run.py \
    --document=my-spec@2026-09-12:path/to/spec.md \
    --behaviour=path/to/behaviour.json \
    --panel=frontier_fast

A document is any markdown file, and a behaviour is a small JSON file with its name, what it requires and where it stops. Neither needs registering. They are judged with the same panel, prompt and parser as this site.

The results are written to artefacts/. They hold every reply as it came back, every verdict with its locator and the text it judged, and the cost of each call. The README describes each file.

A local run gives the passages and each judge’s verdict on them, but it does not ask for the 0 to 4 depth or build a site. Publishing an index with fixed citations and a coverage map in the reader is what the hosted version is for.

The behaviours the index asks about

The list could not be loaded. The doc reader shows every behaviour in its menu.

Propose a model behaviour specification or a behaviour

Send the text of the specification as well as its address. The index quotes documents word for word and ties every citation to the exact version it read, so it keeps its own copy.