Kyorai/cuttlefish
65.0
Weak · 2 October 2026
9.8k
lines of production code
Erlang
primary language
2
measurements over time
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.