Skip to content
CAI
Software that uses CAICheck a score

headroomlabs-ai/headroom

57.5

Adequate · 29 July 2026

255.1k

lines of production code

Python

with Rust

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

How this codebase got here

Score

  • CAI 57 → 58 (+0.9)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.08.18) — scores are not directly comparable.

Lenses

  • Code Health 76 → 76 (+0.2)
  • Architecture 100 → 100 (+0.0)
  • Maturity 71 → 74 (+3.4)
  • Readiness 56 → 58 (+1.7)
  • Security 64 → 65 (+1.4)
  • Domain Modelling 100 → 100 (+0.0)
  • Accessibility 47 → 47 (-0.1)

Resolved (236)

  • Dependency hygiene not measured — no supported dependency manifest was read
  • Duplicated block (10–11 lines × 2) (headroom/backends/anyllm.py)
  • Duplicated block (10–11 lines × 2) (headroom/learn/plugins/claude.py)
  • Duplicated block (10–11 lines × 2) (headroom/learn/plugins/gemini.py)
  • Duplicated block (10–11 lines × 2) (headroom/memory/bridge.py)
  • Duplicated block (10–11 lines × 2) (headroom/proxy/memory_handler.py)
  • Duplicated block (10–11 lines × 2) (headroom/storage/jsonl.py)
  • Duplicated block (10–12 lines × 2) (headroom/proxy/handlers/openai.py)
  • Duplicated block (10–12 lines × 2) (headroom/proxy/savings_tracker.py)
  • Duplicated block (10–16 lines × 2) (headroom/ccr/response_handler.py)
  • Duplicated block (10–16 lines × 4) (headroom/backends/anyllm.py)
  • Duplicated block (10–17 lines × 2) (headroom/integrations/langchain/chat_model.py)
  • Duplicated block (10–19 lines × 2) (headroom/ccr/response_handler.py)
  • Duplicated block (11–12 lines × 2) (headroom/providers/anthropic.py)
  • Duplicated block (11–12 lines × 2) (headroom/transforms/content_router.py)
  • Duplicated block (11–13 lines × 2) (headroom/image/tile_optimizer.py)
  • Duplicated block (11–13 lines × 2) (headroom/memory/backends/direct_mem0.py)
  • Duplicated block (11–13 lines × 2) (headroom/proxy/handlers/openai.py)
  • Duplicated block (11–13 lines × 2) (headroom/telemetry/toin.py)
  • Duplicated block (11–14 lines × 2) (headroom/lean_ctx/installer.py)
  • …and 216 more

New (279)

  • AnyLLMBackend._to_anthropic_response (cyclomatic 16) (headroom/backends/anyllm.py)
  • Build action pinned to a mutable branch
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (10 lines × 2) (headroom/backends/anyllm.py)
  • Duplicated block (10 lines × 2) (headroom/ccr/response_handler.py)
  • Duplicated block (10 lines × 2) (headroom/learn/plugins/claude.py)
  • Duplicated block (10 lines × 2) (headroom/memory/bridge.py)
  • Duplicated block (10 lines × 2) (headroom/proxy/handlers/openai.py)
  • Duplicated block (10 lines × 2) (headroom/proxy/handlers/openai.py)
  • Duplicated block (10 lines × 2) (headroom/proxy/memory_handler.py)
  • Duplicated block (10 lines × 2) (headroom/proxy/memory_handler.py)
  • Duplicated block (10 lines × 2) (headroom/proxy/savings_tracker.py)
  • Duplicated block (10 lines × 2) (headroom/storage/jsonl.py)
  • Duplicated block (10 lines × 2) (headroom/transforms/kompress_compressor.py)
  • Duplicated block (10 lines × 3) (headroom/memory/adapters/embedders.py)
  • Duplicated block (11 lines × 2) (headroom/backends/anyllm.py)
  • Duplicated block (11 lines × 2) (headroom/cache/base.py)
  • Duplicated block (11 lines × 2) (headroom/cli/proxy.py)
  • Duplicated block (11 lines × 2) (headroom/integrations/strands/model.py)
  • Duplicated block (11 lines × 2) (headroom/lean_ctx/installer.py)
  • …and 259 more

Changes since last survey

  • 66 commits — 26 feature/other, 40 fixes

By area

  • headroom/proxy — 21 commits
  • headroom/transforms — 8 commits
  • (root) — 5 commits
  • headroom/cli — 5 commits
  • docs/content — 4 commits
  • tests/test_cli — 3 commits
  • .github/workflows — 2 commits
  • crates/headroom-core — 2 commits
  • headroom/learn — 2 commits
  • plugins/opencode — 2 commits
  • tests/parity — 2 commits
  • crates/headroom-parity — 1 commit
  • headroom/backends — 1 commit
  • headroom/ccr — 1 commit
  • headroom/copilot_auth.py — 1 commit
  • headroom/dashboard — 1 commit
  • headroom/install — 1 commit
  • headroom/observability — 1 commit
  • headroom/providers — 1 commit
  • headroom/testing — 1 commit

Notable commits

  • fix: fix(backends): don't crash the OpenAI->Anthropic converter on empty choices (#2484)
  • fix: fix(cache): preserve cache_control ttl when re-anchoring a breakpoint (#2651)
  • fix: fix(ccr): sliding idle-window TTL with max-lifetime ceiling in the Rust core backends (#2604) (#2631)
  • fix: fix(cli): warn when Headroom proxy URL leaks into the shell after unwrap claude (#2238) (#2571)
  • fix: fix(codex): detect keyring-backed ChatGPT auth (#2478)
  • fix: fix(compression): report source-line span in CCR compression marker (#2597)
  • fix: fix(copilot): derive GHE credential host from API URL (#800) (#2511)
  • fix: fix(copilot): normalize subscription API routing (#2441) (#2455)
  • fix: fix(dashboard): restore lifetime cache-reads tile and per-project setup hints (#2573)
  • fix: fix(doctor): don't crash on a valid-but-non-object settings.json (#2482)
  • fix: fix(grok): preserve business-seat auth while routing only inference (#2514)
  • fix: fix(image): reuse image models instead of rebuilding them per request (#2513) (#2536)
  • fix: fix(install): default to cache mode, matching headroom proxy (#1893 follow-up) (#2563)
  • fix: fix(install): use CREATE_NO_WINDOW instead of DETACHED_PROCESS on Windows (#2527)
  • fix: fix(kompress): match all ONNX backends with startswith, not exact "onnx" (#2448)
  • fix: fix(kompress): raise the default execution-slot wait (#2456)
  • fix: fix(learn): detect the active OpenCode database (#2587)
  • fix: fix(learn): keep traceback tail in tool-error digest preview (#2596)
  • fix: fix(learn): treat unreadable candidate paths as absent in project decode (#2446)
  • fix: fix(mcp): pin mcp dependency to <2.0.0 to prevent server startup crash (#2642)
  • …and 46 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

headroomlabs-ai/headroom was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 29 July 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit b3f016b866375cfe2ff8518055ab93844e11ec27 — the exact code this score is about.
  • Scored under rubric-2026.08.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer latest.