Task Summary
Add required_conversation_resolution: true to the main branch protection block in .asf.yaml so that PR review threads must be marked Resolved before a PR can be merged.
Current behavior — .asf.yaml configures only required_approving_review_count: 1 and required_linear_history: true. GitHub PR reviews have three states (Approve / Request changes / Comment); only Approve counts toward approvals and only Request changes blocks merging. Inline review threads and Comment-style reviews — including those from Copilot review — do not gate merging today.
Desired behavior — All inline conversations must be Resolved before merge. Approval flow is unchanged.
Precedent in ASF — 40 Apache repositories already use this field in their .asf.yaml (verified via gh api search/code?q=org:apache+required_conversation_resolution+filename:.asf.yaml). Examples: apache/airflow, apache/pulsar, apache/logging-log4j2, apache/cloudberry, apache/fineract, apache/bifromq, apache/iggy, apache/nuttx, apache/openserverless, apache/ignite-3. apache/pulsar annotates the line with: "Requires all conversations on code to be resolved before a pull request can be merged."
References
Task Type
Task Summary
Add
required_conversation_resolution: trueto themainbranch protection block in.asf.yamlso that PR review threads must be marked Resolved before a PR can be merged.Current behavior —
.asf.yamlconfigures onlyrequired_approving_review_count: 1andrequired_linear_history: true. GitHub PR reviews have three states (Approve / Request changes / Comment); only Approve counts toward approvals and only Request changes blocks merging. Inline review threads and Comment-style reviews — including those from Copilot review — do not gate merging today.Desired behavior — All inline conversations must be Resolved before merge. Approval flow is unchanged.
Precedent in ASF — 40 Apache repositories already use this field in their
.asf.yaml(verified viagh api search/code?q=org:apache+required_conversation_resolution+filename:.asf.yaml). Examples:apache/airflow,apache/pulsar,apache/logging-log4j2,apache/cloudberry,apache/fineract,apache/bifromq,apache/iggy,apache/nuttx,apache/openserverless,apache/ignite-3.apache/pulsarannotates the line with: "Requires all conversations on code to be resolved before a pull request can be merged."References
.asf.yamlfeatures: https://cwiki.apache.org/confluence/display/INFRA/Git+-+.asf.yaml+featuresrequired_conversation_resolutionTask Type