Skip to content
CAI
Software that uses CAICheck a score

rema424/hexample

54.3

Adequate · 21 September 2026

1.1k

lines of production code

Go

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Add MySQL database adapter and random string generation package

Users can now connect to MySQL databases using the new \pkg/mysql\ package, which provides a \Config\ struct and a \Connect\ function to establish database connections with configurable defaults. Additionally, a new \pkg/random\ package was introduced to generate random strings, offering both a standard \String\ function and an optimized \StringPreOptimized\ variant, accompanied by performance benchmarks.

pkg · high confidence

Add application core logic for service1

A new file, service1.go, has been added to internal/service1, introducing the AppCoreLogic function. This function processes an AppCoreLogicIn struct containing 'From' and 'Message' fields, printing them to the console along with a header. This represents the initial implementation of the service's core business logic.

internal/service1 · high confidence

Add service2 domain layer with database and mock implementations

Added the internal/service2 package containing the Person model, a Repository interface, and concrete implementations (Gateway for SQL/MySQL and MockGateway for testing). The Gateway uses sqlx to persist and retrieve Person records, while the Provider orchestrates calls to the Repository interface, enabling dependency injection for the service layer.

internal/service2 · high confidence

Add service3 module with account and transfer functionality

The service3 package introduces a new domain for managing bank accounts and transfers. It defines an Account model and a Repository interface that abstracts database operations. The implementation includes a Gateway struct that handles SQL execution, including a lock-based query for transfers, and a MockGateway for testing. The Provider layer enforces business rules, such as preventing transfers to oneself and checking for sufficient funds, and wraps operations in transactions to ensure data consistency.

internal/service3 · high confidence

Added CLI entry point and root command

A new CLI application has been introduced, consisting of a main entry point and a root command that invokes core application logic. Users can now execute the command-line interface to interact with the system's primary functionality.

cmd/cli · high confidence

Added a temporary 'tmp' command entry point

A new Go file at cmd/tmp/main.go was added, introducing a temporary command that initializes a context and calls hexample.Run with a hardcoded message. This appears to be an experimental or work-in-progress entry point rather than a permanent feature.

cmd/tmp · high confidence

Initial project structure and configuration

The repository was initialized with a new project structure, including environment configuration for a MySQL database, database schema definitions, and a README with setup instructions. The codebase introduces a Go application using hexagonal architecture, featuring a main entry point that integrates with external packages and services.

(repo-wide) · high confidence

Introduce HTTP server with dependency injection for controllers

Added the HTTP server entry point (cmd/httpwire) which exposes endpoints for messaging, person registration, account opening, and money transfer. The controllers are wired together using Google's Wire library for dependency injection, replacing the previous manual instantiation of service providers and controllers.

cmd/httpwire · high confidence

Launch HTTP server with new /people and /accounts endpoints

The application now exposes an HTTP server (cmd/http) using the Echo framework, wiring controllers for message handling, person registration and retrieval, and account management (opening accounts and transferring money). The main entry point registers routes for /:message, /people, and /accounts endpoints, connecting to a MySQL database via sqlx and sqlxx, and includes unit tests for the controller and server setup.

cmd/http · high confidence

Dependencies

Added Go module definitions for the CLI and tmp packages

Introduced \go.mod\ and \go.sum\ files for the root module and the \cmd/tmp\ subdirectory. The root module declares dependencies on the Echo web framework, Google Wire for dependency injection, sqlx for database access, and Cobra for CLI handling. The \cmd/tmp\ module references a private \hexample\ package, establishing the project's Go module structure and external library requirements.

(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 51 → 54 (+3.0)
  • Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 98 → 97 (-1.3)
  • Architecture 100 → 81 (-18.9)
  • Maturity 52 → 52 (+0.0)
  • Readiness 28 → 39 (+11.8)
  • Security 89 → 76 (-12.7)
  • Domain Modelling 85 → 85 (+0.0)

Resolved (14)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • Duplicated block (10 lines × 2) (cmd/http/controller/controller2.go)
  • Duplicated block (11 lines × 2) (cmd/http/main.go)
  • Duplicated block (16 lines × 2) (cmd/http/controller/controller3.go)
  • Duplicated block (17 lines × 2) (cmd/http/controller/controller2.go)
  • Duplicated block (18 lines × 2) (cmd/http/controller/controller3.go)
  • No exposed public API
  • OSV Dependency Vulnerabilities not included (check did not complete)
  • Test reliability not included
  • early-stage repository — too little history to judge knowledge freshness
  • git history depth insufficient
  • git history depth insufficient
  • single-maintainer — knowledge-concentration (bus factor) risk

New (36)

  • Critical CVE: [GHSA redacted] (go.sum)
  • Critical CVE: [GHSA redacted] (go.mod)
  • Dependency pinned to a stale untagged commit: github.com/rema424/hexample
  • Dependency pinned to a stale untagged commit: github.com/rema424/sqlxx
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no project overview (README.md)
  • Duplicated block (12 lines × 2) (cmd/http/main.go)
  • Duplicated block (13 lines × 2) (cmd/http/controller/controller2.go)
  • Duplicated block (21 lines × 2) (cmd/http/controller/controller3.go)
  • Duplicated block (22 lines × 2) (cmd/http/controller/controller2.go)
  • Duplicated block (23 lines × 2) (cmd/http/controller/controller3.go)
  • Duplicated block (9 lines × 2) (cmd/http/main.go)
  • High CVE: [GHSA redacted] (go.sum)
  • High CVE: [GHSA redacted] (go.sum)
  • High CVE: [GHSA redacted] (go.sum)
  • High CVE: [GHSA redacted] (go.sum)
  • High CVE: [GHSA redacted] (go.sum)
  • High CVE: [GHSA redacted] (go.sum)
  • Medium CVE: [GHSA redacted] (go.sum)
  • Medium CVE: GO-2021-0226 (cmd/tmp/go.mod)
  • …and 16 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

rema424/hexample 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 c87b40afa960e64d11075ae0766b544e117a1912 — 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.