Skip to content
CAI
Software that uses CAICheck a score

george-silva/django-event-sourcing

50.3

Adequate · 22 September 2026

194

lines of production code

Python

primary language

6

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Python-based application that implements the event sourcing architectural pattern, utilizing Event and Aggregate models to manage state through a sequence of events. It provides a testable framework for handling order creation and status transitions, supported by a refactored dependency structure that explicitly relies on Django and modern testing tools.

Behavioural changes

Introduced Event and Aggregate models for event sourcing

The event\_sourcing module now includes Python classes for Event and Aggregate, supporting the event sourcing pattern. The Event class provides a simple key-value storage with equality checks and a persist method, while the Aggregate class manages a list of events and applies them during initialization. A utility function method\_dispatch is added to support single dispatch. Additionally, legacy static files (CSS, JS), templates, URLs, and views are removed, indicating a shift away from the previous implementation.

_event\sourcing · high confidence

Test coverage

Added tests for the event-sourcing aggregate implementation

Added new tests for the \Order\ aggregate class in \tests/test\_aggregates.py\, covering order creation, status changes, and multiple order instances. Removed the previous placeholder tests in \tests/test\_models.py\ and the unused \tests/urls.py\ file.

tests · high confidence

Dependencies

Updated Python dependency manifests

The project's dependency files have been refactored. The main requirements file now explicitly lists Django as a dependency. The development requirements file now includes the main requirements file and specifies versions for bumpversion and wheel. The test requirements file has been simplified to include the main requirements file and specific test packages (pytest, pytest-cov), removing older test dependencies like coverage, mock, flake8, tox, and codecov.

(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

Score

  • CAI 49 → 50 (+1.7)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 (new)
  • Architecture 69 → 69 (+0.0)
  • Maturity 29 → 36 (+7.4)
  • Readiness 50 → 43 (-7.1)
  • Security 98 → 99 (+0.8)

Resolved (9)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High CVE: [GHSA redacted] (requirements_dev.txt)
  • No exposed public API
  • Test reliability not included
  • complexity unreadable for .py — churn × complexity hotspots could not be measured
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient
  • single-maintainer — knowledge-concentration (bus factor) risk

New (5)

  • Dependency hygiene PARTLY measured — Python dependencies read, no exact pin to grade for currency
  • Documentation: no project overview (README.rst)
  • High CVE: [GHSA redacted] (requirements_dev.txt)
  • No ADRs found
  • No dependency advisory monitoring

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

Survey your own repository

george-silva/django-event-sourcing 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 22 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 3e88eaa83c12e3550832e75cf1e74820fc40e64c — 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-821afab8930d.