{
"issueNumber": 470,
"branchName": "feat/470-release-context-plan-comment",
"generatedAt": "2026-04-13T12:00:00Z",
"stories": [
{
"id": "S1",
"title": "Expand findActiveForTask() return type and add findCommentByPrefix() to GitHubService",
"priority": 1,
"dependsOn": [],
"acceptanceCriteria": [
"findActiveForTask() returns { releaseId, key, title, status, rcBranch, baseBranch, directive } when task has active release",
"findActiveForTask() returns null when task has no active release (unchanged)",
"findCommentByPrefix() returns { id, body } for matching comment or null",
"Unit tests pass for both methods"
],
"passes": false,
"completedAt": null
},
{
"id": "S2",
"title": "Wire release context into onPlanComplete() hook with fallback and tests",
"priority": 2,
"dependsOn": [
"S1"
],
"acceptanceCriteria": [
"When task has active release, plan comment is edited to include ## Release Context section with human-readable text and collapsed JSON metadata",
"When task has no release, onPlanComplete() posts simple completion message (unchanged behavior)",
"When plan comment not found, release context posted as standalone comment",
"PhaseHooksModule imports ReleaseModule",
"Unit tests cover both release-present and no-release paths"
],
"passes": false,
"completedAt": null
}
]
}