{
  "slug": "redis-xread-and-xreadgroup-add-maxcount-and-maxsize-reply-caps-1df1285cbef2",
  "title": "Redis XREAD and XREADGROUP add MAXCOUNT and MAXSIZE reply caps",
  "tools": [
    "redis"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-07-29T17:20:06.000Z",
  "announced_at": "2026-07-29T17:20:06.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When reading one or more streams on Redis 8.10.0+, add `MAXCOUNT` to cap total entries, `MAXSIZE` to cap reply bytes, or both. At least one entry is returned even if it exceeds `MAXSIZE`; if both caps are set, the first reached applies.",
    "examples": [
      "XREAD MAXCOUNT <entry_limit> MAXSIZE <byte_limit> STREAMS <stream_key> <last_seen_id>",
      "XREADGROUP GROUP <group> <consumer> MAXCOUNT <entry_limit> MAXSIZE <byte_limit> STREAMS <stream_key> <last_seen_id>"
    ],
    "gotchas": [
      "Version: 8.10.0",
      "MAXCOUNT maxcount: Positive integer: maximum total entries across all named streams. If `COUNT` is also supplied, `MAXCOUNT` must be at least `COUNT`.",
      "MAXSIZE maxsize: Positive integer: maximum reply size in bytes across all named streams. At least one entry is returned, even if it exceeds this limit.",
      "STREAMS key [key ...] id [id ...] (required): Stream keys followed by one ID per key; entries with IDs greater than each supplied ID are returned.",
      "GROUP group consumer (required): For `XREADGROUP`, identifies the consumer group and consumer.",
      "Prerequisite: Use Redis 8.10.0 or later; these options were added in 8.10.0."
    ]
  },
  "why_it_matters": "Cap the cumulative reply entries or size when reading Redis streams.",
  "sources": [
    "https://github.com/redis/redis/releases/tag/8.10.0",
    "https://redis.io/docs/latest/commands/xread/",
    "https://redis.io/docs/latest/commands/xreadgroup/"
  ],
  "rank": 0.96047,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "wave2a-20261017",
    "verdict_id": "wave2a-20261017:wave2a-20261017-dfb42c7a72492361-7:gate",
    "evidence_hash": "06e7d20c77ffd16ee32e1d08bbbd6a67cb805d9626d925df4df6916083a663e6"
  },
  "review": {
    "draft_hash": "9106da3532d6bd2ea441293575d830f664b1409bc3be8a0b8bcdbce09a87935d",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "wave2a-20261017:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.96 >= 0.9; 2 needed) and Jev gave 0.63 (>= 0.6 needed)."
  }
}
