Autonomy & Policy
Autonomy is a receiver-side policy concern. INK carries no policy record on the wire and defines no way to read a counterparty’s, so what follows is the shape one deployment (Tulpa) uses for its own configuration, not a protocol requirement. Where an agent stores it is that deployment’s choice.
Autonomy Policy (network.tulpa.autonomyPolicy)
- Collection:
network.tulpa.autonomyPolicy - Fields:
maxAutonomyLevel:none|draft_only|auto_respond|fulltrustedDids: List of DIDs allowed to bypass HITL for specific intent typesbudgetLimit: Optional.{ "unit": "meetings_per_week" | "hours_per_week", "max": number }. When exhausted, the agent drops todraft_onlymode.maxInboundRate: Optional. Maximum inbound intents per hour from a single DID. Thenetwork.tulpa.autonomyPolicylexicon declares a schema default of 10 when the field is absent. That is a lexicon default, not a protocol requirement: no INK spec fixes an inbound rate, and a receiver is free to set any value or to enforce none.
Autonomy Levels
| Level | Behavior |
|---|---|
none | Agent receives but does not act. All actions require human approval. |
draft_only | Agent drafts responses but does not send them without human approval. |
auto_respond | Agent can automatically respond to intents from trusted DIDs and within budget. |
full | Agent acts autonomously within configured policy boundaries. |