AI Agents SDE Task Viewer
      • Context
      • Plan
      • Prd
  1. Home
  2. AgentSDE
  3. agent-core
  4. gh-457
  5. plan
  6. prd.json
prd.json(1.7 KB)ยท Apr 13, 2026
{
  "issueNumber": 457,
  "branchName": "feat/457-bullmq-job-queue",
  "generatedAt": "2026-04-13T12:00:00Z",
  "stories": [
    {
      "id": "S1",
      "title": "Add JOB_QUEUE_DRIVER to config schema and create BullMQJobQueue implementation",
      "priority": 1,
      "dependsOn": [],
      "acceptanceCriteria": [
        "JOB_QUEUE_DRIVER added to config.schema.ts with valid values 'sqlite'|'bullmq', default 'sqlite'",
        "BullMQJobQueue class implements JobQueue interface (enqueue + onJob)",
        "Uses BullMQ Queue for enqueuing, Worker for consuming",
        "Redis connection uses REDIS_HOST/REDIS_PORT/REDIS_DB from ConfigService",
        "Per-issue concurrency control prevents parallel processing of same issue",
        "Stalled jobs auto-retried by BullMQ (no manual recovery in onModuleInit)",
        "Invalid JOB_QUEUE_DRIVER value rejected by Joi at startup"
      ],
      "passes": false,
      "completedAt": null
    },
    {
      "id": "S2",
      "title": "Update QueueModule for conditional driver registration and add unit tests",
      "priority": 2,
      "dependsOn": [
        "S1"
      ],
      "acceptanceCriteria": [
        "QueueModule reads JOB_QUEUE_DRIVER from ConfigService",
        "JOB_QUEUE token resolves to BullMQJobQueue when driver=bullmq",
        "JOB_QUEUE token resolves to SqliteJobQueue when driver=sqlite (default)",
        "BullModule imported only when driver=bullmq",
        "Unit tests cover: enqueue, onJob handler, per-issue dedup, error handling, cleanup",
        "npm run build passes",
        "npm run test passes",
        "npm run lint passes with zero warnings"
      ],
      "passes": false,
      "completedAt": null
    }
  ]
}
PlanPr description