iwillspeak/Firethorn
67.7
Adequate · 3 October 2026
593
lines of production code
F#
primary language
2
measurements over time
What this system is
Firethorn is a .NET library that implements a green and red syntax tree architecture for parsing and representing code structures. It provides immutable green trees for efficient node sharing and position-aware red trees for source location tracking, along with debug utilities for tree inspection. The system includes a recursive-descent parser example for Lambda Calculus and is built with a focus on structural equality and caching.
Features
Initial Lambda Calculus example
Added a new example demonstrating a Lambda Calculus parser and AST implementation. The example includes a lexer and recursive-descent parser that constructs a Green tree for lambda abstractions, applications, and identifiers, along with corresponding syntax node wrappers for accessing the parsed structure.
examples · high confidence
Initial project scaffolding and build configuration
This change introduces the foundational build infrastructure for the Firethorn project. It establishes a .sln solution file organizing the main library, tests, and examples, alongside a Directory.Build.props file that configures NuGet packaging (including icons and READMEs), versioning via MinVer, and source link integration. A .gitignore file is added to exclude build artifacts and IDE settings, while a README documents the Green/Red tree architecture and API. Additionally, a nuget.config is created to define package sources.
(repo-wide) · high confidence
Introduce green and red syntax tree infrastructure with debug support
Firethorn now includes the core data structures for its syntax tree, separating immutable structural nodes (GreenTree) from position-aware syntax nodes (RedTree). The green tree provides a cache for efficient node sharing and a builder for parsing, while the red tree wraps these nodes with source offsets and ranges. A new debug module allows developers to walk and pretty-print the syntax tree structure to the console or a string.
src/Firethorn · high confidence
Test coverage
Added tests for Green and Red tree implementations
Added a new test suite in \test/Firethorn.Tests\ that validates the core syntax tree structures. The tests cover \GreenCache\ behavior (caching and distinctness of tokens and nodes), \GreenTree\ construction and structural equality, \GreenNodeBuilder\ operations (including error handling for unbalanced calls), and \RedTree\ features such as root creation, child enumeration, tree walking, and equality checks for shared nodes.
test · high confidence
Dependencies
Migrate to .NET 10 and update FSharp.Core
The project has been upgraded to target .NET 10 (net10.0) across the library, test, and example projects. The FSharp.Core dependency has been pinned to version 10.1.203 in the main library project, and the test project now references updated versions of xUnit (2.9.3), Microsoft.NET.Test.Sdk (18.4.0), and coverlet.collector (10.0.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 68 → 68 (-0.6)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 91 → 92 (+1.2)
- Maturity 67 → 67 (+0.0)
- Readiness 60 → 60 (+0.0)
- Security 76 → 72 (-4.7)
Resolved (1)
- Documentation: no installation or build instructions (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
iwillspeak/Firethorn 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 062f4c93e41491ff86ce208139855027ad9dfb9c — 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.