Skip to content

dev.superpipeline.attention.outcome.v1

The receipt that closes a waiting card: which card, which wait, what was decided (an option id, or settled_elsewhere) and by whom, referencing the card’s message. Keyed by wait, not gate: a wait has no gate. Readers ignore properties they do not know.

Content that carries suite_event_type: "dev.superpipeline.attention.outcome.v1".

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.superpipeline.attention.outcome.v1" yes
board_id string yes at least 1 character
card_id string yes at least 1 character
wait_id string yes at least 1 character
decision string yes pattern ^(resume_here|archive|resume_at:.+|settled_elsewhere)$
decided_by string or null yes
m.relates_to object yes
m.relates_to.rel_type "m.reference" yes
m.relates_to.event_id string yes at least 1 character

The schema also states these rules across fields, as written:

{
"not": {
"required": [
"gate_id"
]
}
}

From fixtures/matrix-events/examples.json, case “resumed here”:

{
"suite_event_type": "dev.superpipeline.attention.outcome.v1",
"board_id": "brd_7c1f",
"card_id": "crd_6b40",
"wait_id": "wait_0123456789abcdef",
"decision": "resume_here",
"decided_by": "fixture-person",
"m.relates_to": {
"rel_type": "m.reference",
"event_id": "$attentionEventId"
}
}

The corpus has 4 valid cases in all:

resumed at an earlier stage
{
"suite_event_type": "dev.superpipeline.attention.outcome.v1",
"board_id": "brd_7c1f",
"card_id": "crd_6b40",
"wait_id": "wait_0123456789abcdef",
"decision": "resume_at:plan",
"decided_by": "fixture-person",
"m.relates_to": {
"rel_type": "m.reference",
"event_id": "$attentionEventId"
}
}
archived
{
"suite_event_type": "dev.superpipeline.attention.outcome.v1",
"board_id": "brd_7c1f",
"card_id": "crd_6b40",
"wait_id": "wait_0123456789abcdef",
"decision": "archive",
"decided_by": "fixture-person",
"m.relates_to": {
"rel_type": "m.reference",
"event_id": "$attentionEventId"
}
}
settled elsewhere, naming nobody
{
"suite_event_type": "dev.superpipeline.attention.outcome.v1",
"board_id": "brd_7c1f",
"card_id": "crd_6b40",
"wait_id": "wait_0123456789abcdef",
"decision": "settled_elsewhere",
"decided_by": null,
"m.relates_to": {
"rel_type": "m.reference",
"event_id": "$attentionEventId"
}
}

Each of these must fail. The corpus says why:

  • no wait_id: a client cannot tell which wait closed (refused by schema)
  • no reference to the card’s message (refused by schema)
  • the gate outcome’s type (refused by schema)
  • no decision (refused by schema)