Skip to content
CAI
Software that uses CAICheck a score

HashNuke/hound

57.8

Adequate · 23 September 2026

1.9k

lines of production code

Elixir

primary language

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Hound is a browser automation library for Elixir that provides a high-level API for controlling web browsers via WebDriver. It supports multiple browser backends, including Chrome, Firefox, and PhantomJS, and offers comprehensive helpers for managing sessions, interacting with page elements, and handling browser events. The system includes robust test coverage and automated WebDriver startup scripts to facilitate reliable end-to-end testing.

Features

New browser automation helpers for cookies, dialogs, elements, and more

The Hound library introduces a comprehensive set of new helper modules to interact with the browser, including Hound.Helpers.Cookie for managing cookies, Hound.Helpers.Dialog for handling JavaScript alerts and prompts, and Hound.Helpers.Element for element inspection and interaction. Additional helpers have been added for navigation (Hound.Helpers.Navigation), page source and title retrieval (Hound.Helpers.Page), mouse events (Hound.Helpers.Mouse), browser orientation (Hound.Helpers.Orientation), saving pages (Hound.Helpers.SavePage), taking screenshots (Hound.Helpers.Screenshot), executing JavaScript (Hound.Helpers.ScriptExecution), managing browser sessions (Hound.Helpers.Session), and controlling browser windows and frames (Hound.Helpers.Window).

lib/hound/helpers · high confidence

Behavioural changes

Refactor browser capabilities and session management

The library now uses a new \Hound.Browser\ behaviour to define browser-specific capabilities and user agents, with dedicated modules for Chrome, Chrome Headless, Firefox, PhantomJS, and a default fallback. Session management has been refactored to use a GenServer (\Hound.SessionServer\) backed by ETS for tracking sessions per process, replacing the previous protocol-based approach. This change simplifies session creation and cleanup, and allows for configurable retry logic and browser-specific capabilities.

lib/hound · high confidence

Session management moved to dedicated helper module

Session management functions (start\_session, end\_session, current\_session\_id) are now delegated to the Hound.Helpers.Session module, providing a cleaner public API for users to manage browser sessions.

lib · medium confidence

Test coverage

Added comprehensive test coverage for Hound components; Added comprehensive test coverage for browser automation helpers; Added sample HTML pages for testing; Added test coverage for browser implementations; Automated WebDriver startup script for tests.

Dependencies

Update Hound to v1.1.1 with Elixir 1.4+ and modern dependencies

Hound is updated to version 1.1.1, requiring Elixir 1.4.0 or higher. The library now uses \hackney\ for HTTP requests and \jason\ for JSON parsing, replacing previous dependencies like \httpoison\ and \poison\. Documentation tooling is updated to use \ex\_doc\ 0.16+ and \earmark\ 1.2+.

(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 65 → 58 (-6.9)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (-0.1)
  • Architecture 100 → 100 (+0.0)
  • Maturity 50 → 50 (+0.0)
  • Readiness 57 → 45 (-11.9)
  • Security 98 → 79 (-19.2)

Resolved (7)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — no supported dependency manifest was read
  • Duplicated block (8 lines × 2) (lib/hound/helpers/page.ex)
  • High CVE: [GHSA redacted] (mix.lock)
  • No exposed public API
  • Test reliability not included
  • dormant codebase — no living knowledge left to concentrate

New (12)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Duplicated block (8 lines × 2) (lib/hound/helpers/page.ex)
  • High CVE: [GHSA redacted] (mix.lock)
  • No SBOM
  • No artifact signing
  • No build provenance
  • No dependency advisory monitoring
  • Outdated: ex_doc
  • Outdated: jason
  • Retired release: earmark
  • TodoComment (lib/hound/helpers/window.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

HashNuke/hound 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 23 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 1be61d4d4d16aa8d49026d993866a038d5f3b629 — 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-955b9cee9818.