One decision, five issues
Five open issues are the same question wearing five faces, and none of them can be closed by a pull
request — the deliverable is a branch-protection change on Dev_new_gui, not a diff. That is why
they have sat: an engineer picking any of them up writes code and discovers at the end that there was
none to write.
| Issue |
The face it wears |
| #13162 |
the Python unit-test suite is not a required check |
| #14353 |
python-suite (12 shards) gates nothing |
| #14500 |
strict: false — a PR merges on checks computed against an older base |
| #15107 |
a merge can land with no required context on the head it merges |
| #15272 |
the required-review gate does not hold |
The question
What must be true of a branch before it may merge into Dev_new_gui?
Current protection, measured today: 10 required contexts, strict: false, 0 required approving
reviews, required_conversation_resolution: true.
Options
|
Change |
Consequence |
| A (recommended) |
Add python-suite to required contexts |
Every Python test becomes a gate. Cost: a flaky shard blocks all merges — the suite's stability becomes load-bearing in a way it is not today |
| B |
strict: true |
Closes the stale-base window completely. Cost: every merge forces every other open PR to re-run before it can merge; with 5+ PRs open this serialises the queue |
| C |
Require 1 approving review |
Makes the review gate real. Cost: with sessions unable to approve their own PRs, throughput depends on a second party being available |
| D |
Leave as is |
The window stays open; #15107 and #15272 remain observations rather than defects |
A and B and C are independent — any subset is coherent.
Recommendation
A now, B and C separately. A is the one with a measured cost we already pay: red tests have
merged to Dev_new_gui twice (#13162's evidence), and the suite runs on every PR regardless, so
requiring it adds latency only when it is already failing. B's cost scales with open-PR count and is
worth revisiting when the queue is shorter. C is a workflow question rather than a correctness one.
What happens to the five
They become dependents of this decision. Whichever options are taken, each is closed by the settings
change plus a one-line note recording the new protection state — no code.
One decision, five issues
Five open issues are the same question wearing five faces, and none of them can be closed by a pull
request — the deliverable is a branch-protection change on
Dev_new_gui, not a diff. That is whythey have sat: an engineer picking any of them up writes code and discovers at the end that there was
none to write.
python-suite(12 shards) gates nothingstrict: false— a PR merges on checks computed against an older baseThe question
What must be true of a branch before it may merge into
Dev_new_gui?Current protection, measured today: 10 required contexts,
strict: false, 0 required approvingreviews,
required_conversation_resolution: true.Options
python-suiteto required contextsstrict: trueA and B and C are independent — any subset is coherent.
Recommendation
A now, B and C separately. A is the one with a measured cost we already pay: red tests have
merged to
Dev_new_guitwice (#13162's evidence), and the suite runs on every PR regardless, sorequiring it adds latency only when it is already failing. B's cost scales with open-PR count and is
worth revisiting when the queue is shorter. C is a workflow question rather than a correctness one.
What happens to the five
They become dependents of this decision. Whichever options are taken, each is closed by the settings
change plus a one-line note recording the new protection state — no code.