Skip to content
CAI
Software that uses CAICheck a score

woylie/flop_phoenix

77.7

Strong · 3 October 2026

2.9k

lines of production code

Elixir

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Phoenix library that provides declarative HEEx components for building sortable tables, pagination, and filter forms. It replaces legacy view helpers with a modern API that integrates Flop meta structs directly into Phoenix HTML forms. The library handles the rendering of table structures, pagination links, and filter inputs while managing associated state and error handling.

Behavioural changes

Configure Phoenix JSON library and Flop Phoenix table options

The application now explicitly sets Jason as the JSON library for Phoenix and configures the Flop Phoenix library to use a custom table options function from the application's CoreComponents module.

config · high confidence

Major API overhaul: Phoenix components replace legacy view helpers

The library has been refactored from legacy Phoenix.HTML view helpers into modern Phoenix function components (HEEx templates). The main module is now named \Flop.Phoenix\ and exposes declarative components for pagination, sortable tables, and filter forms. This change introduces a new API surface where users pass attributes and slots (e.g., \on\_paginate\, \on\_sort\, \path\) instead of using route helper functions directly, and requires importing \Phoenix.HTML.Form\ for form field handling. Existing code using the old \FlopPhoenix\ module or its \pagination/4\ function will break and must be migrated to the new component-based syntax.

lib · high confidence

Major refactoring of Flop.Phoenix components and API

The Flop.Phoenix library has been significantly refactored to align with modern Phoenix conventions. The table and pagination components now use HEEx templates with declarative assigns and slots, replacing previous attribute-based approaches. A new \Flop.Phoenix.FormData\ implementation allows \Flop.Meta\ structs to be used directly with \Phoenix.HTML.Form\ and \inputs\_for\, simplifying filter form construction. Error handling is improved with dedicated exception types (\InvalidFilterFieldConfigError\, \NoMetaFormError\, \PathOrJSError\) that provide clear guidance on required attributes like \path\ or \on\_paginate\/\on\_sort\. The API for configuring table columns and pagination links has been streamlined, with options like \live\_event\ renamed to \event\ and \live\_target\ to \target\, and support added for custom attributes on table rows, cells, and pagination links via new options like \tbody\_td\_attrs\ and \page\_link\_attrs\.

_lib/flop\phoenix · high confidence

Test coverage

Added comprehensive test suite for Flop.Phoenix form data and pagination; Added test support components and routing for form filtering; Added test support infrastructure for Flop.Phoenix; Added test support module for Flop.Schema behavior; Comprehensive test suite for Flop.Phoenix components.

Dependencies

Major dependency upgrade and Elixir 1.14 requirement

The project has been upgraded to require Elixir 1.14 and significantly updated its dependencies to align with modern Phoenix standards. Key changes include upgrading Phoenix LiveView to version 1.1, Phoenix HTML to version 4.0, and Flop to version 0.29. Development and testing tooling has also been updated, with Credo, Dialyxir, ExDoc, and Stream Data all receiving major version bumps. Additionally, new dev dependencies for syntax highlighting in documentation (Makeup CSS, Diff, EEX, HTML) have been added, and the package metadata now includes links to the changelog and sponsor page.

(dependencies) · high confidence

Housekeeping

Repository tooling and documentation overhaul

The repository has been restructured with new configuration files including a Prettier ignore list, a Renovate bot configuration for automated dependency updates, and a generated Credo linting configuration derived from the elixir\_baseline preset. A SECURITY.md policy has been added to direct vulnerability reports through coordinated disclosure channels. Additionally, the formatter configuration has been updated to include the Phoenix LiveView HTML formatter and specific HEEx component locals, while the changelog has been expanded to document the full history of the library's pagination, table, and filter components.

(repo-wide) · 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 78 → 78 (-0.0)
  • Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 99 → 97 (-1.5)
  • Architecture 100 → 100 (+0.0)
  • Maturity 59 → 59 (+0.0)
  • Readiness 90 → 91 (+0.7)
  • Security 100 → 100 (-0.3)

Resolved (1)

  • Documentation: no architecture or design documentation (README.md)

New (4)

  • Documentation: no architecture or design documentation
  • Medium CVE: EEF-[CVE redacted] (mix.lock)
  • Repeated repair: lib/flop_phoenix/form_data.ex (lib/flop_phoenix/form_data.ex)
  • TooManyFunctions: Meta (lib/flop_phoenix/form_data.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

woylie/flop_phoenix 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 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 647c9cd00d86d436fc3b2ff0a5c029d9d9eb5534 — the exact code this score is about.
  • Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-8fe32cd45d00.