elixirkoans/elixir-koans
66.0
Adequate · 23 September 2026
2.6k
lines of production code
Elixir
primary language
5
measurements over time
What this system is
This system is an interactive educational tool for learning the Elixir programming language through a series of guided exercises known as 'koans'. It provides a structured environment where users fill in code blanks to pass unit tests, covering core language features such as pattern matching, processes, and data structures. The application manages the execution of these exercises, tracks user progress, and formats test results for an improved learning experience.
Features
Add Elixir koans for all core language features
The \lib/koans\ directory now contains 23 new Elixir lesson files (01\_equalities through 23\_pipe\_operator), each providing interactive exercises for a specific language feature. These cover equalities, strings, numbers, atoms, tuples, lists, keyword lists, maps, MapSets, structs, sigils, pattern matching, functions, enums, processes, tasks, agents, GenServers, protocols, comprehensions, control flow, error handling, and the pipe operator. Each file defines a module with \@intro\ documentation and \koan\ assertions that require the learner to fill in blanks to make the tests pass.
lib/koans · high confidence
Elixir Koans project setup and usage documentation
The repository now includes essential project files to support development and usage: a Dockerfile and docker.sh script for containerized execution, a .formatter.exs for Elixir code formatting, a .travis.yml for CI testing across multiple Elixir versions (1.3.4 to 1.7.3), and updated README.md with installation and usage instructions. Additionally, new files include CONTRIBUTORS.md, LICENSE.md, and .dockerignore to support community contributions and legal compliance.
(repo-wide) · high confidence
Behavioural changes
Configure ExUnit timeout settings
The configuration file now explicitly imports the Config module and sets the assert\_receive\_timeout for ExUnit to 100 milliseconds.
config · high confidence
Improved test failure and progress bar output
Test assertion failures now display the left and right hand values when they do not match, and compile errors are formatted more elegantly. Additionally, the progress bar display has been improved to show a visual bar with percentage complete.
lib/display · high confidence
Refactor to a supervised architecture with new Blanks and Display modules
The application is restructured into a supervised tree where the Display module handles all user-facing output, including a progress bar, failure formatting, and congratulations. A new Blanks module manages code transformation for assertions, and the Runner and Tracker modules coordinate execution and state. This replaces the previous flat structure with a more robust, isolated process model for running koans.
lib · medium confidence
Test coverage
Added test coverage for display module components; Added test coverage for the blanks, executor, runner, and tracker components; Added test support files for koan modules; Expanded test coverage for Elixir koans.
Dependencies
Upgrade to Elixir 1.3+ and migrate from exfswatch to file\_system
The project now requires Elixir 1.3 or higher and replaces the retired exfswatch dependency with the file\_system library for file watching. Additionally, the static analysis tool Credo is added as a dev/test dependency, and the build configuration is updated to include the test/support directory during testing.
(dependencies) · medium 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
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 65 → 66 (+1.0)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 100 → 100 (-0.1)
- Maturity 71 → 71 (+0.0)
- Readiness 46 → 50 (+3.8)
- Security 88 → 82 (-5.6)
Resolved (10)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — no supported dependency manifest was read
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium IaC: CKV_DOCKER_3 (Dockerfile)
- Medium IaC: CKV_DOCKER_4 (Dockerfile)
- No exposed public API
- Off-boarding risk: anonymized user #1
- Test reliability not included
New (13)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium IaC: WD-DOCKER-0003 (Dockerfile)
- No SBOM
- No artifact signing
- No build provenance
- No dependency advisory monitoring
- Off-boarding risk: anonymized user #1
- Outdated: credo
- Outdated: file_system
- Unpinned build actions
- Workflow token permissions not restricted
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
elixirkoans/elixir-koans 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 23 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 395eeb3e1c3760f53a7d02f92ae0587f7bf4a9eb — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-955b9cee9818.