{"version":"2.1.223","anchor":"peer-messages-are-admitted-through-a-new-loop-and-abuse-guar","canonical_anchor":"peer-messages-are-admitted-through-a-new-loop-and-abuse-guar","heading":"Peer messages are admitted through a new loop and abuse guard","tier":"notice","area":"Peer Messaging","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.223\/e\/peer-messages-are-admitted-through-a-new-loop-and-abuse-guar","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.223","markdown":"### Peer messages are admitted through a new loop and abuse guard\n\nIncoming peer messages now pass rate, duplicate and loop checks before queuing, with drops shown to you.\n\n**What**\n\nIncoming peer messages are checked before they reach the queue, so a runaway relay chain or a flood from one sender is dropped rather than processed.\n\n**Details**\n\n- checks are a per-sender token bucket, a duplicate-body window, a self-hop loop detector, a relay-chain length cap, and a cap on queued peer messages\n- built-in defaults: bucketCapacity 30, refillPerSecond 0.5, dedupWindowMs 30000, maxSelfHops 10, maxChainLength 28, maxTrackedSenders 256\n- limits are read from remote config key `tengu_harbor_kite_limits` and fall back to that built-in defaults object\n- rejections surface to the user as a drop notice and are counted in telemetry\n\n**Evidence**\n\n`message has already passed through this session (a peer messaging loop)`\n\n- Flag `tengu_harbor_kite_limits`: Not enough to say (read for one account on one subscription tier against v2.1.223; this account: no value returned, anonymous baseline: no value returned, compiled default: not a boolean we can read) These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.\n- Area: Peer Messaging\n- Names: `tengu_harbor_kite_limits`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 0\/5"}