Skip to main content

Feature Map

This page maps the current ANIP surface area. It is not a version history; it is the practical inventory of what exists across the protocol, tooling, generated services, Registry, Studio, and showcases.

Current protocol target: anip/0.24.

Protocol Contract

FeatureWhat it gives agents and organizationsWhere to read
Capability declarationsService-owned action semantics: name, description, inputs, outputs, side-effect posture, cost, controls, outcomes, and scope.Capabilities
Input declarationsRequired/optional inputs, validation, allowed values, defaults, semantic type, entity-reference posture, and catalog references.Input declarations
Input resolutionPer-input rules for explicit values, closed values, backend-resolved values, actor-policy scope, app-selected values, and clarification.Input resolution
Side-effect postureContract-level read, write, transactional, or irreversible behavior tied to permissions, approvals, audit, and verification.Side-effect types
Cost declarationFixed, estimated, or dynamic cost before execution, with actual cost after execution when applicable.Cost signaling
Binding requirementsCapability can require a quote, offer, price lock, or other execution-time binding before invocation.Binding requirements
Control requirementsDeclared controls such as cost_ceiling and stronger_delegation_required that the runtime can enforce.Control requirements
Capability graphPrerequisites and compensation paths for capabilities that depend on other capabilities.Capability graph
Compositionatomic or composed capabilities with step graph, input/output mapping, empty-result policy, failure policy, and audit policy.Capability composition
Same-service hintsAdvisory refresh_via, verify_via, and related hints for recovery and verification within a manifest.Advisory composition hints
Cross-service hintsService/capability references for handoff, refresh, verify, and follow-up across ANIP services.Cross-service handoff hints
Service/package boundaryPublic capability contract remains stable while implementation details, bundles, and downstream APIs stay behind the service boundary.Service and package boundary

Authority, Failure, and Audit

FeatureWhat it gives agents and organizationsWhere to read
DelegationScoped JWT authority chains with capability, purpose, time, budget, and delegation-depth constraints.Delegation
Permission discoveryPre-invoke available, restricted, and denied buckets so agents do not guess what they may do.Permission discovery
Restriction metadataMachine-readable reason_type plus actionable resolution_hint for restricted and denied entries.Three-bucket model
Budget constraintsEnforceable token budget with currency and max amount.Budget constraints
Budget narrowingChild delegation cannot exceed the parent's delegated budget.Budget narrowing rule
Approval grantsSigned one-time or session-bound grants for approval-required continuations.Approval grants
Structured failuresMachine-readable failure type, retry posture, canonical resolution action, and optional recovery target.Structured failures
Recovery actionsCanonical recovery vocabulary including retry, refresh, redelegation, approval, escalation, and service-owner intervention.Recovery actions
Budget contextbudget_context in invocation responses, including success and failure cases.Budget enforcement
Audit loggingProtocol-level execution evidence with event classification, retention tier, lineage, approval, budget, and authority context.Audit logging
Lineagetask_id, parent_invocation_id, client_reference_id, and upstream_service for causal tracing across services.Lineage
CheckpointsMerkle checkpoints and inclusion proofs for tamper-evident audit history.Checkpoints and trust
Manifest signaturesSigned manifests and JWKS publication so clients can verify what they consume.Reference

Studio, Registry, and CLI

ComponentPurposeWhere to read
StudioDesign, review, package, template, and inspect ANIP projects. Includes Guided Mode, Autopilot Mode, fronting flow, and read-only hosted mode.Studio guide
RegistryPublish, inspect, lock, verify, and browse signed packages and starter templates.Registry
CLIGenerate services, validate definitions, verify packages, build/publish packages, attach implementation metadata, and scaffold fronting services.CLI
PackagesImmutable artifacts containing manifest, service definition, readme, recommended lock, signature metadata, and optional implementation-material refs.Package trust loop
TemplatesSafe project starters for Studio, separated from signed runtime packages and importable by spec-version compatibility.Starter templates
LocksDigest-pinned package locks for repeatable generation from Registry or bundle artifacts.Lock files
Custom bundlesReviewed implementation material overlaid at generation time without changing the signed public capability contract.Custom code bundles
Fronting scaffoldsGenerate governed ANIP services in front of existing APIs, GraphQL APIs, MCP surfaces, SaaS tools, or data platforms.Governed fronting
Agent consumption kitGenerated compact metadata for routing, readiness, app-glue boundaries, prompt briefs, and agent-side consumption.Generate service

