Skip to content
CAI
Software that uses CAICheck a score

Martin521/Runfs

71.3

Strong · 3 October 2026

520

lines of production code

F#

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Runfs is a tooling utility that executes F\# source files by constructing and building virtual MSBuild projects in memory. It dynamically interprets special reference directives within the code to configure SDK imports, package dependencies, and project references without requiring physical project files on disk. The system manages a local cache of build artifacts to optimize performance and includes comprehensive test coverage for its parsing and execution logic.

Features

Introduce in-memory MSBuild execution for F\# source files

The \src/Runfs\ module now executes F\# source files by constructing a virtual MSBuild project in memory, allowing builds without requiring a physical \.fsproj\ file on disk. It parses special \\#r\_\ directives (such as \\#r\_sdk\, \\#r\_package\, \\#r\_dll\, \\#r\_source\, and \\#r\_project\) from the source code to dynamically configure the build, including SDK imports, package references, and project references. The tool manages a local cache of build artifacts and dependency hashes to optimize subsequent runs, and invokes the MSBuild API directly to restore and build the virtual project before executing the resulting DLL.

src/Runfs · high confidence

Removals

Removed F\# console script

The F\# console script (Program.fs) in the src/fsx directory has been removed, eliminating the 'Hello from F\#' output capability previously provided by this file.

src/fsx · high confidence

Behavioural changes

Tooling infrastructure updates and solution restructuring

The development environment has been updated to target .NET 10, with the SDK version in global.json bumped to 10.0.400 and the test runner configured to Microsoft.Testing.Platform. The solution structure was reorganized: the main project was renamed from 'fsx' to 'Runfs', a dedicated 'Runfs.Tests' project was added, and the solution file was renamed to runfs.sln. Additionally, the Directory.Build.props file was corrected from a typo (Props to props), and new files were added to .gitignore.

(repo-wide) · high confidence

Test coverage

Added test fixtures for directive parsing and serialization; Added unit and integration tests for directive parsing and script execution.

Dependencies

Upgrade to .NET 10 and update build dependencies

The project has been upgraded to target .NET 10.0, affecting the main application, the test suite, and example projects. This change includes updating the Microsoft.Build packages to version 17.14.28 and 1.10.2, and switching the test framework to xunit.v3 (version 3.2.2).

(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 72 → 71 (-0.7)
  • Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.

Lenses

  • Code Health 97 → 97 (+0.0)
  • Architecture 100 → 96 (-4.4)
  • Maturity 80 → 80 (+0.0)
  • Readiness 58 → 58 (+0.0)
  • Security 83 → 80 (-3.3)

Findings

  • No change — the same findings as the prior survey.

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

Survey your own repository

Martin521/Runfs 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 6f3c4dd81242a62d740c282385913b85a3f34b4a — 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.