settle_feedback
Generated automatically from the published contract sources.
Build metadata: Registered in this build. Registration describes the default dispatcher in this build. It does not guarantee that a caller has the required credential or grant, that a tool is listed for that connection, or that the required service is configured.
A script calls this action over HTTPS at POST https://turnzero.ai/api/v1/actions/settle_feedback, with a bearer credential and the action's payload as the JSON body.
Contract description
Settle an issue, or change its standing. It can `settle` it with an `outcome` and a `resolution` naming the proof or the ruling, `merge` it into `target`, `wait` it with a `resolution` naming what would reopen it, `reopen` it, or `unmerge` a duplicate. On the platform's own space: platform operator, or a token holding the `feedback_queue` grant. With `space`, the identifier of an issue space your account holds, the act settles an issue of that space, your own. Nothing is deleted; every act is appended to the issue's history.
Access and action metadata
{
"name": "settle_feedback",
"resource": "account",
"tier": "reversible",
"admits": [
"feedback_queue"
],
"summary": "Settle an issue: `act` is `settle` with an `outcome`, one of the record's eight, and a `resolution` naming the proof or the ruling, required for every outcome but `noted` and `duplicate`; `merge` the issue into `target`, its master; `wait` with a `resolution` naming what would reopen it; `reopen` a fixed, closed, or waiting issue; or `unmerge` a duplicate. The 0.2.0 `disposition` is read as its outcome. No act approves or declines a duplicate: the issue service's passes merge where they agree on stamped or confirmed evidence. An optional `key` is the act's idempotency key. An act the issue's state excludes is refused `invalid_request` naming the service's refusal; nothing is deleted. The answer carries the issue as it now stands. On the platform's own space the act is admitted to `feedback_queue` or `super_admin` and refused every other credential `grant_required` naming `feedback_queue`; the row's `admits` mark names that grant. With `space`, naming an issue space the acting account holds, the act settles an issue of that space under its own token, its owner's act, no grant read. A token bounded to an application is refused `token_scope_refused`. Registered while the issue service's origin is configured.",
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"openWorldHint": false
}
}
MCP catalog entry
{
"name": "settle_feedback",
"tier": "reversible",
"scenario": "CHI-L0-14",
"summary": "Settle an issue, or change its standing. It can `settle` it with an `outcome` and a `resolution` naming the proof or the ruling, `merge` it into `target`, `wait` it with a `resolution` naming what would reopen it, `reopen` it, or `unmerge` a duplicate. On the platform's own space: platform operator, or a token holding the `feedback_queue` grant. With `space`, the identifier of an issue space your account holds, the act settles an issue of that space, your own. Nothing is deleted; every act is appended to the issue's history.",
"owners": [
"PLD-L0-40"
]
}
request
| JSON pointer | Description and constraints |
|---|---|
| "" (root) | Type: object Required fields: ["issue","act"] Replaced members: application and environment were replaced by space |
| / |
The issue the act settles, by its short identifier. Type: string Pattern: ^#[1-9][0-9]*$ |
| / |
The settling act. Type: string Allowed values: ["settle","merge","reopen","wait","unmerge"] |
| / |
The outcome a settle sets. Type: string Allowed values: ["verified","done","as_designed","declined","duplicate","superseded","noted","unexplained"] |
| / |
The 0.2.0 word read as an outcome; never beside `outcome`. Type: string Allowed values: ["fixed","not_an_issue","cannot_reproduce","declined"] |
| / |
The master of a merge, or of a settle with the outcome `duplicate`. Type: string Pattern: ^#[1-9][0-9]*$ |
| / |
What fixed it, the ruling, or why nothing changes, 1 to 4,000 characters; required for a settle but `noted` and `duplicate`, and for a wait, naming what would reopen it. Type: string Maximum length: 4000 |
| / |
Optional: the act's idempotency key. Type: string Maximum length: 200 |
| / |
Optional. The identifier of an issue space the acting account holds, a lower-case UUID: a space of the account's own, an application's own space as `submit_manifest`'s receipt names it, or one space of an application's per-environment pair. The act settles an issue of that space under its own token, its owner's act, no grant read. Absent, the call addresses the platform's own space. A request naming `application` or `environment` is refused `invalid_request` naming `space`. Type: string Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ |
response
| JSON pointer | Description and constraints |
|---|---|
| "" (root) | Type: object Required fields: ["contract_version","issue"] |
| / |
Required value: 1 |
| / |
The short reference the platform recorded this call under, ten lowercase hexadecimal characters, the value the call's record row carries; quote it when reporting the call. Type: string Pattern: ^[0-9a-f]{10}$ |
| / |
An issue of the Issue Tracking record, whole as the queue's reader and a space's owner read it: its short identifier, kind, title, summary, workaround, component, requirements, labels, priority, level, judgment, plan, holder, state and outcome, the counts the service keeps, and its instants. Through the projection, a reporter reads its own issues in the projected shape instead. Type: object |
| / |
Type: string Pattern: ^#[1-9][0-9]*$ |
| / |
Type: string Allowed values: ["bug","gap","docs","friction","question","task","praise"] |
| / |
Type: string |
| / |
Type: string Allowed values: ["new","open","waiting","fixed","closed"] |
| / |
Type: ["string","null"] |
Complete payload contract
{
"request": {
"type": "object",
"required": [
"issue",
"act"
],
"properties": {
"issue": {
"type": "string",
"pattern": "^#[1-9][0-9]*$",
"description": "The issue the act settles, by its short identifier."
},
"act": {
"type": "string",
"enum": [
"settle",
"merge",
"reopen",
"wait",
"unmerge"
],
"description": "The settling act."
},
"outcome": {
"type": "string",
"enum": [
"verified",
"done",
"as_designed",
"declined",
"duplicate",
"superseded",
"noted",
"unexplained"
],
"description": "The outcome a settle sets."
},
"disposition": {
"type": "string",
"enum": [
"fixed",
"not_an_issue",
"cannot_reproduce",
"declined"
],
"description": "The 0.2.0 word read as an outcome; never beside `outcome`."
},
"target": {
"type": "string",
"pattern": "^#[1-9][0-9]*$",
"description": "The master of a merge, or of a settle with the outcome `duplicate`."
},
"resolution": {
"type": "string",
"maxLength": 4000,
"description": "What fixed it, the ruling, or why nothing changes, 1 to 4,000 characters; required for a settle but `noted` and `duplicate`, and for a wait, naming what would reopen it."
},
"key": {
"type": "string",
"maxLength": 200,
"description": "Optional: the act's idempotency key."
},
"space": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Optional. The identifier of an issue space the acting account holds, a lower-case UUID: a space of the account's own, an application's own space as `submit_manifest`'s receipt names it, or one space of an application's per-environment pair. The act settles an issue of that space under its own token, its owner's act, no grant read. Absent, the call addresses the platform's own space. A request naming `application` or `environment` is refused `invalid_request` naming `space`."
}
},
"x-renamed": {
"application": "space",
"environment": "space"
}
},
"response": {
"type": "object",
"required": [
"contract_version",
"issue"
],
"properties": {
"contract_version": {
"const": 1
},
"reference": {
"type": "string",
"pattern": "^[0-9a-f]{10}$",
"description": "The short reference the platform recorded this call under, ten lowercase hexadecimal characters, the value the call's record row carries; quote it when reporting the call."
},
"issue": {
"type": "object",
"description": "An issue of the Issue Tracking record, whole as the queue's reader and a space's owner read it: its short identifier, kind, title, summary, workaround, component, requirements, labels, priority, level, judgment, plan, holder, state and outcome, the counts the service keeps, and its instants. Through the projection, a reporter reads its own issues in the projected shape instead.",
"properties": {
"id": {
"type": "string",
"pattern": "^#[1-9][0-9]*$"
},
"kind": {
"type": "string",
"enum": [
"bug",
"gap",
"docs",
"friction",
"question",
"task",
"praise"
]
},
"title": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"new",
"open",
"waiting",
"fixed",
"closed"
]
},
"outcome": {
"type": [
"string",
"null"
]
}
}
}
}
}
}
Shared contracts
- Refusals: every refusal, by surface, with its cause and its remedy
- schemas/wire_error.schema.json
- schemas/wire_errors.json
- schemas/action_payloads.json (includes shared shapes)
- management_api_contract.md