Skip to content
CAI
Software that uses CAICheck a score

inaka/katana-code

63.9

Adequate · 2 October 2026

2.2k

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is an Erlang library designed for static source code analysis and transformation. It provides capabilities to parse Erlang source code while preserving preprocessor directives, convert compiled beam files back into source code, and evaluate expressions. The library ensures compatibility with recent Erlang/OTP releases by supporting syntax features from versions 25 through 29.

Features

Initial project setup and configuration

The repository has been initialized with a standard Erlang/OTP project structure using rebar3. This includes a new \rebar.config\ file defining the build profile, dependencies (such as \erlfmt\, \rebar3\_hex\, and \rebar3\_ex\_doc\), and tooling configurations for dialyzer, xref, and linting. A \CHANGELOG.md\ file has been added to direct users to the GitHub releases page, and the \README.md\ has been updated with a project description and contact information. Additionally, an \elvis.config\ file has been introduced to enforce code style rules, and the \.gitignore\ has been updated to exclude standard build artifacts.

(repo-wide) · high confidence

Initial release of katana\_code for Erlang source analysis

Introduces the katana\_code library, providing functions to process Erlang code without expanding preprocessor directives. The core \ktn\_code\ module exposes an API to parse source strings or binaries into a structured parse tree (\parse\_tree/1\), convert compiled beam files back to source code (\beam\_to\_string/1\, \beam\_to\_erl/2\), and evaluate expressions (\eval/1\). The underlying \ktn\_dodger\ module implements a custom parser that bypasses the standard Erlang preprocessor, allowing macros and preprocessor directives to be preserved in the syntax tree rather than expanded. A lightweight \ktn\_io\_string\ module supports this by providing an in-memory IO server for reading source content.

src · high confidence

Test coverage

Added Common Test suite for ktn\_code parsing and OTP version features; Added test files for OTP 27, 28, and 29 syntax features.

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 64 → 64 (+0.0)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 93 → 93 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 38 → 38 (+0.1)
  • Readiness 78 → 78 (+0.0)
  • Security 100 → 100 (+0.0)

Resolved (2)

  • Coverage not measured — no coverage collector is wired up
  • Hotspot: src/ktn_dodger.erl (src/ktn_dodger.erl)

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

Survey your own repository

inaka/katana-code 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 adfd1463e9316b47797fe7b55cff8cb7eeac368c — 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.