Skip to content
CAI
Software that uses CAICheck a score

cosmonic-labs/concordance

54.5

Adequate · 21 September 2026

3.6k

lines of production code

Rust

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

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.