CVSS scores attackers.
OWASP scores attacks.
DEBT scores what code concepts cost developers.
A four-axis risk profile for the cost a programming concept imposes on the developer who uses it. The four kinds of debt your code concepts owe.
== is cognitive debt. Picking microservices early is structural debt. Skipping linting is operational debt. None of these are moral failures — they're engineering decisions with cost profiles. DEBT helps you see the bill before you sign.
The format
That string is the entire format. Compact enough to fit inline next to a concept name, structured enough to query and filter, self-documenting through letter prefixes. Full format spec →
The four axes
Each measures one independent kind of debt. They're independent on purpose — if you can predict one from another, the score is wasting a slot. Each axis carries its own colour throughout the pillar so you can spot which kind is which on sight.
Four kinds of debt — the framing
Every line of code you write incurs at least one form of debt. Not abstract debt — literal cost someone has to pay later. The DEBT axes give that cost a structure.
== in PHP without internalising type juggling is debt against your understanding of what == means.DEBT scores all four kinds at once. Not as a single number — as a profile. A concept with high cognitive debt and low structural debt is fundamentally different from one with low cognitive debt and high structural debt, even if they "feel equally bad."
What's in this pillar
Use it on your project
DEBT is published under CC BY 4.0. You can use it on your own glossary, codebase, or documentation, with attribution to CodeClarityLab.
The format debt(d_/e_/b_/t_) is intentionally distinctive so a score is recognisable in the wild and traceable back to the canonical rubric. Forks, adaptations, and corrections welcome — please link back to codeclaritylab.com/debt as the upstream source.