Tenant A blocked correctly at request 11. Tenant B also blocked at request 11. Phase 7 added a rate limit on POST /api/events that reads from tenants.config.rate_limits.events_per_minute . The default cap is 200 requests per minute. A tenant who needs more can be raised to 1000 via an admin PATCH . The integration test seeded two tenants (one on the default, one bumped to 100) and asserted that tenant A got blocked at request 11 while tenant B kept going. Tenant B was supposed to get nine more requests through. The resolver function was fine. The unit tests on resolveTenantEventsRateLimit() all passed. Pass a tenant config with no override, get 200. Pass a tenant with events_per_minute: 100 , get 100. Pass null , get 200. Pass anything over 1000, get clamped to 1000. Five tests, all green. The function did exactly what it was supposed to do. The function was being called with null . Where the Resolver Was Called With Null @fastify/rate-limit accepts a max option that can be a function.…