[COORD-003] Implement queue manager #159

Closed
opened 2026-01-31 21:28:06 +00:00 by jason.woltje · 0 comments
Owner

Objective

Build queue manager that tracks issues, dependencies, and status.

Implementation Details

  1. Create QueueItem dataclass (issue_number, metadata, status, etc.)
  2. Implement QueueManager class:
    • enqueue(issue, metadata)
    • dequeue(issue)
    • get_next_ready()
    • mark_complete(issue)
    • _update_ready_status() (private)
  3. Dependency resolution (blocked_by → not ready)
  4. Persist queue to disk (JSON file)
  5. Reload queue on startup

Context Estimate

  • Files to modify: 4 (queue.py, models.py, persistence.py, tests/)
  • Implementation complexity: medium (25000 tokens)
  • Test requirements: high (15000 tokens)
  • Documentation: medium (3000 tokens)
  • Total estimated: 58500 tokens
  • Recommended agent: glm

Difficulty

medium

Dependencies

  • Blocked by: #158 (COORD-002 - needs parsed metadata to enqueue)
  • Blocks: COORD-004 (orchestrator needs queue)

Acceptance Criteria

  • Can enqueue issues with metadata
  • Can dequeue issues
  • Correctly identifies ready issues (no blockers)
  • Marks issues complete, unblocks dependents
  • Persists queue to disk
  • Reloads queue on startup
  • 85% test coverage
  • Handles circular dependencies gracefully

Testing Requirements

  • Unit tests for all queue operations
  • Test dependency resolution
  • Test persistence/reload
  • Test edge cases: circular deps, missing deps
  • Integration test: Full queue lifecycle
## Objective Build queue manager that tracks issues, dependencies, and status. ## Implementation Details 1. Create QueueItem dataclass (issue_number, metadata, status, etc.) 2. Implement QueueManager class: - enqueue(issue, metadata) - dequeue(issue) - get_next_ready() - mark_complete(issue) - _update_ready_status() (private) 3. Dependency resolution (blocked_by → not ready) 4. Persist queue to disk (JSON file) 5. Reload queue on startup ## Context Estimate - Files to modify: 4 (queue.py, models.py, persistence.py, tests/) - Implementation complexity: medium (25000 tokens) - Test requirements: high (15000 tokens) - Documentation: medium (3000 tokens) - **Total estimated: 58500 tokens** - **Recommended agent: glm** ## Difficulty medium ## Dependencies - Blocked by: #158 (COORD-002 - needs parsed metadata to enqueue) - Blocks: COORD-004 (orchestrator needs queue) ## Acceptance Criteria - [ ] Can enqueue issues with metadata - [ ] Can dequeue issues - [ ] Correctly identifies ready issues (no blockers) - [ ] Marks issues complete, unblocks dependents - [ ] Persists queue to disk - [ ] Reloads queue on startup - [ ] 85% test coverage - [ ] Handles circular dependencies gracefully ## Testing Requirements - Unit tests for all queue operations - Test dependency resolution - Test persistence/reload - Test edge cases: circular deps, missing deps - Integration test: Full queue lifecycle
jason.woltje added the p0apiapi labels 2026-01-31 21:28:06 +00:00
jason.woltje added this to the M4.1-Coordinator (0.0.4) milestone 2026-01-31 21:28:43 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaic/stack#159