trust.posture
LivePer-(action class × counterparty) trust level, survival metric, and trajectory.
Description
Returns trust pairs with autonomy_level, trust_survival_rate, recent_trajectory ('graduating' / 'stable' / 'demoted'), and last_reversal_at. Optionally filtered by action_class. Per ADR-0021 §read-API Family B.
Input schema
| Field | Type | Required | Description |
|---|---|---|---|
counterparty_id | string | yes | Canonical counterparty id. |
action_class | string | no | Filter to a single action class. |
Output shape
typescript
{
pairs: Array<{
action_class: string;
autonomy_level: 1 | 2 | 3;
trust_survival_rate?: number;
recent_trajectory: 'graduating' | 'stable' | 'demoted';
last_reversal_at?: string;
}>;
}Example call
JSON-RPC tools/call request body (omit the JSON-RPC envelope when using an SDK; the SDK adds it for you):
jsontools/call params
{ "name": "trust.posture", "arguments": { "counterparty_id": "entity_01HXSARAH", "action_class": "communicate" } }Example response
Tool results are always wrapped as content[0].text with a stringified JSON body. The shape below is what you get back from JSON.parse(result.content[0].text):
jsonparsed result body
{
"pairs": [
{ "action_class": "communicate", "autonomy_level": 2, "trust_survival_rate": 0.93, "recent_trajectory": "graduating" }
]
}Errors this tool can return
| Code | Meaning |
|---|---|
invalid_arguments | Tool input failed Zod validation. |
unauthorized | Missing or invalid bearer token. |
quota_exceeded | Per-minute, daily call, or daily inference budget exceeded. |
not_found | The requested resource (action_id, decision_id, counterparty_id, etc.) was not found. |
See the full error catalog for resolution steps on each code, plus the standard transport-layer responses (401, 429).