adacovex 1.23.0

Date: 2026-08-24

Version bumped 1.22.0 -> 1.23.0.

Changes

C1: Dashboard search indexes all tab content and restyled as button

The header search box now indexes full text content across every tab (Overview, Proof, Tests, Compliance, Dependencies, Charts) instead of only dependency names. Search hits show a context snippet and a tab badge, and clicking a hit navigates to the correct tab. The search input is wrapped in .search-wrap with a magnifying-glass icon and a clear button, styled to match the existing .theme-toggle button family so it no longer reads as a bare <input>.

C2: Compliance status shows target level and percentage achieved

The Compliance tab now leads with a gauge that displays the target level (e.g. Target: DAL-C) and the achieved percentage (weighted average of HLR traceability, tests passing, and SPARK level met). The SVG arc reflects the actual percentage, and the breakdown (HLR 85% / Tests 100% / SPARK 100%) is shown below the gauge.

C3: Overview tab visualises tests with column chart

The Overview tab now includes a test category column chart alongside the existing collation cards. Each category is a vertical bar proportional to its test count, with the raw number displayed below the label and colour-coded by pass/fail status.

C4: Charts tab adds polar ring and stacked bar for dependency scopes

The Charts tab now includes two new chart cards:

  • Dependencies by Scope – a polar ring (conic-gradient pie with CSS centre hole) coloured by base/dev/transitive/vendored, with a centre badge showing the total dependency count.

  • Scope Breakdown – a stacked horizontal bar with percentage labels and a legend showing raw counts per scope.

Both cards include raw numbers alongside the visual so the charts never feel made up.

C5: Dependency tree spacing, checkbox size, and icon scale fixed

The dependency tree nodes now have margin: 8px 0 and padding: 10px 14px for comfortable reading. The scope-filter checkboxes are larger (18x18px .box) for better touch targets, and the inline SVG scope pictograms are scaled down to 10x10px so they no longer dominate the label.

C7: Docs gaps filled for non-API workflows

User-facing docs were expanded so common tasks no longer require reading the API reference:

  • docs/installation.md – quick-start section

  • docs/dashboard.md – per-tab walkthrough and chart legend

  • docs/sbom.md – when and why to generate an SBOM, how to read it

  • docs/standards.md – DO-178C / ISO 26262 / IEC 62304 in plain language

  • docs/vcs.md – when differential modes are useful and setup tips

  • docs/ci-cd.md – practical GitHub Actions and GitLab CI examples

C8: Cyclomatic complexity checker ported to Ada

The covex complexity subcommand now runs cyclomatic-complexity analysis directly inside the adacovex binary (previously a standalone Python script). The checker scans src/*.ads and src/*.adb, attributes decision points to top-level subprograms, and enforces the same gates as tools/check-complexity.py (max-file-loc, max-file-pct, max-fn-complexity, max-file-complexity). Exit code is 1 when any gate is violated. make complexity-check now invokes ./bin/adacovex complexity.

C9: Dependency detection expanded for more languages

Discover_System_Dev_Deps now scans source files for C/C++ (.c, .h, .cpp, .hpp, .cc, .cxx), Ruby (.rb), C# (.cs), Java (.java), Rust (.rs), Go (.go), JavaScript/TypeScript (.js, .mjs, .cjs, .ts, .mts, .cts), SCSS/CSS (.scss, .css), and Ada (.ads, .adb). Package-manifest detection covers package.json, Cargo.toml/go.mod, requirements.txt/pyproject.toml, Gemfile, pom.xml, build.gradle, *.csproj, and lockfiles. The System_Tools table grew from 37 to 60 entries (npm, cargo, rustc, go, gcc, g++, clang, javac, mvn, gradle, ruby, dotnet, tsc, sass, scss, rustup, cargo-hack, cargo-watch, ada, alire, etc.).

C10: Playwright e2e dashboard layout tests

A Playwright test suite was added under tests/e2e/ (managed with pnpm). It verifies dashboard header, all seven tabs, theme switching, search box presence, footer content, and responsive layout. Run with make e2e.

Fixes

H1: Long lines in adacovex-renderers-html.adb (style gate)

Lines exceeding the -gnatyM120 limit were wrapped in the dependency-filter checkbox markup and the test pass/fail donut row, restoring the style check.

Test Suite

900 tests passing across 14 categories.

Proof Results

Platinum, 720/720 VCs proved under gnatprove 16.1.0. 0 unproved, 0 justified.

Traceability

No new HLRs. Coverage:

  • HLR-DASH – C1 full-text search, C2 compliance gauge, C3 test columns, C4 polar ring + stacked bar, C5 spacing/checkbox/icon fixes, C6 footer + credits tab;

  • HLR-DOC – C7 docs gap filling across installation, dashboard, SBOM, standards, VCS, and CI/CD guides;

  • HLR-COMPLEXITY – C8 Ada-native cyclomatic complexity checker;

  • HLR-MANIFEST – C9 expanded language/ecosystem detection;

  • HLR-SERVER – C10 Playwright e2e layout tests.

See docs/dashboard.md, docs/sbom.md, docs/standards.md, docs/vcs.md, docs/ci-cd.md, docs/installation.md.