Quatzal.Client 0.1.0-alpha.1

This is a prerelease version of Quatzal.Client.
dotnet add package Quatzal.Client --version 0.1.0-alpha.1
                    
NuGet\Install-Package Quatzal.Client -Version 0.1.0-alpha.1
                    
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="Quatzal.Client" Version="0.1.0-alpha.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Quatzal.Client" Version="0.1.0-alpha.1" />
                    
Directory.Packages.props
<PackageReference Include="Quatzal.Client" />
                    
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 Quatzal.Client --version 0.1.0-alpha.1
                    
#r "nuget: Quatzal.Client, 0.1.0-alpha.1"
                    
#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 Quatzal.Client@0.1.0-alpha.1
                    
#: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=Quatzal.Client&version=0.1.0-alpha.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Quatzal.Client&version=0.1.0-alpha.1&prerelease
                    
Install as a Cake Tool

Quatzal.Client (C#)

Dependency-free .NET client for Quatzal — a local-first vector + graph database that records who vouched for every fact and when it stopped being true. Talks to a Quatzal server over the MCP Streamable-HTTP transport using only System.Text.Json; no third-party packages.

dotnet add package Quatzal.Client
using var client = new UaceClient(new Uri("https://quatzal.example.com:8443"), token,
    new UaceClientOptions { CaCertificatePem = File.ReadAllText("dev-root.pem") });

// Bulk ingest — one WAL fsync per batch, ~500 rows is the sweet spot
var n = await client.InsertRowsAsync(rows);

// Search with the evidence contract
var resp = await client.SearchVectorsAsync(new SearchParams { K = 10, QueryVector = q, MaxDistance = 0.5 });
if (resp.SufficientEvidence == false)
    Console.WriteLine(resp.Message); // honest "no relevant rows" instead of junk hits

// Graph — search hits feed expansion directly
await client.AddEdgeAsync("doc-1", "doc-2", "cites", 1.0);
var neighbors = await client.ExpandGraphAsync(seeds, hops: 2, k: 10);

Notes that matter

  • Vectors go over the wire as vector_b64 (base64 little-endian f32) automatically.
  • Score polarity flips: squared-Euclidean distance (lower is better) for vector queries, BM25/RRF (higher is better) once QueryText is involved. The payload carries no discriminator, so the caller must know which query shape it sent.
  • hit.Stale == null means the row never declared an expiry — that is not the same as false.
  • Tool refusals throw UaceToolException; bad credentials UaceAuthException; unknown tools UaceRpcException.
  • Connection reuse is off by default (safe for bulk ingest); opt in with KeepAlive = true.
  • Self-signed deployments: pin the root via CaCertificatePem; the validation callback uses CustomRootTrust.

The type names keep the Uace prefix — that is the project's original internal name, and renaming the public API would break every existing caller for no functional gain.

Status

Pre-release (0.1.0-alpha.1), tracking Quatzal 0.1.0. Quatzal's data formats are not yet stable; treat a store as reproducible from its source data rather than as an archive.

License

Apache-2.0. Quatzal is open core — the separately licensed commercial modules are not part of this package, and nothing in the client depends on them.

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.
  • net10.0

    • No dependencies.

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
0.1.0-alpha.1 48 8/2/2026

First public pre-release, tracking Quatzal 0.1.0. Covers the MCP tool surface: rows and batched ingest, vector and hybrid BM25/RRF search with the evidence contract, trust tiers and staleness, graph expansion and claim verification, computations and attestation. Data formats are pre-release and may change without migration.