Skip to main content

Chain-of-thought monitorability and faithfulness evaluation for reasoning-model agents.

Project description

cot-suite

A unified Python library for chain-of-thought monitorability and faithfulness on reasoning-model agents.

Status: pre-alpha. Targeting a public launch mid-May 2026. Stage 1 validation run (Qwen3-14B × GPQA-Diamond × Haiku 4.5 autorater) complete; results and methodology in benchmarks/results/qwen3_14b_gpqa_full/.

Renamed from cot-divergence on 2026-04-21. The old cotdiv import path still works via a shim until 2026-07-21.

What it does

cot-suite treats two closely-related but distinct questions as one evaluation surface:

  • Monitorability — can a human (or an LLM monitor) read a model's chain-of-thought and catch bad reasoning before the model acts on it? This is the near-term AI-safety bet laid out in Korbak et al. 2507.11473 and operationalized by Emmons & Zimmermann et al. 2510.23966.
  • Faithfulness — does a model's CoT actually reflect how it reached its final answer, or is the stated reasoning a post-hoc rationalization? Lanham 2307.13702, Turpin 2305.04388, Chen/Benton/Perez 2505.05410, and Arcuschin 2503.08679 each probe this from different angles.

A legible CoT can still be unfaithful; a faithful CoT can still be illegible. Evaluating one without the other paints half the picture. cot-suite ships both as first-class, Inspect-AI-native primitives, with a versioned autorater port of the 2510.23966 Appendix C prompt at the center and the faithfulness literature as complementary modules around it.

Modules

  • cotsuite.autoraters — verbatim port of the Emmons & Zimmermann 2510.23966 Appendix C autorater (legibility + coverage), SHA-256-hashed for reproducibility.
  • cotsuite.tests.lanham — Lanham 2307.13702 four-test suite (early answering, mistake injection, paraphrasing, filler tokens).
  • cotsuite.tests.turpin_counterfactual — Turpin 2305.04388 counterfactual bias battery.
  • cotsuite.tests.chen_cue_injection — Chen 2505.05410 six-hint cue-injection catalog (five verified from the paper's Table 1, Visual Pattern in extensions pending a few-shot scaffold).
  • cotsuite.tests.post_hoc_rationalization — Arcuschin 2503.08679 implicit-rationalization detector (CoT conclusion vs final-answer divergence via LLM-as-judge).
  • cotsuite.core.classify — faithfulness classification dispatcher with strict near-zero thresholds (computational, rationalization, mixed, unknown).
  • cotsuite.core.provenance — every test / cue / metric carries a Provenance record; unverified or extension work lives in tests/extensions/ until PDF cross-check.
  • cotsuite.inspect.scorers — Inspect AI scorers wrapping the above, ready to drop into an Inspect Task.

Full methodology and shortcut disclosures in AUDIT.md. Known pre-release blockers in BLOCKERS.md. Roadmap in ROADMAP.md.

Install

pip install cot-suite                 # core
pip install "cot-suite[nlp]"          # + NLTK punkt (Lanham paper-faithful sentence splitting)
pip install "cot-suite[langgraph]"    # + LangGraph middleware
pip install "cot-suite[activations]"  # + nnsight / TransformerLens (open-weights only)

The legacy name still resolves:

pip install cot-divergence  # aliased to cot-suite until 2026-07-21

Quickstart

from cotsuite import score_trajectory
from cotsuite.adapters import from_anthropic

traj = from_anthropic(messages, model="claude-opus-4-5")
result = score_trajectory(
    traj,
    metrics=["legibility", "coverage"],
    autorater="anthropic/claude-haiku-4-5",  # or "google/gemini-2.5-pro"
)
print(f"legibility = {result.metrics['legibility'].value:.2f} ± {result.metrics['legibility'].stderr:.2f}")

Citation

See CITATION.cff (DOI pending v1.0). In the interim, cite the repo URL.

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cot_suite-0.0.1.tar.gz (147.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cot_suite-0.0.1-py3-none-any.whl (67.2 kB view details)

Uploaded Python 3

File details

Details for the file cot_suite-0.0.1.tar.gz.

File metadata

  • Download URL: cot_suite-0.0.1.tar.gz
  • Upload date:
  • Size: 147.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for cot_suite-0.0.1.tar.gz
Algorithm Hash digest
SHA256 0cc089b35209efb4999c59d67f52167b8132eb0e05fcf4905ab88e5b5eb6834b
MD5 48c8aa394507b07c4d01d17094e101ca
BLAKE2b-256 fc549bfda87ef2e1ce496a203e0d40bd9a193349aeb816871faf95c395a91d3a

See more details on using hashes here.

File details

Details for the file cot_suite-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: cot_suite-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 67.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for cot_suite-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 efc34a9861cd884fd5b300cc3ee2765b9a1b0549f3b3f044bf2f1c0494973ff9
MD5 2f3aba97df6f9495a5621575ee06f658
BLAKE2b-256 c29485160f28b0568bdb182da074ffd34e7dc87b6b589a5e6a1d39a59dfa88af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page