{
"issueNumber": 233,
"branchName": "fix/233-refine-directive-gated-guard",
"generatedAt": "2026-04-02T12:00:00Z",
"stories": [
{
"id": "S1",
"title": "Add refine pre-validation guard in DirectiveService.applyDirective()",
"priority": 1,
"dependsOn": [],
"acceptanceCriteria": [
"Refine on gated task: clears gate, enqueues refine phase, posts confirmation comment",
"Refine on non-gated task (active/paused/stuck/blocked): posts rejection comment with task status",
"Refine on terminal task (succeeded/failed): posts terminal rejection comment",
"Refine does not overwrite task.directive — preserves existing auto/careful/quick",
"No dispatch event created for rejected refine directives"
],
"passes": false,
"completedAt": null
},
{
"id": "S2",
"title": "Add unit tests for refine directive validation in directive.service.spec.ts",
"priority": 2,
"dependsOn": [
"S1"
],
"acceptanceCriteria": [
"Test: gated task routes to refine phase (clearGate called, enqueuePhase called with 'refine')",
"Test: active task posts rejection, no dispatch/enqueue",
"Test: succeeded task posts terminal rejection, no dispatch/enqueue",
"Test: failed task posts terminal rejection",
"Test: refine preserves existing task.directive value",
"All existing tests continue to pass"
],
"passes": false,
"completedAt": null
}
]
}