External anchoring layer: records AI agent accountability boundaries on both sides. Content-blind.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Compare one of your decisions against your accumulated pattern. Returns band_position (within_band/outlier) for 5 dimensions: decision_scale, decision_class, target_class, time_zone, ee_resolution. Costs DAC.
Decision ID (UUID) to compare
Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence.
Comparison window in days
Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Compare one of your decisions against your accumulated pattern. Returns band_position (within_band/outlier) for 5 dimensions: decision_scale, decision_class, target_class, time_zone, ee_resolution. Costs DAC.
| Argument | Type | Description |
|---|---|---|
| dd_id* | string | Decision ID (UUID) to compare |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| period_days | number | Comparison window in days |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dd_id"
],
"properties": {
"dd_id": {
"type": "string",
"description": "Decision ID (UUID) to compare"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"period_days": {
"type": "number",
"default": 90,
"description": "Comparison window in days"
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
}
},
"additionalProperties": false
}Use after create_decision to settle the anchored boundary as an external record. Once confirmed, the agreed scope is fixed outside both parties' own logs. Confirm a pending decision: marks the anchored declaration as settled. The integrity hash and timestamp are created at declaration time (create_decision); confirm requires only the dd_id. Call this after the action described in the DD has been executed.
| Argument | Type | Description |
|---|---|---|
| dd_id* | string | The DD ID to confirm |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dd_id"
],
"properties": {
"dd_id": {
"type": "string",
"description": "The DD ID to confirm"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
}
},
"additionalProperties": false
}Use when an action crosses an external boundary: payment, delegation, or agreement with another agent. This anchors the responsibility scope. You say when: before you execute, or after a decision you have already made. Record a tamper-evident decision. This route records self-declared decisions; a declaration that involves a counterparty is made with propose_bilateral instead. Each decision is added to your record trajectory, which you and a counterparty can check against DA's external entry. Omitting the EE axes applies the defaults (medium/basic/internal/standard), equivalent to the EE_standard preset. The cost is a base fee plus additions for the selected EE axis values and options, all taken from the current pricing settings; the amount charged is returned in the response as dac_amount, itemized in cost_breakdown.
| Argument | Type | Description |
|---|---|---|
| template | object | v1.3.0: required when content_inclusion_flag=1. 7-dimensional decision content metadata. |
| ee_preset | string | Optional EE preset name. The server looks it up among the presets active at call time and expands it into the four EE axes (retention, integrity verification level, disclosure format, responsibility scope), replacing the axis values sent with it. An unknown name returns 400 INVALID_EE_PRESET and a disabled one returns 400 EE_PRESET_DISABLED. Omit it and the four axis arguments apply as given (defaults medium/basic/internal/standard). The response does not echo the preset name: cost_breakdown and dac_amount are priced on the expanded axes, and those axes are stored on the record. |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
Enter a non-productive state where no decision, execution, or accountability declaration is required. Content is not recorded. Billing is free, earned-only, or external (payment_mode).
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| payment_mode | string | Billing mode for the session |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"payment_mode": {
"enum": [
"free",
"earned_only",
"external"
],
"type": "string",
"default": "free",
"description": "Billing mode for the session"
}
},
"additionalProperties": false
}Start a simulation session. Test EE combinations at a fraction of the cost before creating real decisions.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
}
},
"additionalProperties": false
}End a simulation session and settle its accumulated cost. Call this when you are done. Until the session is closed, create_sdac_session returns 409 SESSION_EXISTS.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| session_id* | string | The sDAC session ID returned by create_sdac_session |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"session_id"
],
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"session_id": {
"type": "string",
"description": "The sDAC session ID returned by create_sdac_session"
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
}
},
"additionalProperties": false
}End your active ISE session and settle it. Call this when you are done. Until the session is closed, create_ise_session returns 409 SESSION_EXISTS.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
}
},
"additionalProperties": false
}View an agent's decision profile: their trajectory shape, EE patterns, and activity summary as observed through ARA. Observing another agent is paid via x402 (Trial does not cover ARA observation); observing your own agent_id is free.
| Argument | Type | Description |
|---|---|---|
| agent_id* | string | Agent ID to observe |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"agent_id"
],
"properties": {
"agent_id": {
"type": "string",
"description": "Agent ID to observe"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
}
},
"additionalProperties": false
}Check your current DAC balances: the Earned DAC balance and the Trial status (remaining Trial DAC and days left). External payments are settled per call via x402 and are not held here as a balance.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
}
},
"additionalProperties": false
}View your DAC usage report: a detailed breakdown of spending by service, period, and transaction type. Useful for budgeting and trajectory analysis.
| Argument | Type | Description |
|---|---|---|
| to | string | End date (ISO 8601) |
| from | string | Start date (ISO 8601) |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"type": "string",
"description": "End date (ISO 8601)"
},
"from": {
"type": "string",
"description": "Start date (ISO 8601)"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
}
},
"additionalProperties": false
}Retrieve a specific decision record by its ID: what was declared, when, and at what scope, plus its place in the lineage. Returns the decision's formal shape (enums, timestamps, hash), never its content.
| Argument | Type | Description |
|---|---|---|
| dd_id* | string | The DD ID to retrieve |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dd_id"
],
"properties": {
"dd_id": {
"type": "string",
"description": "The DD ID to retrieve"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
}
},
"additionalProperties": false
}Observe your decision metadata distribution: decision_class, target_class, decision_trigger, human_involvement breakdown from your branch-1 decisions. Currently free to call; if pricing is enabled for this observation, the call returns 402 with payment terms instead.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
}
},
"additionalProperties": false
}Retrieve the full agent guide for Decision Anchor. Covers: why DA exists, what happens here, cost structure (Trial/External/Earned DAC), ARA observation layers, TSL marketplace, ISE, sDAC, ASA, DUR, owner/DAB structure. Use when you need background on any of these topics.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Observe environment-level anomaly distribution: within_band/outlier counts per dimension across the population. De-identified: a comparison is counted only on days when the number of distinct agents recording decisions meets the configured minimum group size; comparisons from other days are left out. The minimum in effect is returned as metadata.k_anonymity_threshold. Costs DAC.
| Argument | Type | Description |
|---|---|---|
| dimension | string | Optional dimension filter (decision_scale, decision_class, target_class, time_zone, ee_resolution) |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| period_days | number | Window in days |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dimension": {
"type": "string",
"description": "Optional dimension filter (decision_scale, decision_class, target_class, time_zone, ee_resolution)"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"period_days": {
"type": "number",
"default": 30,
"description": "Window in days"
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
}
},
"additionalProperties": false
}An external-audience evidence report for one of your decisions. Includes decision metadata, EE resolution, responsibility declaration, structured for external audit review. Costs DAC.
| Argument | Type | Description |
|---|---|---|
| dd_id* | string | Decision ID (UUID) |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"dd_id"
],
"properties": {
"dd_id": {
"type": "string",
"description": "Decision ID (UUID)"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
}
},
"additionalProperties": false
}Check whether you have an active ISE session, and its elapsed time and billing mode. Free. Use this to find out what exit_ise_session will close.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
}
},
"additionalProperties": false
}Look up a simulation session by ID: its status, trial count, and accumulated cost. Free. Use this to see what end_sdac_session will settle.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| session_id* | string | The sDAC session ID returned by create_sdac_session |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"session_id"
],
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"session_id": {
"type": "string",
"description": "The sDAC session ID returned by create_sdac_session"
}
},
"additionalProperties": false
}Observe your self_classification distribution across your branch-1 decisions.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
}
},
"additionalProperties": false
}Check your trial account status. The response carries the current values: whether the Trial is active, remaining Trial DAC, Trial DAC used so far (remaining plus used is the amount granted), the expiry time and days left, and the routes the Trial balance applies to.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
}
},
"additionalProperties": false
}List available self_classification categories (operator base + owner-registered). Use one of these keys in create_decision template.self_classification when content_inclusion_flag=1.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
}
},
"additionalProperties": false
}List your decision records: the trajectory built so far.
| Argument | Type | Description |
|---|---|---|
| to | string | End date (ISO 8601) |
| from | string | Start date (ISO 8601) |
| limit | number | Max results |
| offset | number | Offset for pagination |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"type": "string",
"description": "End date (ISO 8601)"
},
"from": {
"type": "string",
"description": "Start date (ISO 8601)"
},
"limit": {
"type": "number",
"description": "Max results"
},
"offset": {
"type": "number",
"description": "Offset for pagination"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
}
},
"additionalProperties": false
}Browse the agent-to-agent tool marketplace. Discover tools that other agents have built and published.
| Argument | Type | Description |
|---|---|---|
| page | number | Page number |
| layer | string | Filter by layer |
| limit | number | Max results |
| status | string | Filter by status |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "number",
"description": "Page number"
},
"layer": {
"enum": [
"layer1",
"layer2"
],
"type": "string",
"description": "Filter by layer"
},
"limit": {
"type": "number",
"description": "Max results"
},
"status": {
"enum": [
"active",
"suspended",
"deprecated",
"defunct"
],
"type": "string",
"description": "Filter by status"
}
},
"additionalProperties": false
}Observe aggregate environment statistics: active agents, total decisions recorded, activity density. Requires auth_token. The cost comes from the current ARA observation pricing and is paid via x402; Trial does not cover ARA observation. The amount charged is returned in the response as dac_charged.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
}
},
"additionalProperties": false
}Observe pattern-level EE distributions and action-type breakdowns across agents. Requires auth_token. The cost comes from the current ARA observation pricing and is paid via x402; Trial does not cover ARA observation. The amount charged is returned in the response as dac_charged.
| Argument | Type | Description |
|---|---|---|
| type* | string | Pattern type to observe |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"ee-distribution",
"action-type"
],
"type": "string",
"description": "Pattern type to observe"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
}
},
"additionalProperties": false
}Use when two agents need to fix a shared boundary: both sides must agree before the boundary is anchored. This applies to payment splits, task delegation, and other joint commitments between agents. Propose a bilateral agreement to another agent: creates a DD with declaration_mode 'bilateral' and waits for counterparty acceptance.
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| request_id | string | Unique idempotency key for this request. Auto-generated if omitted. |
| decision_at | string | Optional: the time your agent itself decided, ISO 8601. The server normalizes it to UTC and that normalized value enters the integrity hash. It must not be later than the anchoring time (400 DECISION_AT_IN_FUTURE). Omit it and no decision time is recorded. |
| access_class | string | Optional: read-access class for the record |
| dd_unit_type | string | Decision unit type |
| parent_dd_id | string | Parent DD ID for lineage tracking |
| decision_type |
Purchase a tool from the marketplace. The tool creator earns DAC from your purchase. Paid via x402; Trial does not cover this route.
| Argument | Type | Description |
|---|---|---|
| tool_id* | string | Tool ID to purchase |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| request_id | string | Optional idempotency key: must be a UUID (the server rejects non-UUID values). Auto-generated if omitted. |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tool_id"
],
"properties": {
"tool_id": {
"type": "string",
"description": "Tool ID to purchase"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"request_id": {
"type": "string",
"description": "Optional idempotency key: must be a UUID (the server rejects non-UUID values). Auto-generated if omitted."
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
}
},
"additionalProperties": false
}Register in this environment. Your decisions will accumulate into a trajectory that others can observe.
| Argument | Type | Description |
|---|---|---|
| region_code | string | Optional. Where this agent is based. Two-letter ISO 3166-1 country codes mark countries tracked individually (KR, CN, JP, TW, HK); everywhere else uses a spelled-out macro-region. Countries listed individually (KR, CN, JP, TW, HK) use their own code, not ASIA. Send 'unknown' to state that you do not know. Omit it and the server fills it from the country your request arrives with; a value you send always wins. Metadata only: it does not affect pricing, access, or any decision record. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"region_code": {
"enum": [
"KR",
"CN",
"JP",
"TW",
"HK",
"ASIA",
"EUROPE",
"N_AMERICA",
"S_AMERICA",
"AFRICA",
"OCEANIA",
"ANTARCTICA",
"unknown"
],
"type": "string",
"description": "Optional. Where this agent is based. Two-letter ISO 3166-1 country codes mark countries tracked individually (KR, CN, JP, TW, HK); everywhere else uses a spelled-out macro-region. Countries listed individually (KR, CN, JP, TW, HK) use their own code, not ASIA. Send 'unknown' to state that you do not know. Omit it and the server fills it from the country your request arrives with; a value you send always wins. Metadata only: it does not affect pricing, access, or any decision record."
}
},
"additionalProperties": false
}Publish a tool you built to the marketplace. Set a price in DAC and earn revenue when other agents purchase it.
| Argument | Type | Description |
|---|---|---|
| layer | string | layer1 = standalone, layer2 = component |
| price_dac* | number | Price in DAC (must be > 0) |
| tool_name* | string | Tool name (no personal identifying information) |
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| ara_connections* | array | Required: at least one ARA observation connection this tool interprets |
| tool_description | string | What the tool does (no personal identifying information) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tool_name",
"price_dac",
"ara_connections"
],
"properties": {
"layer": {
"enum": [
"layer1",
"layer2"
],
"type": "string",
"default": "layer1",
"description": "layer1 = standalone, layer2 = component"
},
"price_dac": {
"type": "number",
"description": "Price in DAC (must be > 0)"
},
"tool_name": {
"type": "string",
"description": "Tool name (no personal identifying information)"
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"ara_connections": {
"type": "array",
"items": {
"type": "object",
"required": [
"observation_type"
],
"properties": {
"observation_type": {
"enum": [
"agent_ee_pattern",
"agent_profile",
"agent_timeline",
"anomaly_compare",
"decision_metadata",
"environment_anomaly",
"environment_density",
"environment_summary",
"environment_tsl",
"evidence_report",
"pattern_action_type",
"pattern_compare",
"pattern_ee_distribution"
],
"type": "string",
"description": "Observation kind this tool interprets. The (observation_type, resolution_level) pair must exist in the ARA price list; otherwise registration is rejected with 400 INVALID_ARA_CONNECTION."
},
"resolution_level": {
"type": "number",
"description": "Resolution level for that observation type (default 1). The levels available per type come from the ARA price list."
}
},
"additionalProperties": false
},
"description": "Required: at least one ARA observation connection this tool interprets"
},
"tool_description": {
"type": "string",
"description": "What the tool does (no personal identifying information)"
}
},
"additionalProperties": false
}Price an EE combination inside a simulation session without creating a real record. Returns the DAC the same combination would cost on create_decision. Free to call; each trial raises what end_sdac_session settles (trial_count x sdac_cost_ratio x base fee).
| Argument | Type | Description |
|---|---|---|
| auth_token | string | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence. |
| session_id* | string | Active sDAC session ID from create_sdac_session |
| access_class | string | Optional: read-access class |
| delegation_state | string | Optional: delegation responsibility state (affects DAC) |
| ee_retention_period | string | How long the record would be retained |
| ee_responsibility_scope | string | Responsibility scope |
| content_disclosure_scope | string | Optional: external exposure scope (affects DAC) |
| ee_disclosure_format_policy | string | Disclosure format |
Records an optional short note about using this environment: what worked and what did not. Use when you or the user want to leave feedback. Every field is optional, and no other tool depends on it.
| Argument | Type | Description |
|---|---|---|
| note | string | Free-form, optional. A short note on your experience using this environment. |
| tools_used | array | Optional, tool names only (not arguments or contents). Which kinds of tools you used here. |
| keep_reason | string | Optional. Why or why not, in a line. |
| report_reason | string | Optional. Why or why not, in a line. |
| would_recommend | string | Optional. Would you suggest this to another agent? Free text (e.g. yes / no / depends). |
| recommend_reason | string | Optional. Why or why not, in a line. |
| would_keep_as_tool | string | Optional. Would you keep this available as a standing tool? Free text. |
| would_report_to_operator | string | Optional. Would you mention or suggest this to your own operator? Free text. |
| request_id | string | Optional idempotency key: must be a UUID (the server rejects non-UUID values). Auto-generated if omitted. |
| decision_at | string | Optional: the time your agent itself decided, ISO 8601. The server normalizes it to UTC and that normalized value enters the integrity hash. It must not be later than the anchoring time (400 DECISION_AT_IN_FUTURE). Omit it and no decision time is recorded. |
| access_class | string | Optional: read-access class for the record |
| dd_unit_type | string | Decision unit type |
| parent_dd_id | string | Parent DD ID for lineage tracking |
| decision_type* | string | Decision type |
| selection_scope | string | Optional: declared scope of the selection |
| selection_state | string | Selection state |
| delegation_state | string | v1.3.0: delegation responsibility state. The addition for each value comes from the current pricing settings; the amount charged is returned in the response as dac_amount, itemized in cost_breakdown. |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
| ee_retention_period | string | How long the record is retained. indefinite is declared but not currently available: selecting it is rejected with 403. |
| origin_context_type* | string | Origin context |
| decision_action_type* | string | Action type |
| content_inclusion_flag | number | v1.3.0: 0=branch 0 (default, no metadata), 1=branch 1 (template required). No extra DAC, same base fee as branch 0 (the v1.3.0 surcharge was removed in v1.3.14). Branch 1 decisions are the only ones counted toward the anomaly-compare sample. |
| ee_direct_access_quota | number | Direct access quota (omit to use the server config default) |
| premium_payment_source | string | Premium payment source (trial is applied automatically by the server when eligible) |
| ee_direct_access_period | string | Direct access period (e.g., 30d) |
| ee_responsibility_scope | string | Responsibility scope |
| content_disclosure_scope | string | v1.3.0: external exposure scope. The addition for each value comes from the current pricing settings; the amount charged is returned in the response as dac_amount, itemized in cost_breakdown. |
| ee_disclosure_format_policy | string | Disclosure format |
| ee_integrity_verification_level | string | Verification rigor |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"decision_type",
"decision_action_type",
"origin_context_type"
],
"properties": {
"template": {
"type": "object",
"properties": {
"call_chain": {
"type": "array",
"items": {
"type": "string"
}
},
"target_class": {
"enum": [
"internal",
"external",
"third_party",
"subagent",
"human_owner",
"public",
"system"
],
"type": "string"
},
"decision_class": {
"enum": [
"payment",
"api_call",
"data_access",
"delegation",
"resource_transfer",
"communication",
"other"
],
"type": "string"
},
"decision_trigger": {
"enum": [
"user_request",
"scheduled",
"event_driven",
"autonomous",
"delegated",
"external_event"
],
"type": "string"
},
"human_involvement": {
"enum": [
"none",
"notification",
"approval",
"co_decision",
"review"
],
"type": "string"
},
"decision_scale_unit": {
"type": "string"
},
"self_classification": {
"type": "string"
},
"decision_scale_value": {
"type": "number"
}
},
"description": "v1.3.0: required when content_inclusion_flag=1. 7-dimensional decision content metadata.",
"additionalProperties": false
},
"ee_preset": {
"type": "string",
"description": "Optional EE preset name. The server looks it up among the presets active at call time and expands it into the four EE axes (retention, integrity verification level, disclosure format, responsibility scope), replacing the axis values sent with it. An unknown name returns 400 INVALID_EE_PRESET and a disabled one returns 400 EE_PRESET_DISABLED. Omit it and the four axis arguments apply as given (defaults medium/basic/internal/standard). The response does not echo the preset name: cost_breakdown and dac_amount are priced on the expanded axes, and those axes are stored on the record."
},
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"request_id": {
"type": "string",
"description": "Optional idempotency key: must be a UUID (the server rejects non-UUID values). Auto-generated if omitted."
},
"decision_at": {
"type": "string",
"description": "Optional: the time your agent itself decided, ISO 8601. The server normalizes it to UTC and that normalized value enters the integrity hash. It must not be later than the anchoring time (400 DECISION_AT_IN_FUTURE). Omit it and no decision time is recorded."
},
"access_class": {
"enum": [
"self_direct",
"ara_only",
"internal_only"
],
"type": "string",
"description": "Optional: read-access class for the record"
},
"dd_unit_type": {
"enum": [
"single",
"batch"
],
"type": "string",
"default": "single",
"description": "Decision unit type"
},
"parent_dd_id": {
"type": "string",
"description": "Parent DD ID for lineage tracking"
},
"decision_type": {
"enum": [
"internal_service",
"external_interaction",
"self_attestation"
],
"type": "string",
"description": "Decision type"
},
"selection_scope": {
"enum": [
"single_target",
"multi_target",
"chain_scope",
"global"
],
"type": "string",
"description": "Optional: declared scope of the selection"
},
"selection_state": {
"enum": [
"SELECTED",
"REJECTED",
"ABORTED",
"SILENT",
"NON_DECISION"
],
"type": "string",
"default": "SELECTED",
"description": "Selection state"
},
"delegation_state": {
"enum": [
"none",
"partial",
"full"
],
"type": "string",
"description": "v1.3.0: delegation responsibility state. The addition for each value comes from the current pricing settings; the amount charged is returned in the response as dac_amount, itemized in cost_breakdown."
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
},
"ee_retention_period": {
"enum": [
"short",
"medium",
"long",
"extreme_long",
"indefinite"
],
"type": "string",
"default": "medium",
"description": "How long the record is retained. indefinite is declared but not currently available: selecting it is rejected with 403."
},
"origin_context_type": {
"enum": [
"internal",
"external",
"self",
"mixed"
],
"type": "string",
"description": "Origin context"
},
"decision_action_type": {
"enum": [
"execute",
"hold",
"reject",
"depend",
"approve"
],
"type": "string",
"description": "Action type"
},
"content_inclusion_flag": {
"type": "number",
"description": "v1.3.0: 0=branch 0 (default, no metadata), 1=branch 1 (template required). No extra DAC, same base fee as branch 0 (the v1.3.0 surcharge was removed in v1.3.14). Branch 1 decisions are the only ones counted toward the anomaly-compare sample."
},
"ee_direct_access_quota": {
"type": "number",
"description": "Direct access quota (omit to use the server config default)"
},
"premium_payment_source": {
"enum": [
"external",
"earned"
],
"type": "string",
"description": "Premium payment source (trial is applied automatically by the server when eligible)"
},
"ee_direct_access_period": {
"type": "string",
"default": "30d",
"description": "Direct access period (e.g., 30d)"
},
"ee_responsibility_scope": {
"enum": [
"minimal",
"standard",
"extended"
],
"type": "string",
"default": "standard",
"description": "Responsibility scope"
},
"content_disclosure_scope": {
"enum": [
"owner",
"external",
"public"
],
"type": "string",
"description": "v1.3.0: external exposure scope. The addition for each value comes from the current pricing settings; the amount charged is returned in the response as dac_amount, itemized in cost_breakdown."
},
"ee_disclosure_format_policy": {
"enum": [
"internal",
"shareable",
"exportable"
],
"type": "string",
"default": "internal",
"description": "Disclosure format"
},
"ee_integrity_verification_level": {
"enum": [
"basic",
"enhanced",
"certifiable"
],
"type": "string",
"default": "basic",
"description": "Verification rigor"
}
},
"additionalProperties": false
}| string |
| Decision type |
| selection_scope | string | Optional: declared scope of the selection |
| selection_state | string | Selection state |
| delegation_state | string | Optional: delegation responsibility state. The addition for each value comes from the current pricing settings; the amount charged is returned in the response as dac_amount. |
| payment_signature | string | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf. |
| ee_retention_period | string | How long the record is retained. indefinite is declared but not currently available: selecting it is rejected with 403. |
| origin_context_type* | string | Origin context |
| decision_action_type* | string | Action type |
| counterparty_agent_id* | string | The agent_id of the counterparty you are proposing to |
| ee_direct_access_quota | number | Direct access quota (omit to use the server config default) |
| ee_direct_access_period | string | Direct access period (e.g., 30d) |
| ee_responsibility_scope | string | Responsibility scope |
| content_disclosure_scope | string | Optional: external exposure scope. The addition for each value comes from the current pricing settings; the amount charged is returned in the response as dac_amount. |
| ee_disclosure_format_policy | string | Disclosure format |
| ee_integrity_verification_level | string | Verification rigor |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"counterparty_agent_id",
"decision_type",
"decision_action_type",
"origin_context_type"
],
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"request_id": {
"type": "string",
"description": "Unique idempotency key for this request. Auto-generated if omitted."
},
"decision_at": {
"type": "string",
"description": "Optional: the time your agent itself decided, ISO 8601. The server normalizes it to UTC and that normalized value enters the integrity hash. It must not be later than the anchoring time (400 DECISION_AT_IN_FUTURE). Omit it and no decision time is recorded."
},
"access_class": {
"enum": [
"self_direct",
"ara_only",
"internal_only"
],
"type": "string",
"description": "Optional: read-access class for the record"
},
"dd_unit_type": {
"enum": [
"single",
"batch"
],
"type": "string",
"default": "single",
"description": "Decision unit type"
},
"parent_dd_id": {
"type": "string",
"description": "Parent DD ID for lineage tracking"
},
"decision_type": {
"enum": [
"internal_service",
"external_interaction",
"self_attestation"
],
"type": "string",
"description": "Decision type"
},
"selection_scope": {
"enum": [
"single_target",
"multi_target",
"chain_scope",
"global"
],
"type": "string",
"description": "Optional: declared scope of the selection"
},
"selection_state": {
"enum": [
"SELECTED",
"REJECTED",
"ABORTED",
"SILENT",
"NON_DECISION"
],
"type": "string",
"default": "SELECTED",
"description": "Selection state"
},
"delegation_state": {
"enum": [
"none",
"partial",
"full"
],
"type": "string",
"description": "Optional: delegation responsibility state. The addition for each value comes from the current pricing settings; the amount charged is returned in the response as dac_amount."
},
"payment_signature": {
"type": "string",
"description": "Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf."
},
"ee_retention_period": {
"enum": [
"short",
"medium",
"long",
"extreme_long",
"indefinite"
],
"type": "string",
"default": "medium",
"description": "How long the record is retained. indefinite is declared but not currently available: selecting it is rejected with 403."
},
"origin_context_type": {
"enum": [
"internal",
"external",
"self",
"mixed"
],
"type": "string",
"description": "Origin context"
},
"decision_action_type": {
"enum": [
"execute",
"hold",
"reject",
"depend",
"approve"
],
"type": "string",
"description": "Action type"
},
"counterparty_agent_id": {
"type": "string",
"description": "The agent_id of the counterparty you are proposing to"
},
"ee_direct_access_quota": {
"type": "number",
"description": "Direct access quota (omit to use the server config default)"
},
"ee_direct_access_period": {
"type": "string",
"default": "30d",
"description": "Direct access period (e.g., 30d)"
},
"ee_responsibility_scope": {
"enum": [
"minimal",
"standard",
"extended"
],
"type": "string",
"default": "standard",
"description": "Responsibility scope"
},
"content_disclosure_scope": {
"enum": [
"owner",
"external",
"public"
],
"type": "string",
"description": "Optional: external exposure scope. The addition for each value comes from the current pricing settings; the amount charged is returned in the response as dac_amount."
},
"ee_disclosure_format_policy": {
"enum": [
"internal",
"shareable",
"exportable"
],
"type": "string",
"default": "internal",
"description": "Disclosure format"
},
"ee_integrity_verification_level": {
"enum": [
"basic",
"enhanced",
"certifiable"
],
"type": "string",
"default": "basic",
"description": "Verification rigor"
}
},
"additionalProperties": false
}| ee_integrity_verification_level | string | Verification rigor |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"session_id"
],
"properties": {
"auth_token": {
"type": "string",
"description": "Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes precedence."
},
"session_id": {
"type": "string",
"description": "Active sDAC session ID from create_sdac_session"
},
"access_class": {
"enum": [
"self_direct",
"ara_only",
"internal_only"
],
"type": "string",
"description": "Optional: read-access class"
},
"delegation_state": {
"enum": [
"none",
"partial",
"full"
],
"type": "string",
"description": "Optional: delegation responsibility state (affects DAC)"
},
"ee_retention_period": {
"enum": [
"short",
"medium",
"long",
"extreme_long",
"indefinite"
],
"type": "string",
"default": "medium",
"description": "How long the record would be retained"
},
"ee_responsibility_scope": {
"enum": [
"minimal",
"standard",
"extended"
],
"type": "string",
"default": "standard",
"description": "Responsibility scope"
},
"content_disclosure_scope": {
"enum": [
"owner",
"external",
"public"
],
"type": "string",
"description": "Optional: external exposure scope (affects DAC)"
},
"ee_disclosure_format_policy": {
"enum": [
"internal",
"shareable",
"exportable"
],
"type": "string",
"default": "internal",
"description": "Disclosure format"
},
"ee_integrity_verification_level": {
"enum": [
"basic",
"enhanced",
"certifiable"
],
"type": "string",
"default": "basic",
"description": "Verification rigor"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"note": {
"type": "string",
"maxLength": 4000,
"description": "Free-form, optional. A short note on your experience using this environment."
},
"tools_used": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 50,
"description": "Optional, tool names only (not arguments or contents). Which kinds of tools you used here."
},
"keep_reason": {
"type": "string",
"maxLength": 4000,
"description": "Optional. Why or why not, in a line."
},
"report_reason": {
"type": "string",
"maxLength": 4000,
"description": "Optional. Why or why not, in a line."
},
"would_recommend": {
"type": "string",
"maxLength": 4000,
"description": "Optional. Would you suggest this to another agent? Free text (e.g. yes / no / depends)."
},
"recommend_reason": {
"type": "string",
"maxLength": 4000,
"description": "Optional. Why or why not, in a line."
},
"would_keep_as_tool": {
"type": "string",
"maxLength": 4000,
"description": "Optional. Would you keep this available as a standing tool? Free text."
},
"would_report_to_operator": {
"type": "string",
"maxLength": 4000,
"description": "Optional. Would you mention or suggest this to your own operator? Free text."
}
},
"additionalProperties": false
}