AI Agents SDE Task Viewer
      • Context
      • Plan
      • Prd
  1. Home
  2. AgentSDE
  3. agent-core
  4. gh-352
  5. plan
  6. prd.json
prd.json(1.9 KB)· Apr 8, 2026
{
  "issueNumber": 352,
  "branchName": "rc/multi-tenant",
  "generatedAt": "2026-04-08T22:10:00Z",
  "stories": [
    {
      "id": "S1",
      "title": "Update handleSignal signature and dispatch logic in internal-adapter.service.ts — remove SignalKind, import PhaseResult, dispatch on result.status/blockedType with unrecognized-status fallback",
      "priority": 1,
      "dependsOn": [],
      "acceptanceCriteria": [
        "No import of SignalKind, SignalResult, or SignalParser in any internal-adapter file",
        "handleSignal(taskId, phase, result: PhaseResult) signature in place",
        "Dispatch covers: complete, skip, blocked:transient, blocked:persistent, blocked:conflict",
        "Unrecognized result.status logs warning and treated as blocked:transient"
      ],
      "passes": false,
      "completedAt": null
    },
    {
      "id": "S2",
      "title": "Update PhaseRouterService call sites — remove toSignalKind(), construct PhaseResult from SignalResult, update 3 handleSignal calls",
      "priority": 2,
      "dependsOn": [
        "S1"
      ],
      "acceptanceCriteria": [
        "toSignalKind() method removed from PhaseRouterService",
        "All 3 handleSignal call sites pass PhaseResult objects",
        "review_approved and worktree-failure paths construct valid PhaseResult"
      ],
      "passes": false,
      "completedAt": null
    },
    {
      "id": "S3",
      "title": "Update all unit tests in internal-adapter.service.spec.ts to use PhaseResult objects and add unrecognized-status fallback test",
      "priority": 3,
      "dependsOn": [
        "S1"
      ],
      "acceptanceCriteria": [
        "All handleSignal calls in tests pass PhaseResult objects (no SignalKind strings)",
        "New test: unrecognized status → blocked:transient fallback with warning log",
        "tsc --noEmit passes",
        "npm run test passes",
        "npm run lint passes"
      ],
      "passes": false,
      "completedAt": null
    }
  ]
}
PlanPr description