work-capital/workflow
45.7
Weak · 21 September 2026
598
lines of production code
Elixir
primary language
7
measurements over time
What this system is
This system is an event-sourced workflow engine that manages aggregate state through a dispatcher and persistence layer. It has been refactored from a single-storage architecture to support multiple storage backends via an adapter pattern. The codebase now includes domain models for account and conference workflows, supported by comprehensive test coverage for persistence and storage components.
Features
Introduce event sourcing infrastructure with ExtremeDB adapter
The library now includes a complete event sourcing foundation, featuring a \Container\ to manage aggregate state, a \Dispatcher\ to route commands, and a \Persistence\ layer that handles event replay and storage. An adapter pattern is implemented via \Workflow.Storage\ to interact with the ExtremeDB event store, including a mapper for serializing events. The previous \Engine\ application and \Engine.Serializer\ have been removed or restructured.
lib · high confidence
Removals
Removed legacy CQRS engine components
Deleted the entire \lib/engine\ directory, including the \Engine.Bus\, \Engine.EventStore\, \Engine.Repository\, and related macros (\AggregateHandler\, \GenAggregate\, etc.). This removes the previous single-storage event sourcing implementation, clearing the way for the new multi-storage event store architecture.
lib/engine · high confidence
Behavioural changes
Migrated configuration from :engine to :workflow
The application's configuration has been restructured to support multiple storage backends. The previous :engine configuration, which defined node connections and snapshot periods, has been removed from the main config and environment-specific files. In its place, a new :workflow configuration has been introduced, specifying the adapter as Workflow.Extreme.Adapter. The :extreme event store driver settings remain unchanged, while the :mix\_test\_watch configuration has been removed from the test environment.
config · medium confidence
Removed legacy Account.Aggregate and related command/event modules
The monolithic Account.Aggregate module, along with its associated command wrappers (CreateAccount, DepositMoney, WithdrawMoney), event definitions (AccountCreated, MoneyDeposited, MoneyWithdrawn, PaymentDeclined), and the Command handler, have been removed from the codebase. This deletion is part of a refactoring effort to connect to multiple storages, indicating a shift away from the previous single-storage, single-aggregate implementation.
lib/account · medium confidence
Test coverage
Added domain test fixtures for account and conference workflows; Added test coverage for persistence, repository, and storage components; Removed obsolete test files in test/engine.
Dependencies
Upgrade workflow engine to version 0.2.0 and update dependencies
The main Elixir project (mix.exs) has been upgraded from version 0.1.0 to 0.2.0, with the application name changed from :engine to :workflow. Dependencies have been updated: :extreme was upgraded from 0.6.0 to 0.7.1, and :exdoc was added as a dev dependency. Several other dependencies (:mongodb, :poolboy, :sweet\_xml, :syn, :calendar) were removed, while :uuid and :logger\_file\_backend were added. The package metadata (description, maintainers, licenses) was also added.
(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
Score
- CAI 46 → 46 (-0.1)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 99 (-1.1)
- Architecture 69 → 69 (+0.0)
- Maturity 44 → 44 (+0.0)
- Readiness 26 → 26 (+0.0)
- Security 100 → 100 (+0.0)
Resolved (6)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — no supported dependency manifest was read
- No exposed public API
- Test reliability not included
- early-stage repository — too few commits for a meaningful bus factor
- early-stage repository — too little history to judge knowledge freshness
New (7)
- Dependency hygiene PARTLY measured — Mix pinning read, dependency currency not (Hex registry unreachable)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (16 lines × 2) (lib/extreme/serialization.ex)
- No dependency lockfile committed (mix.exs)
- TodoComment (lib/extreme/serialization.ex)
- TodoComment (lib/serialization.ex)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
work-capital/workflow 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 21 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 d6f8918cd433b018dc65eb3a9662ae165e2d3e36 — 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-b84573e22831.