Skip to content
CAI
Software that uses CAICheck a score

calf-ai/calfkit-sdk

64.9

Adequate · 22 September 2026

116

lines of production code

Python

primary language

6

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Calfkit is a Python SDK for building durable AI agent teams, featuring a structured architecture for defining agents, tools, and orchestration logic. It provides infrastructure adapters for message brokers like Kafka and databases such as SQLite, alongside specialized agent skills for brainstorming and documentation. The system has been refactored from a legacy monolithic design into a layered, minimal-core package with strict dependency management and comprehensive testing.

Features

New agent skills for brainstorming and documentation

Added two new agent skills: a 'brainstorming' skill that guides users through a structured design process with a browser-based visual companion for interactive mockups, and a 'diataxis-docs-writer' skill that helps create and organize software documentation using the Diátaxis framework.

.agents · high confidence

Removals

Removal of message broker implementations

The \calf/broker\ module has been removed, eliminating the \Broker\ abstract base class and its concrete implementations (\KafkaBroker\ and \MemoryBroker\). Users can no longer use these classes to connect to Kafka topics or manage in-memory message queues for sending and subscribing to messages within the Calf SDK.

calf/broker · high confidence

Removal of simple workflow example

The 'simple\_workflow.py' example demonstrating basic Calf SDK usage, including document processing and event emission, has been removed from the examples directory.

examples · high confidence

Removed deprecated Calf SDK core API and CLI

The \calf\ package has removed its previous core implementation, including the \Calf\ client class, \Message\ model, and the CLI entry point (\calf.cli\). Users can no longer import \Calf\ or \Message\ from the top-level package, nor can they run workflows via the command-line interface using the \local\ or \start\ commands. This change reflects a cleanup of deprecated code and an update to module exports, likely preceding or accompanying a new API structure.

calf · high confidence

Behavioural changes

Introduce durable-agent architecture with new SDK surface

The \src/calfkit\ package has been completely rewritten to implement a durable-agent architecture, replacing the legacy implementation. This change introduces a new framework for building AI agent teams, featuring a structured module layout with public definitions (agents, tools, selections), internal orchestration logic (engine, drive, carriage), and adapters for infrastructure like Kafka, SQLite, and LiteLLM. Users now interact with a new set of core components including the \Worker\ composition root, \TurnContext\, and specific port adapters, fundamentally changing how agent definitions and execution lifecycles are managed.

src/calfkit · high confidence

Test coverage

Added integration test configuration with opt-in markers; Adopt pytest 9 conventions and restructure test suite.

Dependencies

SDK renamed to Calfkit with major dependency and build-system overhaul

The project has been renamed from 'calf-sdk' to 'calfkit' (version 0.13.0) and shifted from a monolithic dependency model to a minimal core with explicit dev-tooling. The runtime dependencies (aiokafka, pydantic, typer) have been removed from the main package, replaced by a new build system using 'uv\_build' (\>=0.9.22,\<0.10.0) instead of hatchling. Development dependencies now include pytest (\>=9.1.1), ruff (\>=0.16.3), and ty (\>=0.0.72), with ruff configuration updated to support Python 3.14 and stricter linting rules. The package structure now enforces a layered architecture via import-linter contracts, ensuring core modules do not import adapters.

(dependencies) · high confidence

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

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 61 → 65 (+4.3)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 75 → 100 (+25.5)
  • Architecture 100 → 69 (-31.0)
  • Maturity 64 → 57 (-7.7)
  • Readiness 70 → 67 (-2.4)
  • Security 51 → 80 (+29.0)

Resolved (269)

  • AGUIAdapter.load_messages (cognitive 63) (calfkit/_vendor/pydantic_ai/ui/ag_ui/_adapter.py)
  • AGUIAdapter.load_messages (cyclomatic 23) (calfkit/_vendor/pydantic_ai/ui/ag_ui/_adapter.py)
  • AbstractAgent._infer_name (cognitive 22) (calfkit/_vendor/pydantic_ai/agent/abstract.py)
  • AbstractAgent.run_stream (cognitive 30) (calfkit/_vendor/pydantic_ai/agent/abstract.py)
  • AbstractAgent.run_stream (cyclomatic 17) (calfkit/_vendor/pydantic_ai/agent/abstract.py)
  • Agent.iter (cognitive 26) (calfkit/_vendor/pydantic_ai/agent/init.py)
  • Agent.iter (cyclomatic 23) (calfkit/_vendor/pydantic_ai/agent/init.py)
  • Agent.override (cognitive 21) (calfkit/_vendor/pydantic_ai/agent/init.py)
  • AgentStream.validate_response_output (cognitive 18) (calfkit/_vendor/pydantic_ai/result.py)
  • AgentWorker._request_parts_from_a2a (cognitive 17) (calfkit/_vendor/pydantic_ai/_a2a.py)
  • AnthropicModel._add_builtin_tools (cognitive 23) (calfkit/_vendor/pydantic_ai/models/anthropic.py)
  • AnthropicModel._limit_cache_points (cognitive 19) (calfkit/_vendor/pydantic_ai/models/anthropic.py)
  • AnthropicModel._map_message (cognitive 100) (calfkit/_vendor/pydantic_ai/models/anthropic.py)
  • AnthropicModel._map_message (cyclomatic 49) (calfkit/_vendor/pydantic_ai/models/anthropic.py)
  • AnthropicModel._map_user_prompt (cognitive 30) (calfkit/_vendor/pydantic_ai/models/anthropic.py)
  • AnthropicStreamedResponse._get_event_iterator (cognitive 62) (calfkit/_vendor/pydantic_ai/models/anthropic.py)
  • AnthropicStreamedResponse._get_event_iterator (cyclomatic 40) (calfkit/_vendor/pydantic_ai/models/anthropic.py)
  • BaseAgentNodeDef.init (cognitive 21) (calfkit/nodes/agent.py)
  • BaseAgentNodeDef.init (cyclomatic 19) (calfkit/nodes/agent.py)
  • BaseAgentNodeDef.run (cognitive 69) (calfkit/nodes/agent.py)
  • …and 249 more

New (25)

  • Dependency hygiene PARTLY measured — Python dependencies read, no exact pin to grade for currency
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • …and 5 more

Changes since last survey

  • 3 commits — 3 feature/other, 0 fixes

By area

  • (root) — 2 commits
  • calfkit/_vendor — 1 commit

Notable commits

  • change: chore: retire the 0.13 docs and clean up after the cutover (#373)
  • change: feat!: born-new cutover to durable agent, delete legacy implementation, and seed src/calfkit (#371)
  • change: test: seed the tests layout and adopt pytest 9 conventions (#372)

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

Survey your own repository

calf-ai/calfkit-sdk 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 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit d50af547356d16ef09f25229f232a669f935a76d — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-821afab8930d.