PathFinder.CalculationKernel 1.0.0

dotnet add package PathFinder.CalculationKernel --version 1.0.0
                    
NuGet\Install-Package PathFinder.CalculationKernel -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PathFinder.CalculationKernel" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PathFinder.CalculationKernel" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="PathFinder.CalculationKernel" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PathFinder.CalculationKernel --version 1.0.0
                    
#r "nuget: PathFinder.CalculationKernel, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PathFinder.CalculationKernel@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PathFinder.CalculationKernel&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=PathFinder.CalculationKernel&version=1.0.0
                    
Install as a Cake Tool

PathFinder Calculation Kernel

This repository is the public source boundary for PathFinder's calculation kernel and accuracy benchmark. Its purpose is narrow: a pinned release must let an unauthenticated reader rebuild the same calculation package PathFinder consumes and reproduce the published benchmark from versioned cases and archived reference evidence.

Releases

Each release is an immutable Git tag vX.Y.Z. Its GitHub release page, https://github.com/deliqs/pathfinder-calculation-kernel/releases/tag/vX.Y.Z, carries the certification bundle (packages/, reproduction/, benchmark/, SBOM, SHA256SUMS) and the NuGet package PathFinder.CalculationKernel at the same version. The current package version is declared in Directory.Build.props.

Reproduce against a tag:

git clone --branch <tag> --depth 1 https://github.com/deliqs/pathfinder-calculation-kernel.git

Compare benchmark/results/results.sha256 with the certification bundle. Verify a downloaded nupkg SHA-256 against SHA256SUMS.

Boundary

The public package covers benchmark-exercised calculations, including Placidus, Koch, Regiomontanus, and Campanus house calculations. It does not publish PathFinder's APIs, authentication, databases, interpretation and RAG systems, prompts, user data, billing, UI, infrastructure, or deployment configuration.

Runtime calculation dependencies are deliberately limited to:

JPL Horizons, IANA time-zone data, and Swiss Ephemeris are external references, not PathFinder components. Swiss software is not distributed here. A live Swiss refresh requires the user to obtain swetest separately and comply with Swiss Ephemeris licensing. See THIRD_PARTY_NOTICES.md before redistributing benchmark evidence.

Clean build

Prerequisites:

  • .NET SDK 10.0.300, pinned by global.json.
  • Network access to https://api.nuget.org for the initial locked package restore.
  • No private feed, credential, secret, PathFinder service, or Swiss binary is required to build and test the repository.
dotnet restore PathFinder.CalculationKernel.slnx --locked-mode
dotnet build PathFinder.CalculationKernel.slnx --no-restore -c Release -warnaserror
dotnet test PathFinder.CalculationKernel.slnx --no-build -c Release
dotnet pack src/PathFinder.CalculationKernel/PathFinder.CalculationKernel.csproj --no-build -c Release

Reproduce the frozen benchmark

After the clean build, run the benchmark without network access:

dotnet run --project tools/PathFinder.AccuracyBenchmark --no-build -c Release -- \
  reproduce --offline --output artifacts/reproduction/local

The output path must be new and outside benchmark/. The command verifies all 78 archived reference artifacts against the frozen manifest: 58 JPL response/header files, nineteen Swiss raw stdout files, and one minimal derived version-identification file. It performs no HTTP calls and does not execute Swiss Ephemeris. It writes canonical results, their checksum, normalized references, and a manifest binding the calculation output to the public kernel source. See benchmark/README.md for the exact published counterparts and current checksum.

Refresh reference candidates

Live refresh writes review candidates only. It requires a new output directory outside benchmark/ and never rewrites the frozen revision:

dotnet run --project tools/PathFinder.AccuracyBenchmark -c Release -- \
  refresh-jpl --output artifacts/candidates/jpl

LC_ALL=C TZ=UTC dotnet run --project tools/PathFinder.AccuracyBenchmark -c Release -- \
  refresh-swiss --swetest /absolute/path/to/swetest --output artifacts/candidates/swiss

Successful candidates contain raw provider output, provider-specific reference and normalized JSON, and a drift report. A Swiss candidate leaves source and build claims unverified until they are manually reviewed during explicit frozen-dataset promotion.

Claims discipline

The intended release claim is benchmark-scoped: the published calculation benchmark is reproducible from public source at an immutable release, and private PathFinder consumes that exact package. Within that boundary, the public inputs, external evidence, runner, kernel source, methodology, tolerances, outputs, and errors support the phrase fully independent-source reproducibility.

This is not a prediction-accuracy claim, a claim that every PathFinder component is open source, or a guarantee that mutable third-party services will always return identical live responses. Passing a declared tolerance is a conservative regression and compatibility result, not proof of sub-arcsecond accuracy. In particular, house rows allow 3,600 arcseconds and station rows allow 360 minutes; an all-pass summary must not be presented as universal sub-arcsecond agreement.

License and security

First-party software and documentation are MIT licensed. Third-party material retains its own terms; see THIRD_PARTY_NOTICES.md and LICENSES/. Report vulnerabilities according to SECURITY.md.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 134 9/5/2026