Ananke.Federation 0.8.1

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

Ananke.Federation

Federation hub for Ananke. Provides the core abstractions, default implementations, and shared infrastructure that platform adapters (Ananke.Federation.Azure, Ananke.Federation.Google, Ananke.Federation.Anthropic) are built on.

Also ships the local design loop infrastructure — run and test workflows that declare ToolExecutionMode.PlatformNative capabilities on your developer machine or in CI without credentials. See Local design loop below, and Ananke.Federation.LocalEmulators for the full emulator catalogue.

What this package provides

Area Key types
Deployment IFederationDeployer, IDeploymentRegistry, InMemoryDeploymentRegistry, LocalFederationDeployer, DeploymentRecord, DeploymentProfile, DeployOptions
Validation IDeployabilityValidator, DeployabilityValidator, IPlatformValidator, LocalPlatformValidator, IModelMapper, DeployabilityReport, DeployDiagnostic
Execution IPlatformNativeExecutor, PlatformNativeExecutorRegistry
Monitoring IRemoteCellMonitor, RemoteCellMetrics, RemoteCellHealth, MetricsSample, RemoteCellTrend, RemoteMetricsTracker
Hosting FederatedComplexityMonitor, FederatedWorkflowHost, HybridRouter
Division FederatedDivisionPolicy, PlatformDivisionApprovalGate
Prompts ISystemPromptCompiler, ManifestSystemPromptCompiler
Credentials IFederationCredentialProvider

Architecture

Federation follows the supervisor-only hybrid model:

  • Remote cells are self-contained — no cross-boundary tool callbacks.
  • The local OrganicHost supervises all cells (local and remote) through FederatedComplexityMonitor.
  • FederatedDivisionPolicy wraps an inner IDivisionPolicy and sets TargetPlatform on child specs.
  • PlatformDivisionApprovalGate always requires human oversight before any cross-boundary deployment.
  • RemoteMetricsTracker emits OTEL gauges via the Ananke.Federation meter name.

Quick start

// 1. Validate a manifest against a target platform
var validator = new DeployabilityValidator();
DeployabilityReport report = await validator.ValidateAsync(manifest, "azure-ai");
if (report.HasErrors) { /* handle */ }

// 2. Deploy (via a platform adapter)
var deployer = new AzureAgentDeployer(credentials, registry);
DeploymentRecord record = await deployer.DeployAsync(manifest, toolKit, options);

// 3. Wrap your local monitor for federated complexity tracking
var monitor = new FederatedComplexityMonitor(
    localMonitor: myLocalMonitor,
    registry: registry,
    remoteMonitors: [new AzureRemoteCellMonitor()],
    metricsTracker: metricsTracker);

// 4. Use the nnke-platform CLI for day-2 operations
// nnke-platform validate manifest.ananke.yml
// nnke-platform deploy manifest.ananke.yml
// nnke-platform trends --deployment-id <id>
// nnke-platform analyze manifest.ananke.yml --deployment-id <id>

Local design loop

Workflows that target a managed platform can be authored, executed, and tested locally before any deployment. This enables offline authoring, CI without credentials, and fast iteration on platform-native capability usage.

How it works

  1. Declare capabilities as usual with ToolExecutionMode.PlatformNative.
  2. Register emulators from Ananke.Federation.LocalEmulators:
using Ananke.Federation.Execution;
using Ananke.Federation.LocalEmulators;

var registry = new PlatformNativeExecutorRegistry();
DefaultPlatformNativeExecutors.Register(registry);

// Patch a ToolKit so platform-native tools execute locally
registry.ApplyTo(toolKit, platform: "azure-ai");
  1. Deploy locally using LocalFederationDeployer — no network, no credentials:
var deployer = new LocalFederationDeployer(new InMemoryDeploymentRegistry());
var record = await deployer.DeployAsync(manifest, toolKit, new DeployOptions { Platform = "local" });
// record.Platform == "local", record.Status == DeploymentStatus.Active
  1. Validate capability coverage with LocalPlatformValidator:
