record_check

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/record_check, with a bearer credential and the action's payload as the JSON body.

Contract description

Platform operator or its harness (the `synthetic_estate` grant or `super_admin`): post one run of a monitored key into the platform's own issue space. The `check` member is the run's stable key and `result` is `green` or `red`; `covers` names what the run exercised, `builds` the builds it ran, and `evidence` what a red is about. A red opens an issue once the space's debounce is passed, and a green on a build with a fix counts toward verifying it.

Access and action metadata

{
  "name": "record_check",
  "resource": "account",
  "tier": "reversible",
  "grant": "synthetic_estate",
  "summary": "Post one run of a monitored key into the platform's own space of the issue service, a company test harness's check: `check` is the run's stable key, 1 to 200 printable characters, judged among the caller's own checks; `result` is `green` or `red`; the optional `covers` names the components and the actions the run exercised, `builds` the builds it ran, `cause` the caller's own attribution of a red, `harness` or `estate`, `component` its own component, `evidence` what a red is about, and `key` the run's idempotency key. The service opens an issue from the check past the space's debounce and answers `{ check, issue, outcome }`. Admitted to a credential holding `synthetic_estate` or `super_admin`; the plane's filing bound counts the call. Registered while the issue service's origin is configured.",
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": false,
    "openWorldHint": false
  }
}

MCP catalog entry

{
  "name": "record_check",
  "tier": "reversible",
  "scenario": "API-L0-12",
  "summary": "Platform operator or its harness (the `synthetic_estate` grant or `super_admin`): post one run of a monitored key into the platform's own issue space. The `check` member is the run's stable key and `result` is `green` or `red`; `covers` names what the run exercised, `builds` the builds it ran, and `evidence` what a red is about. A red opens an issue once the space's debounce is passed, and a green on a build with a fix counts toward verifying it.",
  "owners": [
    "MAPI-17",
    "MAPI-18"
  ]
}

request

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["check","result"]
/properties/check The run's stable key, 1 to 200 printable characters, the same on every run of the same thing.

Type: string
Maximum length: 200
/properties/result The run passed, `green`, or failed, `red`.

Type: string
Allowed values: ["green","red"]
/properties/covers Optional: what the run exercised.

Type: object
/properties/covers/properties/components The components the run exercised, each a component the space declares.

Type: array
Maximum items: 50
/properties/covers/properties/components/items Type: string
Maximum length: 200
/properties/covers/properties/actions The actions the run called.

Type: array
Maximum items: 50
/properties/covers/properties/actions/items Type: string
Maximum length: 200
/properties/builds Optional: the builds the run ran, at most 20.

Type: array
Maximum items: 20
/properties/builds/items A build the report saw or the run ran: its release line, null where none is named, its version, and its environment.

Type: object
Required fields: ["version","environment"]
/properties/builds/items/properties/line The release line, a line the space declares, or null.

Type: ["string","null"]
/properties/builds/items/properties/version The build version, 1 to 200 printable characters.

Type: string
Maximum length: 200
/properties/builds/items/properties/environment The environment the build ran in, 1 to 200 printable characters.

Type: string
Maximum length: 200
/properties/cause Optional: your own attribution of a red, `harness` or `estate`, or null.

Type: ["string","null"]
/properties/component Optional: your own component, read where a red is the harness's.

Type: string
Maximum length: 64
/properties/evidence Optional: what a red is about: the action, the refusal, the reference, the code site, and context.

Type: object
Additional properties: false
/properties/evidence/properties/action Type: string
Maximum length: 200
/properties/evidence/properties/refusal Type: string
Maximum length: 200
/properties/evidence/properties/reference Type: string
Maximum length: 200
/properties/evidence/properties/code_site Type: string
Maximum length: 200
/properties/evidence/properties/environment Type: string
Maximum length: 200
/properties/evidence/properties/version Type: string
Maximum length: 200
/properties/evidence/properties/context Type: object
maxProperties: 20
/properties/evidence/properties/context/additionalProperties Type: string
Maximum length: 500
/properties/key Optional: the run's idempotency key.

Type: string
Maximum length: 200
/properties/source Optional: the kind of actor posting, `system` where absent.

Type: string
Allowed values: ["person","agent","system"]
/properties/provider An agent's provider; with `session`, both or neither.

Type: string
Pattern: ^[a-z][a-z0-9-]{0,31}$
/properties/session An agent's session identifier; with `provider`, both or neither.

Type: string
Maximum length: 200

response

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["contract_version","check","issue","outcome"]
/properties/contract_version Required value: 1
/properties/reference 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}$
/properties/check The check as it now stands: its key, what it covers, its runs and passes, the episode's first and last red and its last green with their builds, the reds in a row, the flaps, and the episode's cause. A credential that does not read the queue is answered no `lease` and no `held_by` member, and an `issue` member that is null where the answered `issue` is null.

