Skip to content
CAI
Software that uses CAICheck a score

cmeeren/Faqt

58.9

Weak · 3 October 2026

4.5k

lines of production code

F#

primary language

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

Faqt is a .NET assertion library for F\# that provides a comprehensive suite of extension methods for validating subjects, including basic equality, collections, enums, and HTTP responses. It supports multi-targeting across .NET 5, 7, and 8, and includes specialized features for thread-local configuration, YAML-based failure diagnostics, and optimized sequence operations. The system is accompanied by a benchmark suite for performance measurement and extensive test coverage to ensure reliability.

Features

Add Faqt agent skills for testing and release workflows

New agent skills have been added to guide users in writing F\# tests with Faqt 6.x and in preparing/publishing Faqt releases. The Faqt skill provides guidance on fluent assertions, derived value aliases, and exception handling. The release-faqt skill automates the NuGet and GitHub release process, including a new wait-for-nuget script to verify package availability.

.agents · high confidence

Add benchmark suite for sequence operations

A new benchmark project has been added to measure the performance of sequence operations. It compares the default \Seq.length\ and \Seq.isEmpty\ implementations against optimized versions (\Seq.stringOptimizedLength\ and \Seq.stringOptimizedIsEmpty\) for both character arrays and strings, using BenchmarkDotNet with memory diagnostics.

src/Faqt.Benchmarks · high confidence

Initial project structure and documentation for Faqt 6.0.0

This change establishes the foundational structure for the Faqt assertion library, introducing the main README, detailed documentation in DOCUMENTATION.md, and contribution guidelines in CONTRIBUTING.md. It adds a LICENSE file and configures the build environment with a .NET 10 SDK constraint (global.json), an .editorconfig for consistent formatting, and Directory.Build.props to enforce reproducible builds via DotNet.ReproducibleBuilds 1.2.25. The solution is now managed using the new SLNX format (Faqt.slnx), and a nuget.config is provided to streamline package restoration.

(repo-wide) · high confidence

Initial release of Faqt assertion library

Introduces the Faqt testing assertion library for F\#, providing a comprehensive set of extension methods for validating subjects. The library includes basic equality checks (Be, NotBe), reference equality (BeSameAs), null checks, and boolean assertions (BeTrue, BeFalse). It adds specialized assertions for enums (HaveFlag), GUIDs (BeEmpty), nullable types (HaveValue), and functions (Throw, Roundtrip). Collection support covers sequences (Contain, BeEmpty, BeDistinct) and dictionaries (Contain, HaveSameItemsAs, AllSatisfy). HTTP testing capabilities are included via HttpResponseMessageAssertions for status codes and headers, along with configuration options for HTTP content formatting and header masking. The library uses YAML-based output for failure diagnostics and supports thread-local configuration.

src/Faqt · high confidence

Behavioural changes

Agent skills directory symlinked

The .claude/skills path is now a symbolic link pointing to ../.agents/skills, centralizing agent skill definitions in the .agents directory while maintaining the expected location for Claude Code.

.claude · high confidence

Test coverage

Added tests for global configuration and formatter overrides; Comprehensive test coverage for Faqt assertion library.

Dependencies

Faqt 6.0.0: Multi-targeting and dependency updates

The Faqt library has been updated to version 6.0.0, now targeting .NET 5, 7, and 8 to broaden compatibility. Internal dependencies have been upgraded, including FracturedJson to 4.0.3, FSharp.SystemTextJson to 1.3.13, and YamlDotNet to 16.1.3. Additionally, new project files introduce a benchmark project (Faqt.Benchmarks) targeting .NET 9 with BenchmarkDotNet 0.14.0, and test projects (Faqt.Tests, Faqt.GlobalConfigTests) targeting .NET 9 with xUnit 2.9.2 and Microsoft.NET.Test.Sdk 17.12.0.

(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 49 → 59 (+10.1)
  • Rubric changed (rubric-2026.09.13 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 65 → 86 (+21.6)
  • Architecture 42 → 99 (+57.2)
  • Maturity 59 → 59 (+0.2)
  • Readiness 47 → 47 (+0.0)
  • Security 75 → 67 (-8.0)
  • Performance 90 (new)

Resolved (1)

  • Documentation: no installation or build instructions (README.md)

New (1)

  • End-of-life runtime: .NET net9.0

Changes since last survey

  • 3 commits — 3 feature/other, 0 fixes

By area

  • (root) — 1 commit
  • .agents/skills — 1 commit
  • .claude/skills — 1 commit

Notable commits

  • change: Clarify derived value aliases in Faqt skill
  • change: Document that BeJsonEquivalentTo compares numbers as written
  • change: Share agent skills with Claude Code

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

Survey your own repository

cmeeren/Faqt 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 08e38956dd003614a143171e1dcdc0845f781249 — 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.