Skip to content
CAI
Software that uses CAICheck a score

vbfox/MasterOfFoo

64.8

Adequate · 3 October 2026

4.9k

lines of production code

F#

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

BlackFox.MasterOfFoo is a .NET library that provides a printf-style formatting engine for strings, extracted from the F\# compiler's core implementation. It supports standard format specifiers, string interpolation, and dynamic width/precision across multiple .NET versions. The system includes comprehensive compatibility testing to ensure behavior matches the standard FSharp.Core library.

Features

Added TestApp sample application

A new test application has been added to demonstrate the library's capabilities, including reimplementing printf-style formatting for strings, SQL command generation, and colored console output. The app is configured for .NET Framework 4.5.2 and references FSharp.Core and System.Data.SqlClient.

src/TestApp · high confidence

Initial project scaffolding and documentation

The repository is initialized with the core structure for the BlackFox.MasterOfFoo library, including an .editorconfig for consistent code formatting, an Apache 2.0 LICENSE file, and a comprehensive README.md detailing usage, compatibility (.NET Framework 4.6.1, .NET Standard 2.0, .NET 5.0), and API documentation. Build automation is established via build scripts (build.cmd, build.sh) and Paket tooling, while global.json pins the .NET SDK version. Release notes are included to track version history.

(repo-wide) · high confidence

Introduction of MasterOfFoo printf-like formatting engine

This change introduces the core components of the MasterOfFoo library, providing a printf-like formatting capability for .NET. The \MasterOfFoo.fs\ module implements the \doPrintf\ and \doPrintfFromEnv\ functions, which parse format strings and execute printing steps using a \PrintfEnv\ builder, supporting both standard argument paths and captured format strings. The \PrintableElement.fs\ module defines the \PrintableElement\ type and \PrintableElementType\ enum, which represent the individual elements (direct strings, format specifiers, or engine-generated content) passed to the printer environment, including support for dynamic width and precision via star specifiers.

src/BlackFox.MasterOfFoo · high confidence

Behavioural changes

Extracted and adapted F\# compiler printf/sformat core into BlackFox.MasterOfFoo.Core

The Core module now contains a standalone implementation of F\# printf and structured formatting logic, extracted from the F\# compiler (specifically \printf.fs\ and \sformat.fs\). This includes new files \FormatSpecification.fs\ and \PrintfEnv.fs\ that define format specifiers, flags, and the execution environment for format strings, alongside \printf.fs\ and \sformat.fs\ which provide the core formatting engines. The implementation uses culture-independent parsing for interpolated strings and includes \\*\_original.fs\ reference files to assist with future porting and diffing against upstream F\# compiler changes.

src/BlackFox.MasterOfFoo/Core · high confidence

New build system with comprehensive .NET compatibility testing

The build process has been rewritten as a .NET 10 SDK project using FAKE 5, introducing a new compatibility testing matrix that validates the library across .NET SDK versions 3.1 through 10.0 and various FSharp.Core versions. This new system automatically builds and runs test variants in Docker containers to ensure correctness against golden files, while also streamlining CI integration via GitHub Actions and updating the release workflow to handle versioning and NuGet publishing more robustly.

src/BlackFox.MasterOfFoo.Build · high confidence

Standardized build output paths and package metadata

The build system now centralizes configuration via a new Directory.Build.props file, which directs all build artifacts to a dedicated 'artifacts' directory rather than the project's local output folder. This change also standardizes NuGet package metadata (license, description, tags) and enforces strict warning handling across all projects in the solution.

src · high confidence

Test coverage

Add compatibility testing harness for .NET SDK and FSharp.Core versions; Added Expecto-based test suite for string interpolation and formatting.

Dependencies

Upgrade build infrastructure to .NET 10 and FAKE 6.1.4

The build tooling and test harnesses have been upgraded to target .NET 10, with the FAKE build system updated to version 6.1.4. This change includes new compatibility test projects (CompatProgram) designed to validate the library against various .NET SDKs and FSharp.Core versions, ensuring broader compatibility across the supported target frameworks (net461, netstandard2.0, net5.0, net8.0, and net10.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 65 → 65 (-0.5)
  • Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Architecture 100 → 100 (+0.0)
  • Maturity 66 → 66 (+0.0)
  • Readiness 56 → 56 (+0.0)
  • Security 78 → 75 (-3.6)

Resolved (3)

  • Documentation: no contributor guidance (README.md)
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)

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

Survey your own repository

vbfox/MasterOfFoo 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 08e917ee99cbbf326249ae9c9f1e09578ecdf5c2 — 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.