cosmonic-labs/concordance
54.5
Adequate · 21 September 2026
3.6k
lines of production code
Rust
primary language
4
measurements over time
What this system is
Features
Add bank account event catalog with full event and service documentation
The bank account example now includes a complete Event Catalog implementation, providing a structured documentation hub for the domain. This adds configuration files (eventcatalog.config.js, Dockerfile, .gitignore, .dockerignore) and a directory of Markdown and JSON Schema files that document all bank account events (such as AccountCreated, DepositFunds, WireFunds) and services (Bank Account Aggregate, Bank Account Projector, Wire Transfer Process Manager). Users can now view detailed event schemas, summaries, and service descriptions directly within the catalog.
examples/bankaccount/eventcatalog · high confidence
Add bank account example with WADM manifest and documentation
The bank account example now includes a WADM (WebAssembly Deployment Manifest) file that defines the deployment of the projector, aggregate, and process manager components, along with their links to the Concordance and Redis capabilities. Additionally, a README.md file was added to provide step-by-step instructions for running the example, including setup, building components, and linking actors to providers.
examples/bankaccount · high confidence
Added build automation for actors
A new Makefile (build/actor.mk) and README have been added to the build directory, providing automated rules for building, signing, and pushing WebAssembly actors. This introduces a standardized build process for actor components, including support for claims-based signing and registry pushing.
build · high confidence
Added core code generation logic for event sourcing components
The \concordance-gen-core\ crate now provides the internal logic for generating Rust code for event sourcing components. It reads metadata from an event catalog and uses Handlebars templates to generate code for aggregates, process managers, and general event handlers (such as projectors and notifiers). This includes the model definitions, template rendering, and helper functions for formatting names.
crates/concordance-gen-core · high confidence
Added cross-compilation support and build infrastructure for the capability provider
The capability-provider now includes build infrastructure to support cross-compilation for multiple target platforms, including Linux (armv7, aarch64, x86\_64) and macOS (aarch64, x86\_64). This is enabled by the addition of a Cross.toml configuration file and a comprehensive Makefile (provider.mk) that automates the building and packaging of the provider. Additionally, the codegen configuration has been updated to include process\_manager.smithy, reflecting the addition of process manager support.
capability-provider · high confidence
Bank account example with aggregate, process manager, and projector
The bank account example now includes a complete event-sourced implementation: an aggregate that handles commands like creating an account, depositing, withdrawing, and reserving funds; a process manager that orchestrates wire transfers by reserving and committing funds; and a projector that maintains read-optimized balance and ledger views. This provides a working reference for building similar domain models using the new codegen and event sourcing patterns.
examples/bankaccount/aggregate · high confidence
Implemented Concordance provider entry points
Added the bootstrap entry point for the Concordance provider and updated the main provider binary to load host configuration from JSON, connect to NATS, and run the provider loop. This introduces the core runtime logic for the provider, including configuration parsing, logging, and lifecycle management.
capability-provider/src/bin · high confidence
Initial release of Concordance event sourcing framework
The repository has been initialized with the core documentation for Concordance, an open-source, opinionated event sourcing framework from Cosmonic. The README now details the framework's key components, including Aggregates, Projectors, Process Managers, and Stateless Event Handlers, while also establishing CODEOWNERS and OWNERS files to define project maintenance and code review responsibilities.
(repo-wide) · high confidence
Initial release of the Lunar Frontiers example and event catalog
The Lunar Frontiers example is now available, providing a complete demonstration of the Concordance framework for building distributed, event-sourced applications. This includes the core Rust implementation for the Rover Aggregate, which handles rover initialization, movement, and construction commands. Additionally, an Event Catalog has been added to document the application's events (such as RoverInitialized, ConstructionBegan, and ColonyClaimed) and services, offering a visual representation of the system's architecture and data flows.
_examples/lunar\frontiers · high confidence
Introduce \`concordance-gen-macro\` to automate code generation for event-sourced components
The \concordance-gen-macro\ crate now provides a \generate!\ procedural macro that replaces the previous build-script approach for generating core traits and wrapper implementations. This macro accepts \path\, \role\ (aggregate, projector, process\_manager, or notifier), and \entity\ parameters to automatically produce the necessary boilerplate. Example implementations for \rover-procman\ (process manager) and \rover-projector\ (projector) demonstrate the new declarative syntax, allowing developers to define event handlers with less manual coding.
_crates/concordance-gen-macro, examples/lunar\_frontiers/rover-procman, examples/lunar\frontiers/rover-projector · medium confidence
Introduce opt-in Rust code generation for Concordance event sourcing
Developers building Rust applications with Concordance can now use the \concordance-gen\ crate to automatically generate Rust types and traits from EventCatalog or Smithy schemas. The crate provides a \generate!\ macro that reads event flow and schema definitions to produce code for handling events, state, and process managers. It also includes convenience wrappers for \StateAck\, \ProcessManagerAck\, and \StatelessAck\ to simplify handler return values, and generates CBOR serialization/deserialization logic for the \eventsourcing\ model.
crates/concordance-gen · medium confidence
Introduce process manager and stateless event handler interfaces
The eventsourcing interface now supports process managers and stateless event handlers alongside existing aggregates. Process managers can now handle events and return commands to advance or terminate a process, while stateless handlers (such as projectors or notifiers) can process events without maintaining internal state. The Event structure was also updated to explicitly include the event type and payload, and the EventWithState structure was moved to the aggregate interface to better reflect its usage context.
interface · high confidence
Behavioural changes
Refactored consumer stream implementation and added aggregate support
The \capability-provider\ consumers have been refactored to support both command and event delivery to aggregates. The \CommandConsumer\ and \EventConsumer\ now use a shared \impl\_Stream!\ macro to handle stream polling, replacing the previous manual \Stream\ implementations. This change allows aggregates to receive both commands and events, as demonstrated by the updated \ConsumerManager\ logic that routes to the correct consumer based on \InterestConstraint\. Additionally, the \InterestDeclaration\ for aggregates now includes a \key\_field\ and \LinkDefinition\ to support the new aggregate state management.
capability-provider/src/consumers · high confidence
Support for aggregate and process manager state
The capability provider now manages persistent state for both aggregates and process managers. A new \EntityState\ struct handles reading, writing, and deleting state in a NATS key-value store, with separate key prefixes for each role. The \Event\ struct in the interface has been updated to remove the \key\ field, and \EventWithState\ now carries an optional state payload. Workers for aggregates and process managers have been refactored to load state before processing, and save or remove state based on the outcome of the operation.
capability-provider/src · high confidence
Dependencies
Initial commit of Rust code generation and build manifests
Added Cargo manifests and lockfiles for the Rust code generation crates (concordance-gen-core, concordance-gen-macro, concordance-gen) and example projects (bankaccount, lunar\_frontiers), establishing the initial dependency graph and build configuration for the project's Rust tooling.
(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 52 → 54 (+2.2)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 99 → 98 (-1.6)
- Architecture 100 → 91 (-8.5)
- Maturity 58 → 58 (+0.0)
- Readiness 26 → 34 (+8.0)
- Security 82 → 76 (-5.6)
- Domain Modelling 100 → 100 (+0.0)
Resolved (36)
- 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] (capability-provider/Cargo.lock)
- High CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- High vulnerability: [GHSA redacted] (capability-provider/Cargo.lock)
- High vulnerability: [GHSA redacted] (capability-provider/Cargo.lock)
- LLM evaluation failed
- Medium CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: RUSTSEC-2024-0344 (capability-provider/Cargo.lock)
- Medium CVE: RUSTSEC-2025-0055 (capability-provider/Cargo.lock)
- Medium advisory (unmaintained): RUSTSEC-2021-0139 (capability-provider/Cargo.lock)
- Medium advisory (unmaintained): RUSTSEC-2024-0370 (capability-provider/Cargo.lock)
- Medium advisory (unmaintained): RUSTSEC-2024-0375 (capability-provider/Cargo.lock)
- Medium advisory (unmaintained): RUSTSEC-2024-0384 (capability-provider/Cargo.lock)
- …and 16 more
New (74)
- Documentation: no installation or build instructions (README.md)
- Duplicated block (10 lines × 2) (crates/concordance-gen-core/src/model/eventcatalog.rs)
- Duplicated block (16 lines × 3) (capability-provider/src/wcprovider.rs)
- Duplicated block (16 lines × 4) (capability-provider/src/wcprovider.rs)
- Duplicated block (7 lines × 2) (capability-provider/src/workers/notifier.rs)
- Duplicated block (7–9 lines × 2) (capability-provider/src/workers/aggregate_event.rs)
- Duplicated block (7–9 lines × 3) (crates/concordance-gen-core/src/generator/aggregate.rs)
- Duplicated block (8 lines × 2) (capability-provider/src/consumers/command_consumer.rs)
- Duplicated block (9 lines × 2) (capability-provider/src/workers/aggregate_event.rs)
- High CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- High CVE: [GHSA redacted] (crates/concordance-gen/Cargo.lock)
- High CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- High CVE: [GHSA redacted] (crates/concordance-gen/Cargo.lock)
- High CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- High CVE: [GHSA redacted] (crates/concordance-gen/Cargo.lock)
- High vulnerability: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: [GHSA redacted] (capability-provider/Cargo.lock)
- Medium CVE: [GHSA redacted] (crates/concordance-gen/Cargo.lock)
- …and 54 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
cosmonic-labs/concordance 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 6c324f1020c8bd31dff8d006f19fe74c4c2724f3 — 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-28e75b8e3254.