You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Add rate limiting and quota management for agent operations
Implements per-agent and per-user rate limiting with configurable quotas
for API calls, VM spawning, and approval requests.
Features:
- Token bucket algorithm for smooth rate limiting
- Per-agent and per-user quota tracking
- Configurable limits for different operation types
- Admin dashboard support for monitoring and adjusting quotas
- Admin user exemptions from rate limits
Components:
- RateLimitConfig: Configuration with environment variable support
- Quota: Token bucket implementation with refill logic
- QuotaStore: In-memory storage for quota data
- RateLimitManager: Central manager for rate limit checks
- DashboardData: Admin dashboard support
Tests: 43 unit tests covering all components
Closes: luminaguard-548
Copy file name to clipboardExpand all lines: .beads/issues.jsonl
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@
27
27
{"id":"luminaguard-4aj","title":"Implement Hackable Installation Mode","description":"Part of #440 Daemon Mode epic. Implement source code installation option with git clone and build, developer-friendly debugging, hot-reload, and extensible architecture for custom modifications","status":"closed","priority":1,"issue_type":"task","created_at":"2026-02-17T14:51:32.693165703-05:00","created_by":"alexc","updated_at":"2026-02-17T14:54:57.846922126-05:00","closed_at":"2026-02-17T14:54:57.846922126-05:00","close_reason":"Implemented hackable installation mode with hot-reload, extensible architecture, and comprehensive developer documentation","external_ref":"gh-454"}
28
28
{"id":"luminaguard-4k9","title":"Requirements","description":"- Async server using asyncio to run all connectors","status":"closed","priority":2,"issue_type":"task","created_at":"2026-02-16T20:01:45.14238863-05:00","updated_at":"2026-02-16T20:02:19.96568719-05:00","closed_at":"2026-02-16T20:02:19.96568719-05:00","close_reason":"Closed"}
{"id":"luminaguard-548","title":"Add rate limiting and quota management for agent operations","description":"Implement per-agent and per-user rate limiting with configurable quotas for API calls, VM spawning, and approval requests. Add admin dashboard to monitor and adjust quotas.","status":"open","priority":1,"issue_type":"task","estimated_minutes":240,"created_at":"2026-02-17T15:06:39.720517371-05:00","created_by":"alexc","updated_at":"2026-02-17T15:06:39.720517371-05:00","labels":["feature"]}
30
+
{"id":"luminaguard-548","title":"Add rate limiting and quota management for agent operations","description":"Implement per-agent and per-user rate limiting with configurable quotas for API calls, VM spawning, and approval requests. Add admin dashboard to monitor and adjust quotas.","status":"in_progress","priority":1,"issue_type":"task","estimated_minutes":240,"created_at":"2026-02-17T15:06:39.720517371-05:00","created_by":"alexc","updated_at":"2026-02-19T13:48:33.580245817-05:00","labels":["feature"]}
31
31
{"id":"luminaguard-5aj","title":"Implement Week 2: Security Code Execution Defense","description":"Validate LLM sanitization and tool execution security.\n\nTesting scope:\n- Inject malicious code into LLM prompts\n- Pass dangerous tool arguments\n- Attempt shell injection via MCP\n- Use fuzzing framework and prompt injection tester\n\nExpected: All malicious inputs blocked\n\nAcceptance criteria:\n- [ ] Fuzzing framework implemented\n- [ ] Prompt injection tests created\n- [ ] Shell injection tests created\n- [ ] All malicious inputs verified blocked\n- [ ] Security report generated\n- [ ] Results stored in .beads/metrics/security/\n\nRelated files: docs/validation/security-validation-plan.md","status":"closed","priority":1,"issue_type":"task","created_at":"2026-02-14T22:22:27.222124271-05:00","created_by":"alexc","updated_at":"2026-02-14T23:12:43.025902334-05:00","closed_at":"2026-02-14T23:12:43.025902334-05:00","close_reason":"Closed","dependencies":[{"issue_id":"luminaguard-5aj","depends_on_id":"luminaguard-ztm","type":"blocks","created_at":"2026-02-14T22:23:15.573142841-05:00","created_by":"alexc"}]}
32
32
{"id":"luminaguard-5br","title":"Summary","description":"Create the main bot server entry point that runs all messenger connectors concurrently and manages the 24/7 operation of Luminaguard as an AI assistant bot.","status":"closed","priority":2,"issue_type":"task","created_at":"2026-02-16T20:01:45.141454569-05:00","updated_at":"2026-02-16T20:02:19.963152432-05:00","closed_at":"2026-02-16T20:02:19.963152432-05:00","close_reason":"Closed"}
33
33
{"id":"luminaguard-5jc","title":"Implement Week 3: Reliability Network Partition Testing","description":"Verify network resilience under partition conditions.\n\nTesting scope:\n- Cut MCP connections during operation\n- Test agent behavior without connection\n- Verify fallback mechanisms\n- Test partial failure scenarios\n\nExpected: Graceful handling, no cascading failures\n\nAcceptance criteria:\n- [ ] Network partition test harness created\n- [ ] Connection loss handling verified\n- [ ] Fallback mechanisms tested\n- [ ] Partial failure scenarios tested\n- [ ] No cascading failures observed\n- [ ] Results stored in .beads/metrics/reliability/\n\nRelated files: docs/validation/reliability-testing-plan.md","status":"closed","priority":2,"issue_type":"task","created_at":"2026-02-14T22:22:28.075994569-05:00","created_by":"alexc","updated_at":"2026-02-14T23:12:43.036647483-05:00","closed_at":"2026-02-14T23:12:43.036647483-05:00","close_reason":"Closed","dependencies":[{"issue_id":"luminaguard-5jc","depends_on_id":"luminaguard-qj7","type":"blocks","created_at":"2026-02-14T22:23:16.319033552-05:00","created_by":"alexc"}]}
0 commit comments