Skip to content
CAI
Software that uses CAICheck a score

TrueWill/FSM.NET

50.0

Weak · 3 October 2026

407

lines of production code

C#

with F#

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a .NET finite state machine library, primarily implemented in F\# with C\# interoperability support. It provides a stateless FSM engine that parses text-based transition tables, enforcing strict validation rules for state and event names. The codebase includes comprehensive unit tests for both the functional API and CLS compliance, along with sample applications demonstrating integration via WCF services and WinForms clients.

Features

Added sample WCF service and WinForms client

The Samples folder now includes a complete demonstration of the state machine library, featuring a WCF web service (SampleWcfService) that exposes state transitions via an IStateMachineService contract, and a C\# WinForms client (SampleWinFormsApp) that consumes this service to allow users to view the current state, select available events, and trigger transitions.

Samples · high confidence

Initial release of TrueWill.Fsm state machine library

The TrueWill.Fsm library is now available, providing a simple 'stateless' finite-state machine for .NET. Users can define state transitions via a text-based table parsed by the new TransitionTableParser, which supports embedded spaces in state and event names while enforcing strict validation rules (no padding, case-sensitive uniqueness, no duplicate transitions). The public StateMachine class exposes the initial state, available states, and methods to retrieve the next state or available events for a given state, with null checks and validation errors thrown as exceptions.

TrueWill.Fsm · high confidence

Behavioural changes

FSM.NET version 2.0.1 release with NuGet package and license

This update releases version 2.0.1 of the FSM.NET library, introducing support for embedded spaces in state and event names and improved validation logic. The release includes a new NuGet package specification (FSM.NET.nuspec) for easier distribution, an MIT license file, and a Visual Studio 2012 solution file to streamline development and testing.

(repo-wide) · high confidence

Test coverage

Added C\# test suite for state machine validation and CLS compliance; Added unit tests for the functional FSM API, parser, and validation logic.

Dependencies

Initial release of TrueWill.Fsm library with C\# interop samples

This change introduces the core TrueWill.Fsm library (a finite state machine and parser implementation in F\#) alongside sample applications demonstrating its usage from C\#. The package includes a sample WCF web service and a WinForms client to illustrate integration, as well as C\#-based unit tests using xUnit 1.9.1 and FsUnit.xUnit 1.2.1.2. All projects target .NET Framework 4.0 and require Visual Studio 2012 or later for building.

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

Lenses

  • Code Health 100 → 95 (-4.6)
  • Maturity 55 → 51 (-4.1)
  • Readiness 27 → 27 (+0.0)
  • Security 100 → 100 (+0.0)

Resolved (3)

  • Documentation: no usage examples (README.md)
  • High interface indirection
  • Test reliability not measured — test suite did not build

New (1)

  • Build failed

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

Survey your own repository

TrueWill/FSM.NET 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 9124503de58765ee96fa1cdf2f00b816ab3f71aa — 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.