Skip to main content

Feature Map

A complete inventory of what ANIP includes today, organized by layer.

Protocol primitives

FeatureDescriptionSpec section
Capability declarationName, description, inputs, outputs, side-effect type, scope, costCapabilities
Side-effect typingread, write, transactional, irreversibleCapabilities
DelegationScoped JWT authority chains with budget and purpose constraintsDelegation
Permission discoveryPre-invoke check: available / restricted / deniedPermissions
Structured failuresType, detail, resolution action, grantable_by, retryFailures
Cost signalingDeclared range before invoke, actual cost afterCost
Capability graphPrerequisites and compensation path declarationsCapabilities
Task identitytask_id groups related invocations under a single task/workflowDelegation
Invocation lineageparent_invocation_id forms invocation trees for causal tracingDelegation
Token purpose bindingpurpose.task_id is authoritative; request must matchDelegation
Budget constraintsEnforceable token.constraints.budget with currency and max amountDelegation
Budget narrowingChild delegation budget must be ≤ parent budgetDelegation
Requires bindingrequires_binding on capabilities for execution-time binding (quote, offer, price lock)Capabilities
Control requirementsVocabulary: cost_ceiling, stronger_delegation_requiredFailures
Budget contextbudget_context in invoke responses (success and failure)Failures
FinancialCost typeStructured type replacing untyped cost dictionariesCost
reason_type on permissionsMachine-readable restriction/denial category on restricted and denied entriesPermissions
resolution_hint on permissionsActionable suggestion string on restricted entriesPermissions
non_delegable_action failureCapability declares it requires direct (root) principal invocationFailures
Canonical request_broader_scopeReplaces deprecated request_scope_grant resolution actionFailures
recovery_class on resolutionCoarse recovery strategy on every resolution object: 6-value vocabulary (retry_now, wait_then_retry, refresh_then_retry, redelegation_then_retry, revalidate_then_retry, terminal)Failures
5 new canonical resolution.action valuesretry_now, provide_credentials, wait_and_retry, revalidate_state, check_manifest — completes the canonical action vocabularyReference
refresh_via composition hintAdvisory array of capability names to re-invoke when a stale artifact causes failure (e.g., binding_stale)Capabilities
verify_via composition hintAdvisory array of capability names to invoke to verify side effects after executing an irreversible actionCapabilities
Cross-service continuityupstream_service on invoke request/response/audit — identifies the calling ANIP service in cross-service workflows; services MUST echo and record it, MUST NOT reject foreign parent_invocation_id or task_id valuesLineage
Cross-service handoff hintscross_service on capability declarations with four advisory arrays (handoff_to, refresh_via, verify_via, followup_via), each containing ServiceCapabilityRef objects (service + capability strings) for cross-service workflow guidanceCapabilities

Trust and verification

FeatureDescription
Signed manifestsCryptographic signature via X-ANIP-Signature header
JWKSStandard JSON Web Key Set for signature verification
Audit loggingProtocol-level logging with event classification, retention policy
Merkle checkpointsTamper-evident audit history with inclusion proofs
Trust postureService-declared trust level: declarative → signed → anchored

Runtimes

RuntimeService packageFramework adapters
TypeScript@anip-dev/serviceHono, Express, Fastify
Pythonanip-serviceFastAPI
Javaanip-serviceSpring Boot, Quarkus
Goservicenet/http, Gin
C#Anip.ServiceASP.NET Core

Transports

TransportWire formatRuntimes
HTTPREST-like endpointsAll 5
stdioJSON-RPC 2.0All 5
gRPCProtobuf / HTTP/2Python, Go

Interface adapters

AdapterGenerated fromEndpoint
RESTCapability declarations/api/* (OpenAPI + Swagger UI)
GraphQLCapability declarations/graphql (SDL + directives)
MCPCapability declarations/mcp (Streamable HTTP)

Tooling

ToolPurposeHow to use
StudioInspection + invocation UIEmbedded at /studio or standalone Docker
ConformanceProtocol compliance testingpytest conformance/ against any HTTP service
Contract testingBehavioral truthfulness verificationanip-contract-tests with test packs
Showcase appsReference implementationsTravel, finance, DevOps — full protocol surface