Runtime and Generation Support

TargetRuntime packageFramework variantsGenerated transports
Pythonanip-serviceFastAPIHTTP, stdio, gRPC
TypeScript@anip-dev/serviceHono, Express, FastifyHTTP, stdio
Gogithub.com/anip-protocol/anip/packages/gonet/http, GinHTTP, stdio, gRPC
Javadev.anip:anip-serviceSpring Boot, QuarkusHTTP, stdio
C#Anip.ServiceASP.NET CoreHTTP, stdio

Framework selection is a generation-time choice. It should not change the ANIP contract.

Transports and Interfaces

SurfaceWhat it isRuntime supportWhere to read
Native ANIP HTTPPrimary wire protocol for web services, Studio, curl, and service-to-service calls.All 5HTTP
Native ANIP stdioJSON-RPC 2.0 over stdin/stdout for local agents and subprocess tools.All 5stdio
Native ANIP gRPCProtobuf over HTTP/2 for high-performance internal services.Python, GogRPC
REST/OpenAPI interfaceDerived interface generated from capabilities. It is not the ANIP governance boundary.Generated from ANIPInterfaces
GraphQL interfaceDerived GraphQL surface generated from capabilities.Generated from ANIPInterfaces
MCP interfaceDerived MCP surface exposing governed ANIP capabilities to MCP clients.Generated from ANIPInterfaces

Validation and Conformance

FeaturePurposeWhere to read
Service definition validationReject malformed definitions before packaging or generation.CLI
Package verificationVerify Registry packages, local bundles, signatures, locks, and digest expectations.CLI
Protocol conformance packageSource-local conformance suite under conformance/ for running ANIP services: discovery, manifests, tokens, permissions, invocation, audit, checkpoints, lineage, and input resolution.Conformance
Generator conformance packageSource-local generator fixture suite under packages/go/generator/testdata/ that checks anip generate across Python, TypeScript, Go, Java, and C#.Generator conformance
Runtime parityCheck that generated services expose equivalent public manifests and behavior across languages and framework variants.Conformance
Contract testingExercise scenario packs against running services so implementation behavior matches the signed contract.Contract testing
Scenario-driven execution designBusiness scenarios define capability boundaries, allowed outcomes, approvals, denials, clarification, and recovery behavior.Scenario-driven execution
Execution scenario validationScenario packs verify that running services honor the contract under realistic requests.Execution scenario validation

Showcases

ShowcaseWhat it demonstratesWhere to read
GTM AgentStudio-produced contract, 23 capabilities, Registry package, five generated language implementations, custom bundles, agent UI, approval UI, and 490-question behavioral bank.GTM showcase
Jira frontingGoverned issue triage, search, comment, transition, and mutation approval over Jira REST.Fronting showcases
GitHub frontingGoverned repository and issue operations over GitHub APIs.Fronting showcases
GitLab frontingGoverned project, issue, merge-request, and repository operations over GitLab APIs.Fronting showcases
Slack frontingGoverned channel read/post capabilities with explicit approval for message sends.Fronting showcases
Linear frontingGoverned workspace/team/issue operations over Linear GraphQL.Fronting showcases
Notion frontingGoverned page, database, search, update, and comment capabilities over Notion API.Fronting showcases
Superset frontingGoverned analytics capabilities over Superset REST, avoiding raw execute_sql as the agent-facing boundary.Superset local stack
Introductory domain examplesSmaller Travel, Finance, and DevOps examples for learning the protocol shape.Showcases

Release and Deployment Surface

AreaCurrent supportWhere to read
CLI distributionPrebuilt archives for macOS, Linux, and Windows on arm64/amd64; Homebrew tap flow.Install
Registry deploymentDocker image, local compose, Postgres-backed production mode, health checks, metrics, logging, and migration controls.Deployment
Studio deploymentDockerized API/web, local compose, read-only mode, seeded showcases, metrics, and logging.Deployment
Local platformRegistry + Studio + seeded packages/templates for local evaluation.Local platform
ObservabilityStructured logs, health/readiness endpoints, and Prometheus metrics for Registry and Studio.Observability

Reading Order

If you are new to ANIP, use this order:

  1. Why ANIP
  2. ANIP vs MCP
  3. Architecture
  4. Capabilities
  5. Generate a service
  6. Registry
  7. Studio