quantum-elixir/quantum-core
59.1
Adequate · 23 September 2026
2.4k
lines of production code
Elixir
primary language
5
measurements over time
What this system is
This system is a distributed cron-scheduler library for Elixir that manages the lifecycle of scheduled jobs across cluster nodes. It utilizes a GenStage-based architecture to broadcast time-based events and execute jobs according to configurable strategies like All, Local, or Random. The library provides observability through telemetry events for job operations and ensures reliability by persisting job state and validating configurations at startup.
Features
Added telemetry event definitions for job lifecycle
The Quantum scheduler now exposes telemetry events for job operations, including add, update, delete, start, stop, and exception. This allows users to monitor job execution metrics and track job state changes through the TelemetryRegistry integration.
lib · high confidence
Initial configuration setup for logging and time zones
The application now includes a base configuration file that enables comprehensive console logging metadata (including crash reasons) and configures the Elixir time zone database to use Tzdata. Additionally, a Credo configuration file is introduced to enforce code style rules, such as a maximum line length of 120 characters, while explicitly disabling the check for missed logger metadata keys.
config · high confidence
Initial project scaffolding and tooling configuration
This release establishes the foundational structure for the Quantum cron-scheduler library. It introduces standard Elixir development tooling, including a \.formatter.exs\ for code formatting and a \.tool-versions\ file pinning Erlang 29.1.1 and Elixir 1.20.4. The project also adds a comprehensive \.gitignore\ to exclude build artifacts, documentation, and lock files, alongside a \dialyzer.ignore-warnings\ file to handle static analysis noise. Documentation is standardized with a new \README.md\ and a detailed \CHANGELOG.md\ tracking history from v1.0.0 through v3.4.0.
(repo-wide) · high confidence
Behavioural changes
Added placeholder for PLT files
A new .gitkeep file has been added to the priv/plts directory. This ensures the directory is tracked by version control, likely in preparation for storing Precompiled Lookup Tables (PLTs) used by tools like Dialyzer, although no actual PLT files or configuration changes are present in this change.
priv · low confidence
Replaced GenStage-based execution pipeline with a new ClockBroadcaster and ExecutionBroadcaster architecture
The internal scheduling engine has been restructured to use a dedicated \ClockBroadcaster\ (a GenStage producer) that emits time-based events, which are consumed by the \ExecutionBroadcaster\ to manage job execution timelines. This new pipeline replaces the previous execution model, introducing separate stages for job broadcasting, node selection, and execution supervision. The change also introduces a \Quantum.Storage\ behavior for persisting job state and last execution times, and adds configurable run strategies (\All\, \Local\, \Random\) to control how jobs are distributed across cluster nodes.
lib/quantum · high confidence
Test coverage
Added comprehensive test suite for Quantum v2 core components; Added startup validation tests for job configuration.
Dependencies
Update Elixir requirement and dependency versions for Quantum 3.5.3
The project now requires Elixir 1.15 or higher. Dependencies have been updated to align with the 3.5.3 release: \crontab\ is set to \\~\> 1.2\, \gen\_stage\ accepts \\~\> 0.14\ or \\~\> 1.0\, \telemetry\ accepts \\~\> 0.4.3\ or \\~\> 1.0\, and \telemetry\_registry\ is set to \\~\> 0.2\. Development tools \dialyxir\, \credo\, and \excoveralls\ have also been updated to their latest compatible versions.
(dependencies) · high 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 51 → 59 (+7.6)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 99 (-0.1)
- Architecture 100 → 99 (-0.6)
- Maturity 44 → 49 (+4.9)
- Readiness 71 → 83 (+12.1)
- Security 38 → 47 (+9.8)
Resolved (18)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — no supported dependency manifest was read
- Duplicated block (12 lines × 3) (lib/quantum/clock_broadcaster.ex)
- Duplicated block (13 lines × 2) (lib/quantum/job_broadcaster.ex)
- Duplicated block (9 lines × 2) (lib/quantum/job_broadcaster.ex)
- Duplicated block (9 lines × 2) (lib/quantum/job_broadcaster.ex)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- Test reliability not included
- dormant codebase — no living knowledge left to concentrate
New (45)
- Dependency hygiene PARTLY measured — Mix pinning read, dependency currency not (Hex registry unreachable)
- Documentation: no architecture or design documentation (README.md)
- Duplicated block (12–17 lines × 3) (lib/quantum/clock_broadcaster.ex)
- Duplicated block (13 lines × 2) (lib/quantum/job_broadcaster.ex)
- Duplicated block (7 lines × 2) (lib/quantum/job_broadcaster.ex)
- Duplicated block (8 lines × 2) (lib/quantum/job_broadcaster.ex)
- Duplicated block (8 lines × 2) (lib/quantum/run_strategy/all.ex)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 25 more
Changes since last survey
- 6 commits — 6 feature/other, 0 fixes
By area
- (root) — 3 commits
- .github/workflows — 3 commits
Notable commits
- change: Bump step-security/harden-runner from 2.20.0 to 2.20.1 (#713)
- change: Bump step-security/harden-runner from 2.20.1 to 2.21.0 (#714)
- change: Bump step-security/harden-runner from 2.21.0 to 2.21.1 (#718)
- change: Update dependency elixir to v1.20.4 (#716)
- change: Update dependency erlang to v29.0.6 (#717)
- change: Update dependency erlang to v29.1.1 (#719)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
quantum-elixir/quantum-core 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 29c53c126cb22d148ed17cb6d83588ad832e7a05 — 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.