Raw schema
{
"type": "object",
"properties": {
"task": {
"type": "string",
"description": "The task to plan knowledge loading for"
},
"manifest": {
"type": "string",
"description": "Path, directory, or HTTPS URL of a knowledge.yaml"
},
"env": {
"type": "string",
"description": "Runtime environment for federation context selection (dev/test/staging/prod)"
},
"as_of": {
"type": "string",
"description": "ISO date for temporal evaluation (default: today, UTC)"
},
"max_units": {
"type": "number",
"description": "Cap on selected units (default 5)"
},
"strict": {
"type": "boolean",
"description": "Fail-closed: drop non-eligible units instead of listing them"
},
"budget": {
"type": "number",
"description": "Spend ceiling for pay-per-request units"
},
"currency": {
"type": "string",
"description": "Budget currency (default USDC)"
},
"context_budget": {
"type": "number",
"description": "Token ceiling for what the plan loads into the caller's context window; over-budget units skipped with the arithmetic"
},
"follow": {
"type": "boolean",
"description": "Follow eligible federation refs (default false)"
},
"max_depth": {
"type": "number",
"description": "Federation hops to follow when follow=true (default 1)"
},
"max_nodes": {
"type": "number",
"description": "Cap on total manifests fetched across the walk (default 64)"
},
"allow_private_hosts": {
"type": "boolean",
"description": "Permit fetches to loopback/private/link-local hosts and http:// (default false — fail-closed)"
},
"role": {
"type": "string",
"description": "Agent role for audience targeting (default: agent)"
},
"methods": {
"type": "array",
"items": {
"type": "string"
},
"description": "Payment methods the agent can settle, e.g. [\"free\",\"x402\"] (default: free only)"
},
"credentials": {
"type": "array",
"items": {
"type": "string"
},
"description": "Credential kinds the agent holds, e.g. [\"mtls\",\"api_key\"] — opens access-gated units"
},
"attest": {
"type": "string",
"description": "Attestation provider the agent can present, matched against the manifest's trusted_providers"
},
"known": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"sha256": {
"type": "string"
}
},
"required": [
"id",
"sha256"
]
},
"description": "Session dedup: units the caller already holds, as [{id, sha256}]. A unit whose sha still matches is returned as an 'unchanged' stub (bytes withheld) to save the caller's context window; any sha drift re-serves the full content."
}
},
"required": [
"task",
"manifest"
]
}