var validator = new LocalPlatformValidator(registry, new DeployabilityValidator());
var report = await validator.ValidateAsync(manifest, toolKit, "local-emulated:azure-ai");
// FED061 — capability declared but no executor registered
// FED062 — capability is covered by a stub (deterministic, not real)

Routing tier

HybridRouter supports three routing targets:

Target Meaning
"local" Run entirely in-process on the local machine
"azure-ai" / "vertex-ai" / "claude" Deploy to the named managed platform
"local-emulated:azure-ai" Run locally through registered emulators, simulating the named platform
// Pin a cell to local emulation of Foundry
var rule = RoutingRule.EmulateAll("foundry");  // target: "local-emulated:azure-ai"

Platform identifier aliases

The post-May-2026 platform names are accepted everywhere:

Alias Resolves to Diagnostic
foundry azure-ai FED060 (warning)
gemini-enterprise vertex-ai FED060 (warning)

Existing manifests authored with azure-ai / vertex-ai continue to work unchanged.

Diagnostic codes (local loop)

Code Severity Meaning
FED060 Warning Platform identifier alias resolved (e.g. foundry → azure-ai)
FED061 Error PlatformNative capability declared but no executor registered for local target
FED062 Warning Capability is covered by a stub — results are deterministic, not real

Deployment profiles

A DeploymentProfile describes a named target environment and rebinds tools for platform-native execution. Profiles are declared in .ananke.yml under profiles: and parsed by the Ananke.Design manifest parser.

profiles:
  - id: prod-azure
    platform: azure-ai
    tools:
      - name: web_search
        binding: bing_grounding

OTEL integration

RemoteMetricsTracker emits observable gauge measurements. Add the meter to your OpenTelemetry pipeline to export trends to Prometheus, Grafana, or any OTLP backend:

builder.AddMeter(RemoteMetricsTracker.MeterName); // "Ananke.Federation"

Credentials

Platform credentials are never stored in manifests. See architecture/federation-credentials.md for the full credentials matrix: credential types, required scopes, rotation procedures, and per-platform IFederationCredentialProvider implementation status.

Release checklist

Before each release, update the platform capabilities list in Validation/platform-capabilities.json:

  1. Azure AI Agent Service — check the Azure.AI.Projects.Agents SDK for new tool types (*Tool classes). The SDK changelog and Azure AI Agent Service docs list newly GA'd capabilities.
  2. Vertex AI — check the Google.Cloud.AIPlatform.V1 SDK and Vertex AI Agent Engine docs for new tool types.
  3. Claude — check the Anthropic tool use docs for new built-in tools.

The JSON file is embedded as a resource and loaded by DeployabilityValidator at startup. Unknown capabilities produce a warning (FED003), not an error — the platform API validates at deploy time. This list only improves pre-deploy DX.

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 (4)

Showing the top 4 NuGet packages that depend on Ananke.Federation:

Package Downloads
Ananke.Federation.LocalEmulators

Local emulators for Ananke Federation platform-native capabilities — enables the local design loop (bash, web_search, web_fetch, file_search, memory, code_execution, and more) without deploying to a managed agent platform.

Ananke.Federation.Azure

Azure AI Agent Service adapter for Ananke Federation — deploy workflows to Azure AI Foundry, monitor platform agents, and translate manifests to Assistants API configuration.

Ananke.Federation.Google

Gemini Enterprise Agent Platform adapter for Ananke Federation — deploy workflows to Agent Runtime, monitor agents via Agent Observability, and translate manifests to Gemini-native configuration.

Ananke.Federation.Anthropic

Anthropic Claude Managed Agents adapter for Ananke Federation — deploy workflows to Claude, monitor managed agents, and translate manifests to Claude-native configuration.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.8.1 41 5/9/2026
0.8.0 35 5/9/2026