-
Notifications
You must be signed in to change notification settings - Fork 0
Render all sub-issues when parent hierarchy issue is closed #278
Description
Feature Description
When a HierarchyIssueRecord parent is closed, render all of its sub-issues in to_chapter_row() — including open ones — so the release notes reflect the full scope of the completed feature. Today, only sub-issues that are closed and have a change increment are rendered regardless of parent state.
Problem / Opportunity
A feature may be "Silent Live" (open) across release N, with some Tasks still open when release N+1 ships and closes the parent. The current behaviour silently drops those still-open Tasks from the "New Features" output, giving an incomplete picture of the feature's scope. Release managers and consumers cannot reconcile what was delivered vs. what was in the spec without manually cross-referencing the issue tracker.
Acceptance Criteria
- Closed parent with one closed sub-issue and one open sub-issue (no change increment) → both appear in to_chapter_row() output.
- Open parent with one closed sub-issue (has PR) and one open sub-issue → only the closed sub-issue appears (no regression on existing behaviour).
Proposed Solution
In to_chapter_row() on HierarchyIssueRecord, replace the unconditional open/change-increment guard with a parent-state-aware check:
if self.is_open:
if sub_issue.is_open:
continue
if not sub_issue.contains_change_increment():
continue
# Closed parent: render all sub-issues regardless of state or change increment
Apply the same logic to sub_hierarchy_issues iteration. No data-layer changes needed — mine_missing_sub_issues() already fetches all sub-issues regardless of tag range. Files: hierarchy_issue_record.py, issue_hierarchy_support.md, tests/unit/.../test_hierarchy_issue_record.py.
Dependencies / Related
- Depends on catch-open-hierarchy feature.
- {progress} token feature is the natural companion — the two features together complete the Silent Live → close lifecycle.
Additional Context
No response