for-GET/katt
59.8
Adequate · 2 October 2026
2.7k
lines of production code
Erlang
primary language
2
measurements over time
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.