Skip to content
CAI
Software that uses CAICheck a score

tforkmann/AzureTackle

48.8

Weak · 3 October 2026

1.4k

lines of production code

F#

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a .NET-based library and documentation site focused on Azure Table Storage interactions. It provides a modernized SDK for managing table storage operations, including row key sorting and query filtering, while maintaining a comprehensive test suite. The project also includes a static site for documentation, built with Vite and Tailwind.

Features

Introduces shared utility for Azure Table Storage row key sorting

A new shared module has been added to the AzureTackle project to provide helper functions for managing Azure Table Storage row keys. This includes utilities to convert DateTime objects into sorted string representations suitable for table storage queries and to reverse the process, along with references to the necessary FSharp.Core and Azure.Data.Tables libraries.

src/AzureTackle.Shared · high confidence

Behavioural changes

Migrate from WindowsAzure.Storage to Azure.Data.Tables SDK

The AzureTackle library has switched its underlying Azure Table Storage client from the legacy Microsoft.WindowsAzure.Storage.Table SDK to the modern Azure.Data.Tables SDK. This change removes the old \DynamicTableEntity\-based row reader and reflection modules, replacing them with a new filter DSL and connection abstractions built on \TableClient\ and \TableServiceClient\. Users will need to update their filter queries to use the new \AzureFilter\ types and ensure their code references the updated \Azure.Data.Tables\ package.

src/AzureTackle · high confidence

Upgrade to .NET 10 and modernize build tooling

The project has been upgraded to target .NET 10 (SDK version 10.0.100), as reflected in the updated global.json and release notes for version 3.0.0. The build system has been modernized by replacing the legacy FAKE script (build.fsx) and associated shell scripts (build.cmd, build.sh) with a new F\# build file (Build.fs) and a Helpers module, while also removing the Azure Pipelines configuration. Additionally, the documentation site has been migrated from Yarn/Webpack to npm/Vite, supported by new Vite, Tailwind, and PostCSS configuration files.

(repo-wide) · high confidence

Test coverage

Updated Azure Table storage tests to use Azure.Data.Tables SDK

The test suite in tests/AzureTackle.Tests has been migrated from the legacy Microsoft.WindowsAzure.Storage.Table SDK to the modern Azure.Data.Tables SDK. This change updates the test data model to include additional fields (ValidFrom, ValidTo, Exists, ValueDecimal) and replaces the previous batch-insert-and-read logic with specific unit tests for insert, read with filters, read without filters, and timestamp retrieval. The test project dependencies were also updated to include Azure.Data.Tables and Microsoft.Extensions.Configuration.Json.

tests · 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 61 → 49 (-12.2)
  • Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (-0.2)
  • Architecture 99 → 100 (+0.5)
  • Maturity 51 → 59 (+8.2)
  • Readiness 58 → 58 (+0.0)
  • Security 65 → 65 (+0.0)
  • Accessibility 30 (new)

Resolved (3)

  • Documentation: written for insiders (README.md)
  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)

New (2)

  • High CVE: [GHSA redacted] (package-lock.json)
  • High CVE: [GHSA redacted] (package-lock.json)

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

Survey your own repository

tforkmann/AzureTackle 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 f5a26c71844585043770e4f7450ec004557dc12a — 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-4f4226d619ea.