Skip to content
CAI
Software that uses CAICheck a score

Kyorai/cuttlefish

65.0

Weak · 2 October 2026

9.8k

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Cuttlefish is an Erlang configuration management library that parses sysctl-style configuration files and applies schema definitions to generate application and VM argument files. It provides a validation system with support for various data types, environment variable substitution, and configuration overlays. The system ensures compatibility across Erlang/OTP versions and includes command-line tools for schema description and validation.

Features

Initial release of Cuttlefish configuration management library

This change introduces the Cuttlefish library (version 3.9.1) for managing Erlang application configurations. It provides a parser for sysctl-style \.conf\ files, a schema definition system with support for various data types (such as integers, strings, booleans, durations, and bytesizes), and a generator that produces \app.config\ and \vm.args\ files. The library includes an escript for command-line operations like schema description and configuration validation, and supports features like configuration file inclusion, environment variable substitution, and advanced configuration overlays.

src · high confidence

New Erlang VM configuration schema for scheduler, port, and thread settings

The priv/erlang\_vm.schema file introduces a new configuration mapping layer for Erlang runtime flags, allowing users to control scheduler threads (erlang.schedulers.total/online), async thread pools (erlang.async\_threads), and concurrent ports (erlang.max\_ports). The schema handles version-specific flag differences (e.g., +Q vs ERL\_MAX\_PORTS for R15 vs R16+), enforces value validators (e.g., max 1024 for schedulers, range 1024-134217727 for ports), and computes friendly byte-size values for stack sizes based on the system word size.

priv · high confidence

Behavioural changes

Cuttlefish v3.9.1: Erlang/OTP 29 compatibility

Cuttlefish v3.9.1 updates the library to support Erlang/OTP 29 by replacing deprecated prefix-catch expressions with standard try...catch...end blocks. The CI matrix now covers Erlang 26 through 29, ensuring the library remains compatible with the latest Erlang releases.

(repo-wide) · high confidence

Test coverage

Added basic schema configuration for escript prune test; Added test fixtures for configuration parsing and Unicode handling; Expanded test coverage for configuration schema 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 67 → 65 (-1.7)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 91 → 91 (+0.0)
  • Architecture 100 → 100 (+0.0)
  • Maturity 56 → 56 (-0.5)
  • Readiness 78 → 58 (-19.9)
  • Security 67 → 83 (+16.7)

Resolved (7)

  • 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)
  • Hotspot: src/cuttlefish_conf.erl (src/cuttlefish_conf.erl)
  • Hotspot: src/cuttlefish_escript.erl (src/cuttlefish_escript.erl)
  • Off-boarding risk: anonymized user #1

New (3)

  • No ADRs found
  • Off-boarding risk: anonymized user #1
  • Unbounded dependency requirement: getopt

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

Survey your own repository

Kyorai/cuttlefish 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 ee0be044d13f1db42a549815f675d0642e597d2c — 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.