Skip to content

dev.agentpod.check.failed.v2

The structured half of a failed check’s notice: the check, and the stage the card went back to (null: it could not go back and waits for a person). Readers ignore properties they do not know.

Content that carries suite_event_type: "dev.agentpod.check.failed.v2".

The carrier is whichever service carries the board’s chat: AgentPod’s hub, or SuperExchange for a board that has moved to it.

Field Type Required Description Constraints
suite_event_type "dev.agentpod.check.failed.v2" yes
schema_version integer yes at least 1
board_id string yes at least 1 character; at most 200 characters
card_id string yes at least 1 character; at most 200 characters
card_title string no at most 120 characters
stage_key string yes at least 1 character; at most 200 characters
check yes
returned_to null or string yes
m.relates_to object no
m.relates_to.rel_type "m.reference" yes
m.relates_to.event_id string yes at least 1 character

From fixtures/matrix-events/examples.json, case “checks: a CI check failed and the card went back”:

{
"suite_event_type": "dev.agentpod.check.failed.v2",
"schema_version": 1,
"board_id": "brd_7c1f",
"card_id": "crd_8a40",
"card_title": "Ship the release",
"stage_key": "review",
"check": {
"name": "build",
"provider": "ci",
"status": "failed",
"detail": "lint: failure",
"url": "https://forge.example/acme/app/actions/runs/413"
},
"returned_to": "build"
}

The corpus has 3 valid cases in all:

checks: a verdict failed, the card could not go back, its title unknown, replying to the open checks.waiting card
{
"suite_event_type": "dev.agentpod.check.failed.v2",
"schema_version": 1,
"board_id": "brd_7c1f",
"card_id": "crd_8a40",
"stage_key": "review",
"check": {
"name": "quality",
"provider": "verdict",
"status": "failed",
"detail": "0.62 is under 0.8"
},
"returned_to": null,
"m.relates_to": {
"rel_type": "m.reference",
"event_id": "$checksWaitingEventId"
}
}
built: a failed CI check that sent the card back
{
"suite_event_type": "dev.agentpod.check.failed.v2",
"schema_version": 1,
"board_id": "brd_7c1f",
"card_id": "crd_6b40",
"card_title": "Ship it",
"stage_key": "review",
"check": {
"name": "build",
"provider": "ci",
"status": "failed",
"detail": "2 tests failed",
"url": "https://ci.example/run/2"
},
"returned_to": "draft"
}

Each of these must fail. The corpus says why:

  • a check that passed: this notice is for a failure (refused by schema)
  • no returned_to: a reader cannot tell sent back from waiting (refused by schema)
  • a check name with a slash, which the board never accepts (refused by schema)