Skip to content

docs(arch): correct rate-limiter, limits, and pipeline drift in ARCHITECTURE.md - #4680

Open
kushaim wants to merge 1 commit into
block:mainfrom
kushaim:fix/4210-architecture-drift
Open

docs(arch): correct rate-limiter, limits, and pipeline drift in ARCHITECTURE.md#4680
kushaim wants to merge 1 commit into
block:mainfrom
kushaim:fix/4210-architecture-drift

Conversation

@kushaim

@kushaim kushaim commented Aug 4, 2026

Copy link
Copy Markdown

Fixes #4210.

The Known Limitations table claimed rate limiting was not implemented and the rate-limiter trait only had a test stub. The Redis-backed RedisRateLimiter in crates/buzz-pubsub/src/rate_limiter.rs is wired into the relay and enforced on WS connect, per-message, and the HTTP bridge (crates/buzz-relay/src/api/bridge.rs:30) — an operator reading the prior gap row would have assumed the relay was unprotected.

Also corrects:

  • Client-facing limits (frame size 65,536 → 524,288, historical filter cap 500 → 1,000) in four places.
  • The stale SEARCH INDEX pipeline step — the search_tsv tsvector is generated on insert; the legacy Typesense worker and its search_index_tx mpsc are gone (handlers/event.rs:502-506).
  • The AppState struct no longer shows the deleted search_index_tx field.
  • The search_tsv exclusion description covers the positive-allowlist shape fresh installs adopt via migration 0008.

Not touched: ALL_KINDS count, the buzz-acp LOC table, and the e2e test counts. The issue itself flags these as "least load-bearing — consider dropping exact numbers"; out of scope for a surgical fix.

…TECTURE.md

Fixes block#4210.

The Known Limitations table claimed rate limiting was not implemented
and the rate-limiter trait only had a test stub. The Redis-backed
RedisRateLimiter in crates/buzz-pubsub/src/rate_limiter.rs is wired
into the relay and enforced on WS connect, per-message, and the HTTP
bridge (crates/buzz-relay/src/api/bridge.rs:30); an operator reading
the prior gap row would have assumed the relay was unprotected.

Also corrects the client-facing limits (frame size 65,536 -> 524,288,
historical filter cap 500 -> 1,000) in four places, drops the stale
SEARCH INDEX pipeline step (the search_tsv tsvector is generated on
insert; the legacy Typesense worker and its search_index_tx mpsc are
gone), removes the deleted search_index_tx field from the AppState
struct, removes the wrong 'implement the rate limiter' bullet from
buzz-pubsub's Does NOT list, and updates the search_tsv exclusion
description to cover the positive-allowlist shape fresh installs
adopt via migration 0008.

Not touched: ALL_KINDS count, the buzz-acp LOC table, and the e2e
test counts. The issue itself flags these as 'least load-bearing
- consider dropping exact numbers'; out of scope for a surgical fix.

Signed-off-by: kushaim <carlossilvajimenez@gmail.com>
@kushaim
kushaim requested a review from a team as a code owner August 4, 2026 08:04
Copilot AI lite review requested due to automatic review settings August 4, 2026 08:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ARCHITECTURE.md drift: rate-limiting claim inverted, stale limits and pipeline description

2 participants