Skip to content
CAI
Software that uses CAICheck a score

ForNeVeR/Fenrir

61.8

Adequate · 3 October 2026

2.6k

lines of production code

F#

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a .NET-based toolkit for interacting with Git repositories, comprising a low-level library for object parsing and pack file management, a modular UI framework, and a command-line application. It provides capabilities for initializing repositories, traversing commit histories, verifying data integrity, and browsing repository contents through a console interface. The project is structured as a modular solution targeting .NET 9, with comprehensive test coverage for core Git operations.

How it got here

2020 — Modular architecture and UI framework

8 changes.

The project underwent a significant structural reorganization, splitting the codebase into modular components and upgrading to .NET 9. This period also introduced the Fenrir.Ui.Framework with core infrastructure and controls, while simultaneously expanding the test suite to cover the refactored Git library operations.

2021–2025 — Core library and UI development

5 changes.

This period focused on establishing the foundational Fenrir.Git library for low-level repository operations and implementing a console-based UI for browsing refs, commits, and files. The work also included adding CLI commands for repository inspection and introducing CI scripts for version detection and file encoding validation.

Features

Initial release of Fenrir.Ui.Framework core infrastructure

This change introduces the foundational components of the Fenrir.Ui.Framework library, providing the base infrastructure for UI development. It includes a ViewModelBase class implementing INotifyPropertyChanged with support for property change notifications, a LoadableViewModelBase for managing loading states, and utility modules for handling asynchronous execution and property change events. Additionally, it adds console-specific initialization logic for Windows environments and a custom synchronization context to bridge async operations with the UI thread.

Fenrir.Ui.Framework · high confidence

Introduce Fenrir.Git library for low-level Git repository operations

The Fenrir.Git library is introduced, providing a comprehensive set of functions to interact with Git repositories at a low level. This includes capabilities to initialize new repositories, read and write commit objects, traverse commit histories, and manage Git references (including reading HEAD and packed refs). It also features efficient access to Git pack files via a new PackIndex implementation, support for verifying pack file integrity, and a hardened SHA-1 hashing module to ensure data integrity.

Fenrir.Git · high confidence

Introduce initial UI for browsing Git refs, commits, and files

The application now includes a basic console-based interface for navigating a Git repository. Users can view a list of refs (branches/tags), select a ref to see its associated commits, and select a commit to view its file tree. This is implemented via new ViewModel and XAML files for Refs, Commits, and Files, wired together in the application entry point to display three synchronized windows.

Fenrir.Application/Ui · high confidence

New BindableListBox and LoadableWrapper controls

Added two new UI controls to the framework: BindableListBox, which extends ListBox to propagate SelectedItemIndexChanged changes via property notifications, and LoadableWrapper, a container that displays a centered 'Loading…' placeholder while its content is unavailable and reveals the child control once loading is complete.

Fenrir.Ui.Framework/Controls · high confidence

New CI scripts for version detection and file encoding validation

Added two new PowerShell scripts to the CI pipeline: Get-Version.ps1 determines the project version by parsing git tags or falling back to Directory.Build.props, and Test-Encoding.ps1 enforces UTF-8 encoding without BOM and LF line endings across text files, with an optional autofix mode.

scripts · high confidence

New CLI commands and UI model for repository inspection

The application now exposes several new command-line operations for inspecting and modifying Git repositories, including \print-commits\ to list commit hashes and messages, \verify-pack\ to check pack file integrity, and \update-commit\ to modify a file within a specific commit. Additionally, the \ui\ command's underlying data access has been refactored into dedicated models (\GitRepositoryModel\, \TreeItemModel\) that handle asynchronous reading of refs, commits, and recursive tree structures, enabling the UI to present repository contents more efficiently.

Fenrir.Application · high confidence

Removals

Removal of Fenrir entry point

The main entry point for the Fenrir application has been removed, eliminating the previous startup behavior that printed the version string "Fenrir ver 0.0".

Fenrir · high confidence

Behavioural changes

Fenrir library v1.1.0 release with breaking API changes and bug fix

This release introduces significant breaking changes to the public API, including the introduction of \Fenrir.Git.Sha1Hash\ for hash values, \TruePath.LocalPath\ for file system paths, and a shift to asynchronous I/O operations. The API has been reorganized into new modules (\Commits\, \Objects\, \Trees\) with many functions renamed or moved, and several legacy modules (\Commands\, \DeltaCommands\, \Tools\, etc.) removed. A fix addresses an "Invalid hash" error when traversing repositories with multiple pack files. The project also updates its documentation structure, adds a contributor guide, and configures license compliance via REUSE.

(repo-wide) · high confidence

Test coverage

5 commits adding/updating tests in Fenrir.Tests/Data/objects; Added comprehensive test suite for Fenrir Git operations; Added test fixtures for Git reference structures.

Dependencies

Add docfx .NET global tool and license annotation

The project now includes the docfx documentation generator as a .NET global tool (version 2.81.0) via a new dotnet-tools.json configuration file, enabling local documentation generation. A corresponding license file has been added to annotate the MIT license for the new tool configuration.

.config · high confidence

Project structure reorganized and upgraded to .NET 9

The repository has been restructured from a single project into a modular solution: the core Git library is now in Fenrir.Git, the application entry point in Fenrir.Application, and tests in Fenrir.Tests. The main library and application targets .NET 9.0, while the UI framework targets .NET Standard 2.0. Key dependencies have been updated, including FSharp.Control.AsyncSeq to 4.15.0, JetBrains.Lifetimes to 2026.3.1, and Microsoft.NET.Test.Sdk to 18.10.1.

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

Lenses

  • Code Health 87 → 87 (+0.0)
  • Architecture 99 → 100 (+0.4)
  • Maturity 48 → 48 (+0.0)
  • Readiness 68 → 68 (+0.0)
  • Security 74 → 69 (-5.2)

Resolved (3)

  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • Off-boarding risk: anonymized user #1

New (2)

  • Documentation: no architecture or design documentation (docs/Application.md)
  • Off-boarding risk: anonymized user #1

Changes since last survey

  • 4 commits — 4 feature/other, 0 fixes

By area

  • .config/dotnet-tools.json — 2 commits
  • .github/workflows — 1 commit
  • Fenrir.Git/Fenrir.Git.fsproj — 1 commit

Notable commits

  • change: Update dependency JetBrains.Lifetimes to 2026.3.1
  • change: Update dependency docfx to v2.80.1
  • change: Update dependency docfx to v2.81.0
  • change: Update dependency ubuntu to v26

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

Survey your own repository

ForNeVeR/Fenrir 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 bd6a0f5d9eab72ccf6a064d35f2215e7eed8c27d — 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.