Skip to content

RFC-013: Inter-Gandalf Delegation Protocol (IMDP) — 4. Capability Manifests

AIGP SpecificationRFC-013: Inter-Gandalf Delegation Protocol (IMDP) › 4. Capability Manifests

← 3. Domain Map · Section index · 5. Delegation Flow →

4. Capability Manifests

Each Gandalf advertises its capabilities via a capability manifest a structured declaration of what it can do, exposed at a well-known endpoint.

4.1 Manifest Endpoint

GET /imdp/v1/capabilities
Headers:
X-AIGP-Signature: hmac-sha256={signature}
X-AIGP-Timestamp: {iso_timestamp}
X-AIGP-App-Id: {requesting_app_id}

4.2 Manifest Schema

{
"protocol_version": "1",
"gandalf_id": "identity-service",
"domain": "identity",
"version": "1.0.0",
"capabilities": [
{
"capability_id": "user_lookup",
"description": "Look up user entitlements, group memberships, and management state",
"input_context_types": ["user_identifier"],
"output_context_types": ["user_entitlements"],
"max_execution_seconds": 10,
"delegation_allowed": true
},
{
"capability_id": "group_management",
"description": "Create, modify, or remove group memberships",
"input_context_types": ["user_entitlements", "group_identifier"],
"output_context_types": ["group_state"],
"max_execution_seconds": 30,
"delegation_allowed": true
},
{
"capability_id": "sod_check",
"description": "Evaluate separation of duties violations for a user or role assignment",
"input_context_types": ["user_entitlements", "role_assignment"],
"output_context_types": ["sod_result"],
"max_execution_seconds": 15,
"delegation_allowed": true
}
],
"max_concurrent_delegations": 5,
"accepts_sub_delegation": true
}

4.3 Example Manifests

analytics-service Gandalf:

{
"gandalf_id": "analytics-service",
"domain": "analytics",
"capabilities": [
{
"capability_id": "policy_conversion",
"description": "Convert source policies to target format using playbook",
"input_context_types": ["conversion_request", "source_policies"],
"output_context_types": ["conversion_state"],
"max_execution_seconds": 120,
"delegation_allowed": true
},
{
"capability_id": "gap_analysis",
"description": "Analyze gaps between source and target policy sets",
"input_context_types": ["conversion_state"],
"output_context_types": ["gap_report"],
"max_execution_seconds": 60,
"delegation_allowed": true
}
]
}

governance-server Gandalf:

{
"gandalf_id": "governance-server",
"domain": "policy",
"capabilities": [
{
"capability_id": "compliance_check",
"description": "Evaluate compliance posture for an application or operation",
"input_context_types": ["governance_posture", "operation_descriptor"],
"output_context_types": ["compliance_result"],
"max_execution_seconds": 15,
"delegation_allowed": true
},
{
"capability_id": "cost_analysis",
"description": "Analyze AI usage costs and budget status",
"input_context_types": ["usage_records"],
"output_context_types": ["cost_report"],
"max_execution_seconds": 30,
"delegation_allowed": true
}
]
}

runbook-service Gandalf:

{
"gandalf_id": "runbook-service",
"domain": "execution",
"capabilities": [
{
"capability_id": "artifact_generation",
"description": "Generate scripts, configs, or policies from context",
"input_context_types": ["manufacturing_context"],
"output_context_types": ["artifact"],
"max_execution_seconds": 60,
"delegation_allowed": true
},
{
"capability_id": "run_execution",
"description": "Execute a plan or artifact in a managed runtime",
"input_context_types": ["execution_context", "artifact"],
"output_context_types": ["execution_result"],
"max_execution_seconds": 300,
"delegation_allowed": true
}
]
}

← 3. Domain Map · Section index · 5. Delegation Flow →