Ananke.Federation
0.8.1
dotnet add package Ananke.Federation --version 0.8.1
NuGet\Install-Package Ananke.Federation -Version 0.8.1
<PackageReference Include="Ananke.Federation" Version="0.8.1" />
<PackageVersion Include="Ananke.Federation" Version="0.8.1" />
<PackageReference Include="Ananke.Federation" />
paket add Ananke.Federation --version 0.8.1
#r "nuget: Ananke.Federation, 0.8.1"
#:package Ananke.Federation@0.8.1
#addin nuget:?package=Ananke.Federation&version=0.8.1
#tool nuget:?package=Ananke.Federation&version=0.8.1
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
OrganicHostsupervises all cells (local and remote) throughFederatedComplexityMonitor. FederatedDivisionPolicywraps an innerIDivisionPolicyand setsTargetPlatformon child specs.PlatformDivisionApprovalGatealways requires human oversight before any cross-boundary deployment.RemoteMetricsTrackeremits OTEL gauges via theAnanke.Federationmeter 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
- Declare capabilities as usual with
ToolExecutionMode.PlatformNative. - 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");
- 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
- 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:
- Azure AI Agent Service — check the
Azure.AI.Projects.AgentsSDK for new tool types (*Toolclasses). The SDK changelog and Azure AI Agent Service docs list newly GA'd capabilities. - Vertex AI — check the
Google.Cloud.AIPlatform.V1SDK and Vertex AI Agent Engine docs for new tool types. - 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 | Versions 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. |
-
net10.0
- Ananke.Abstractions (>= 0.8.1)
- Ananke.Design (>= 0.8.1)
- Ananke.Organics (>= 0.8.1)
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.