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.
How it rides
Section titled “How it rides”Content that carries suite_event_type: "dev.agentpod.check.failed.v2".
Who sends it, who reads it
Section titled “Who sends it, who reads it”- Sent by AgentPod, SuperExchange.
- Read by SuperMessage.
The carrier is whichever service carries the board’s chat: AgentPod’s hub, or SuperExchange for a board that has moved to it.
Fields
Section titled “Fields”| 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 |
Example
Section titled “Example”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"}Refused
Section titled “Refused”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)
Source
Section titled “Source”- Schema:
schemas/matrix/dev.agentpod.check.failed.v2.json - In the package:
import schema from "@superjackfruitlabs/treaty-matrix-events/schemas/dev.agentpod.check.failed.v2.json" with { type: "json" };