Skip to content
CAI
Software that uses CAICheck a score

for-GET/katt

59.8

Adequate · 2 October 2026

2.7k

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

KATT is an API testing framework that executes sequential HTTP request scenarios defined in KATT Blueprint files. It provides a CLI and library for parsing these blueprints, sending requests via the hackney client, and validating responses against expected values. The system supports importing tests from HAR files and includes robust type validation and runtime expression evaluation capabilities.

Features

Added example API blueprints and HAR conversion documentation

The documentation now includes several example API Blueprint (\.apib\) files demonstrating how to write and structure test scenarios, including a comprehensive checkout flow, examples against httpbin.org and mocky.io, and a specific case for handling content-type mismatches. Additionally, an example HAR file is provided to illustrate the new \from-har\ CLI feature, which allows users to convert browser HAR recordings into KATT blueprints. The overview documentation has also been updated to reflect the tool's purpose as a sequential HTTP request tester with response verification.

doc · high confidence

Initial release of KATT API testing framework

This entry introduces the KATT (Klarna API Testing Tool) for the first time. It provides a CLI and library for running API test scenarios defined in KATT Blueprint files. Key capabilities include parsing blueprints via a Neotoma-generated parser, executing HTTP requests using the hackney client, and validating responses against expected values. The framework supports JSON and application/x-www-form-urlencoded body parsing, recall of stored parameters into requests, and type validation (including sets, runtime values, and runtime validations). It also includes a HAR import feature (katt from-har) to convert HAR files into KATT blueprints.

src · high confidence

Introduce KATT blueprint type definitions

Added include/blueprint\_types.hrl to define the core data structures for the KATT blueprint parser. This introduces records for katt\_request, katt\_response, katt\_transaction, and katt\_blueprint, establishing the type system for handling HTTP methods, URLs, headers, and binary bodies. It also defines transaction parameters and supports UTF-8 strings for descriptions and names, providing the foundational schema for parsing and executing API blueprints.

include · high confidence

Behavioural changes

Migration to rebar3 and introduction of build modes

The project has migrated from rebar2 to rebar3, replacing the legacy GNUmakefile with a new Makefile that manages the build process. This change introduces two new build configurations: BARE\_MODE, which allows building KATT with minimal dependencies by excluding optional libraries like hackney and jsx, and DEV\_MODE, which includes development-only dependencies such as meck for testing. The dependency structure is now explicitly separated into required, optional, and dev-only categories in rebar.config.

(repo-wide) · high confidence

Test coverage

Added test suite for KATT blueprint parsing and runtime validation

Added comprehensive EUnit tests for the KATT blueprint parser and runtime validation logic. The new test files cover parsing API names, descriptions, and transactions with Unicode support, as well as runtime scenarios including \runtime\_value\ comparisons (Erlang expressions and shell commands), strict and unlimited \set\ type validation, and handling of unexpected or undefined response fields.

test · 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

Score

  • CAI 63 → 60 (-3.0)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 98 → 98 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 49 → 59 (+10.3)
  • Readiness 68 → 47 (-20.7)
  • Security 69 → 69 (+0.0)

Resolved (6)

  • Coverage not measured — no coverage collector is wired up
  • Documentation: no contributor guidance (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Further orphaned files (smaller)
  • Orphaned knowledge (src/katt_util.erl)

Changes since last survey

  • 1 commits — 1 feature/other, 0 fixes

By area

  • (root) — 1 commit

Notable commits

  • change: update OTP support

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

Survey your own repository

for-GET/katt 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 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 577bb1efc6d0fe0ae64f371b3ccb5093dfce68d5 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.