Skip to content
CAI
Software that uses CAICheck a score

Dias1c/lem-in

36.2

Weak · 20 September 2026

1.1k

lines of production code

Go

with JavaScript

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a pathfinding application that uses Suurballe's algorithm to calculate minimum-step disjoint paths for ants on a graph. It provides both a command-line interface for processing map files and a web server mode that exposes an API and visualizes the results. The codebase includes a core engine for graph parsing and pathfinding, along with a collection of predefined map datasets for testing and demonstration.

Features

Add public API wrappers for lemin and web packages

New public wrapper functions have been added to expose internal capabilities. The \pkg/lemin\ package now provides \RunProgramWithFile\, \WriteResultByFilePath\, and \WriteResultByContent\ to handle program execution and result writing, while \pkg/web\ exposes \RunServer\ to start the web server. A README has also been added to the \pkg\ directory to document these available packages.

pkg · high confidence

Added new map data files and documentation

The maps directory now includes a README explaining the subdirectory structure (audit, bhandari, custom, default, planets) and adds numerous new map definition files across these categories, including audit examples, bhandari-specific maps, custom layouts, default maps (such as classic-v1 and large big\\.txt sets), and planet-themed maps like mars and pylone.

maps · high confidence

Initial release of the lemin pathfinding engine and web interface

This change introduces the core application logic for the 'lemin' project, including the \internal/lemin/anthill\ package which implements graph parsing, validation, and shortest disjoint pathfinding (using a Suurballe-based algorithm) for ant movement simulation. It also adds the \internal/web\ package, providing an HTTP server with static asset serving, route handling, and an API endpoint (\/api/lemin\) to process map data and return results, along with the necessary frontend assets (CSS, JavaScript, SVG icons) and templates to render the user interface.

internal · high confidence

Introduce command-line interface with HTTP server and file mode

The application now accepts command-line arguments to determine its execution mode. Users can run the program in 'lem-in' mode by passing a filename directly, or switch to a web server mode by providing the --http flag with a port number. If flags are used, the --file flag can also be specified to run the program with a specific input file within the web context. This change consolidates the entry point logic, replacing previous implicit behavior with explicit flag-based configuration.

cmd · high confidence

Project initialization with core algorithm and web visualization

The repository is initialized with the 'lem-in' project, introducing a console application that uses Suurballe's algorithm to distribute ants along minimum-step paths in a graph. The codebase includes the core logic (replacing the initial main.go stub), a new MIT license, and a README detailing usage. A significant behavioral addition is the support for a web-based visualization mode, accessible via the \--http=:port\ flag, which allows users to graphically represent their graph results.

(repo-wide) · high confidence

Removals

Removal of lemin package source files

The lemin package source files (errors.go, program.go, public.go, and terrain.go) have been deleted from the repository. This removes the implementation for parsing terrain data, counting ants, and running the program logic associated with this module.

lemin · 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 38 → 36 (-1.4)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 87 → 90 (+3.4)
  • Architecture 69 → 69 (+0.0)
  • Maturity 54 → 54 (+0.0)
  • Readiness 15 → 15 (+0.0)
  • Security 100 → 100 (-0.5)
  • Accessibility 43 → 40 (-3.1)

Resolved (6)

  • Dependency hygiene not measured — no supported dependency manifest was read
  • No exposed public API
  • early-stage repository — too few commits for a meaningful bus factor
  • early-stage repository — too little history to judge knowledge freshness
  • setNodes (cognitive 38) (internal/web/public/assets/js/graph.js)
  • setNodes (cyclomatic 18) (internal/web/public/assets/js/graph.js)

New (8)

  • Documentation: no architecture or design documentation (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Graphs.setNodes (cognitive 39) (internal/web/public/assets/js/graph.js)
  • Graphs.setNodes (cyclomatic 18) (internal/web/public/assets/js/graph.js)
  • Graphs.setSteps (cognitive 18) (internal/web/public/assets/js/graph.js)
  • Medium CVE: GO-2022-0433 (go.mod)
  • No ADRs found

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

Survey your own repository

Dias1c/lem-in 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 20 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 dec46cf0f930fd2b254ae0c158a332e46c0712ff — 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.