feat: queue-management implementation (#262)#309
feat: queue-management implementation (#262)#309rubenvdlinde wants to merge 15 commits intodevelopmentfrom
Conversation
… 1 fix - QueueOverflowJob::__construct(): setInterval(interval:) → setInterval(seconds:) The TimedJob::setInterval() parameter is named \$seconds, not \$interval. PHPStan flagged unknown-parameter + missing-parameter (2 errors, 1 line). Co-fixed-by: Juan Claude van Damme <hydra-reviewer@conduction.nl>
Fixed ObjectService::findAll() calls to use the correct API signature: - Changed from separate register/schema/filters named parameters to single config array - Moved all parameters (including _limit, _order, _rbac, _multitenancy) into top-level config - This resolves the ObjectService API mismatch that was causing tests to be skipped (#286) Affected files: - lib/Service/QueueService.php: fixed in getQueueDepth(), processOverflow(), moveExcessItems() - lib/Service/DefaultQueueService.php: fixed in createDefaultQueues(), createDefaultSkills() These changes should allow the previously skipped tests in QueueOverflowJobTest and DefaultQueueServiceTest to pass once the entire codebase's ObjectService API calls are fixed.
- Fix 18 PHPCS array double-arrow alignment violations in QueueService.php (phpcbf auto-fix) Co-fixed-by: Juan Claude van Damme <hydra-reviewer@conduction.nl>
Code Review — Juan Claude van DammeResult: FAIL (0 fixed, 2 unfixed gates, 0 findings in changed files) Changed-file findingsThe 6 changed files are clean: EUPL-1.2 headers present, Failing gates (unfixed — outside bounded scope)
Skipped gates
See JSON verdict below (in reviewer's final message) for full audit trail. |
Security Review — Clyde BarcodeResult: PASS (0 fixed, 0 unfixed, 0 blocking) Checks run
FindingsNo security findings in the 6 changed files. The changes are limited to:
The npm audit drift noteThe pre-review-quality stage reported Skipped checks
|
Closes #262
Summary
Implements queue-management feature for Pipelinq with priority-ordered work queues, skill-based routing, and overflow handling. Enables workload distribution across teams and agents with automatic overflow management when queue capacity is exceeded.
Spec Reference
openspec/changes/queue-management/design.mdChanges
lib/Service/QueueService.php— Queue operations (depth check, capacity validation, assignment, overflow processing)lib/Service/DefaultQueueService.php— Default queue and skill creation during app initializationlib/BackgroundJob/QueueOverflowJob.php— Timed background job for monitoring queue capacitiesappinfo/info.xml— Registered QueueOverflowJob as background jobtests/Unit/Service/QueueServiceTest.php— Comprehensive tests for queue operationstests/Unit/BackgroundJob/QueueOverflowJobTest.php— Tests for overflow job executionTest Coverage
Quality Checks