Jason Woltje
432dbd4d83
fix( #365 ): fix ruff, mypy, pip, and bandit issues in coordinator
...
- Fix 20 ruff errors: UP035 (Callable import), UP042 (StrEnum), E501
(line length), F401 (unused imports), UP045 (Optional -> X | None),
I001 (import sorting)
- Fix mypy error: wrap slowapi rate limit handler with
Exception-compatible signature for add_exception_handler
- Pin pip >= 25.3 in Dockerfile (CVE-2025-8869, CVE-2026-1703)
- Add nosec B104 to config.py (container-bound 0.0.0.0 is acceptable)
- Add nosec B101 to telemetry.py (assert for type narrowing)
- Create bandit.yaml to suppress B404/B607/B603 in gates/ tooling
Fixes #365
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-12 12:46:25 -06:00
72321f5fcd
feat( #159 ): Implement queue manager
...
Implements QueueManager with full dependency tracking, persistence, and status management.
Key features:
- QueueItem dataclass with status, metadata, and ready flag
- QueueManager with enqueue, dequeue, get_next_ready, mark_complete
- Dependency resolution (blocked_by → not ready)
- JSON persistence with auto-save on state changes
- Automatic reload on startup
- Graceful handling of circular dependencies
- Status transitions (pending → in_progress → completed)
Test coverage:
- 26 comprehensive tests covering all operations
- Dependency chain resolution
- Persistence and reload scenarios
- Edge cases (circular deps, missing items)
- 100% code coverage on queue module
- 97% total project coverage
Quality gates passed:
✓ All tests passing (88 total)
✓ Type checking (mypy) passing
✓ Linting (ruff) passing
✓ Coverage ≥85% (97% achieved)
This unblocks #160 (orchestrator needs queue).
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-01 17:55:48 -06:00