AGUI506

August 29, 2026 · View on GitHub

Severity: info · Group: Transport · Checked in: transport · Since: 0.x

Message: No event or keepalive frame for {seconds}s

Spec grounding

The spec has no single quotable sentence for this behavior; the rule is grounded in the linked section as a whole.

Source: https://docs.ag-ui.com/concepts/architecture#standard-http-client

The spec is not fully explicit here; the ambiguity is tracked as SQ-5 and the severity is capped accordingly (false positives are worse than false negatives).

Example

This rule is checked at the transport layer, so its fixture is a timed HTTP replay rather than a bare stream — see spec/fixtures/invalid/AGUI506-keepalive-gap and the replay protocol in spec/fixtures/README.md:

{
  "contentType": "text/event-stream",
  "chunks": [
    {
      "gapMs": 0,
      "text": "data: {\"type\":\"RUN_STARTED\",\"threadId\":\"thread_001\",\"runId\":\"run_001\",\"timestamp\":1755300023700}\n\n"
    },
    {
      "gapMs": 0,
      "text": "data: {\"type\":\"TEXT_MESSAGE_START\",\"messageId\":\"msg_001\",\"role\":\"assistant\",\"timestamp\":1755300023800}\n\n"
    },
    {
      "gapMs": 0,
      "text": "data: {\"type\":\"TEXT_MESSAGE_CONTENT\",\"messageId\":\"msg_001\",\"delta\":\"Thinking very hard…\",\"timestamp\":1755300023900}\n\n"
    },
    {
      "gapMs": 0,
      "text": "data: {\"type\":\"TEXT_MESSAGE_END\",\"messageId\":\"msg_001\",\"timestamp\":1755300024000}\n\n"
    },
    {
      "gapMs": 47000,
      "text": "data: {\"type\":\"RUN_FINISHED\",\"threadId\":\"thread_001\",\"runId\":\"run_001\",\"outcome\":{\"type\":\"success\"},\"timestamp\":1755300024100}\n\n"
    }
  ]
}

Expected findings:

  • info AGUI506 at stream — No event or keepalive frame for 47s