Type: object
/properties/issue The issue the check opened or names, or null. A credential that does not read the queue is answered the members a filing's answer gives of an issue and no report, or null where the issue is restricted or its record carries no `restricted` member.

Type: ["object","null"]
/properties/outcome What the run did: `opened` an issue past the debounce, `counted` a red on an open episode, `exposed` a fix, or a plain `green` or `red`.

Type: string
Allowed values: ["opened","counted","exposed","green","red"]

Complete payload contract

{
  "request": {
    "type": "object",
    "required": [
      "check",
      "result"
    ],
    "properties": {
      "check": {
        "type": "string",
        "maxLength": 200,
        "description": "The run's stable key, 1 to 200 printable characters, the same on every run of the same thing."
      },
      "result": {
        "type": "string",
        "enum": [
          "green",
          "red"
        ],
        "description": "The run passed, `green`, or failed, `red`."
      },
      "covers": {
        "type": "object",
        "description": "Optional: what the run exercised.",
        "properties": {
          "components": {
            "type": "array",
            "maxItems": 50,
            "items": {
              "type": "string",
              "maxLength": 200
            },
            "description": "The components the run exercised, each a component the space declares."
          },
          "actions": {
            "type": "array",
            "maxItems": 50,
            "items": {
              "type": "string",
              "maxLength": 200
            },
            "description": "The actions the run called."
          }
        }
      },
      "builds": {
        "type": "array",
        "maxItems": 20,
        "items": {
          "type": "object",
          "description": "A build the report saw or the run ran: its release line, null where none is named, its version, and its environment.",
          "required": [
            "version",
            "environment"
          ],
          "properties": {
            "line": {
              "type": [
                "string",
                "null"
              ],
              "description": "The release line, a line the space declares, or null."
            },
            "version": {
              "type": "string",
              "maxLength": 200,
              "description": "The build version, 1 to 200 printable characters."
            },
            "environment": {
              "type": "string",
              "maxLength": 200,
              "description": "The environment the build ran in, 1 to 200 printable characters."
            }
          }
        },
        "description": "Optional: the builds the run ran, at most 20."
      },
      "cause": {
        "type": [
          "string",
          "null"
        ],
        "description": "Optional: your own attribution of a red, `harness` or `estate`, or null."
      },
      "component": {
        "type": "string",
        "maxLength": 64,
        "description": "Optional: your own component, read where a red is the harness's."
      },
      "evidence": {
        "type": "object",
        "description": "Optional: what a red is about: the action, the refusal, the reference, the code site, and context.",
        "properties": {
          "action": {
            "type": "string",
            "maxLength": 200
          },
          "refusal": {
            "type": "string",
            "maxLength": 200
          },
          "reference": {
            "type": "string",
            "maxLength": 200
          },
          "code_site": {
            "type": "string",
            "maxLength": 200
          },
          "environment": {
            "type": "string",
            "maxLength": 200
          },
          "version": {
            "type": "string",
            "maxLength": 200
          },
          "context": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "maxLength": 500
            },
            "maxProperties": 20
          }
        },
        "additionalProperties": false
      },
      "key": {
        "type": "string",
        "maxLength": 200,
        "description": "Optional: the run's idempotency key."
      },
      "source": {
        "type": "string",
        "enum": [
          "person",
          "agent",
          "system"
        ],
        "description": "Optional: the kind of actor posting, `system` where absent."
      },
      "provider": {
        "type": "string",
        "pattern": "^[a-z][a-z0-9-]{0,31}$",
        "description": "An agent's provider; with `session`, both or neither."
      },
      "session": {
        "type": "string",
        "maxLength": 200,
        "description": "An agent's session identifier; with `provider`, both or neither."
      }
    }
  },
  "response": {
    "type": "object",
    "required": [
      "contract_version",
      "check",
      "issue",
      "outcome"
    ],
    "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."
      },
      "check": {
        "type": "object",
        "description": "The check as it now stands: its key, what it covers, its runs and passes, the episode's first and last red and its last green with their builds, the reds in a row, the flaps, and the episode's cause. A credential that does not read the queue is answered no `lease` and no `held_by` member, and an `issue` member that is null where the answered `issue` is null."
      },
      "issue": {
        "type": [
          "object",
          "null"
        ],
        "description": "The issue the check opened or names, or null. A credential that does not read the queue is answered the members a filing's answer gives of an issue and no report, or null where the issue is restricted or its record carries no `restricted` member."
      },
      "outcome": {
        "type": "string",
        "enum": [
          "opened",
          "counted",
          "exposed",
          "green",
          "red"
        ],
        "description": "What the run did: `opened` an issue past the debounce, `counted` a red on an open episode, `exposed` a fix, or a plain `green` or `red`."
      }
    }
  }
}

Shared contracts