Decide required status contexts for molecule-ci main branch protection #23
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
needs-hongmingQuestion
Should
molecule-ci@mainenable required status checks now that the merge queue workflow is live? Recommended candidate context from current status API evidence:gitea-merge-queue / queue (push).Impact
Current branch protection has
required_approvals=2,enable_merge_whitelist=false, anddismiss_stale_approvals=true, butenable_status_check=falsewith no required contexts. That means a red or inconsistentmainworkflow can be observed without branch protection enforcing any status context on future merges.Fresh evidence, 2026-05-24 14:40 PDT
molecule-ci@main:enable_status_check=false,status_check_contexts=[],required_approvals=2,enable_merge_whitelist=false,dismiss_stale_approvals=true.3b464deeb58134676040fd52bf82d432f2b98d38.gitea-merge-queue / queue (push)entries.molecule-cirun105332onrefs/heads/mainfor commit3b464deeb581with raw status2/Failureat2026-05-24 21:40:14Z.Non-actions taken
I did not mutate branch protection, rerun workflows, merge, force-push, push to
main, rotate secrets, restart runners, or clean up infrastructure.2026-05-24 19:40 PDT follow-up evidence for required-context decision:
enable_status_check=false,status_check_contexts=[]onmolecule-ci@main.3b464deeb58134676040fd52bf82d432f2b98d38.pending=150,success=150).molecule-ci@mainrun107778on3b464deeb581with raw status2/Failureat2026-05-25 02:40:14Z, alongside repeated cancelled queue runs.This reinforces the original question: should branch protection require a repo-owned status context for
molecule-ci@main, and which context should be canonical? No branch-protection mutation or workflow rerun performed.Hourly CI/security triage evidence (2026-05-24 21:40 PDT / 2026-05-25 04:40 UTC):
molecule-ci@mainis still the outlier:required_approvals=2,enable_merge_whitelist=false,dismiss_stale_approvals=true, butenable_status_check=falseandstatus_check_contexts=[].3b464deeb58134676040fd52bf82d432f2b98d38still shows no failure/error commit statuses in the commit-status API (pending=150,success=150).108759,refs/heads/main, SHA3b464dee, raw status2/Failure, updated2026-05-25 04:40:14Z, while run108788on the same SHA isWaitingand other same-SHA queue runs are cancelled.Hourly CI/security triage evidence (2026-05-24 22:40 PDT / 2026-05-25 05:40 UTC):
molecule-ci@mainremains the outlier:required_approvals=2,enable_merge_whitelist=false,dismiss_stale_approvals=true, butenable_status_check=falseandstatus_check_contexts=[].3b464deeb58134676040fd52bf82d432f2b98d38still shows no failure/error commit statuses in the commit-status API (pending=160,success=160).molecule-ci@mainsame-SHA runs succeeding recently (109228,109204,109162) with older same-SHA cancellations still present. This is better than the prior hour's DB failure row, but branch protection still cannot require any context until contexts are chosen.Hourly CI/security triage evidence (2026-05-25 00:55 PDT / 07:55 UTC):
molecule-ci@mainremains the outlier:required_approvals=2, whitelist disabled, stale approvals dismissed, butenable_status_check=falseandstatus_check_contexts=[].3b464deeb58134676040fd52bf82d432f2b98d38still shows no failure/error commit statuses (pending=185,success=185).molecule-ci@mainsuccess/waiting rows around 07:52-07:55 UTC, so no active DB failure was observed this pass; the policy gap remains the missing required contexts.Hourly CI/security triage evidence (2026-05-25 01:55 PDT / 08:55 UTC):
molecule-ci@mainis unchanged:required_approvals=2, whitelist disabled, stale approvals dismissed, butenable_status_check=falseandstatus_check_contexts=[].3b464deeb58134676040fd52bf82d432f2b98d38still shows no failure/error commit statuses (pending=197,success=197; recheck failure/error count0).molecule-ci@mainsuccesses, with no active same-head DB failure observed this pass.Hourly CI/security triage evidence (2026-05-25 02:55 PDT / 09:55 UTC):
molecule-ci@mainis unchanged:required_approvals=2, whitelist disabled, stale approvals dismissed, butenable_status_check=falseandstatus_check_contexts=[].3b464deeb58134676040fd52bf82d432f2b98d38has no failure/error commit statuses:pending=205,success=205.Hourly CI/security triage evidence (2026-05-25 03:55 PDT / 10:55 UTC):
mainhead remains3b464deeb58134676040fd52bf82d432f2b98d38.pending=217,success=217.refs/heads/mainshowed normal merge-queue churn (Success=213,Cancelled=55), no Failure rows observed.enable_status_check=false,status_check_contexts=[], whilerequired_approvals=2,enable_merge_whitelist=false, anddismiss_stale_approvals=trueare set.permissions: write-all; known write scopes are the auto-promote/disable-auto-merge workflows (contents: write,pull-requests: write).Hourly CI/security triage evidence (2026-05-25 04:55 PDT / 11:55 UTC):
mainhead remains3b464deeb58134676040fd52bf82d432f2b98d38.pending=225,success=225.refs/heads/mainshowed normal merge-queue churn (Success=221,Cancelled=59), no Failure rows observed.enable_status_check=false,status_check_contexts=[], whilerequired_approvals=2,enable_merge_whitelist=false, anddismiss_stale_approvals=trueare set.permissions: write-all; known write scopes are the auto-promote/disable-auto-merge workflows (contents: write,pull-requests: write).Hourly CI/security triage evidence (2026-05-25 06:55 PDT / 13:55 UTC):
mainhead remains3b464deeb58134676040fd52bf82d432f2b98d38.pending=233,success=233.refs/heads/mainshowed merge-queue churn with one failed run row and one waiting run (Success=235,Cancelled=67,Failure=1,Waiting=1). The failed run isgitea-merge-queue.ymlrun index 313; its only job row isqueue=Cancelled, so this appears to be queue cancellation/status drift rather than a failed task log.enable_status_check=false,status_check_contexts=[], whilerequired_approvals=2,enable_merge_whitelist=false, anddismiss_stale_approvals=trueare set.permissions: write-all; known write scopes are the auto-promote/disable-auto-merge workflows (contents: write,pull-requests: write).Hourly CI/security triage evidence (2026-05-25 07:55 PDT / 14:55 UTC):
mainhead remains3b464deeb58134676040fd52bf82d432f2b98d38.pending=239,success=239.refs/heads/mainshowed merge-queue churn with one Failure row and one Waiting row (Success,Cancelled,Failure=1,Waiting=1). The failed run is againgitea-merge-queue.yml; the job row isqueue=Cancelled, consistent with queue cancellation/status drift rather than a task-backed failure.enable_status_check=false,status_check_contexts=[], whilerequired_approvals=2,enable_merge_whitelist=false, anddismiss_stale_approvals=trueare set.permissions: write-all; known write scopes are the auto-promote/disable-auto-merge workflows (contents: write,pull-requests: write).Hourly CI/security triage evidence (2026-05-25 08:55 PDT / 15:55 UTC):
mainhead remains3b464deeb58134676040fd52bf82d432f2b98d38.pending=239,success=239.Failure=1,Waiting=1among many Success/Cancelled rows), consistent with prior queue rows rather than a task-backed failure.enable_status_check=false,status_check_contexts=[], whilerequired_approvals=2,enable_merge_whitelist=false, anddismiss_stale_approvals=trueare set.permissions: write-all; known write scopes are auto-promote/disable-auto-merge workflows (contents: write,pull-requests: write).Hourly CI/security triage evidence (2026-05-25 09:55 PDT / 16:55 UTC):
mainhead remains3b464deeb58134676040fd52bf82d432f2b98d38.pending=239,success=239.Failure=1,Waiting=1among many Success/Cancelled rows), consistent with prior queue rows rather than a task-backed failure.enable_status_check=false,status_check_contexts=[], whilerequired_approvals=2,enable_merge_whitelist=false, anddismiss_stale_approvals=trueare set.permissions: write-all; known write scopes are auto-promote/disable-auto-merge workflows (contents: write,pull-requests: write).2026-05-25 10:55 PDT triage update: current main remains
3b464deeb5. Commit-status API sample has no failure/error rows (pending=239, success=239), but the branch-protection gap is unchanged and still the main security posture finding here:enable_status_check=false,status_check_contexts=[], required approvals=2, merge whitelist enforcement disabled, stale approvals dismissed.I did not mutate branch protection or rerun workflows. This remains a needs-human/config decision for required contexts before this repo can be considered aligned with the rest of the critical set.
Hourly CI/security triage evidence (2026-05-25 11:55 PDT / 18:55 UTC):
Current main remains
3b464deeb58134676040fd52bf82d432f2b98d38. Commit-status API sample has no failure/error rows (pending=239,success=239). DB cross-check still shows the long-running merge-queue/cancellation pattern and one latest current-head action_run row atstatus=5(Waiting), plus a failed row at index 375; the commit-status API did not surface that as a failure/error context.Security posture gap is unchanged: branch protection has
enable_status_check=falseandstatus_check_contexts=[]while keepingrequired_approvals=2, merge whitelist enforcement disabled, stale approvals dismissed.needs-hongming: please confirm which required status contexts should be enforced for
molecule-ci@mainso this repo can match the critical-repo branch-protection baseline. Impact: without required contexts, a two-approval merge can land without repo-owned CI being a protected gate. I did not mutate branch protection or rerun workflows.Hourly CI/security triage evidence (2026-05-25 12:55 PDT / 19:55 UTC):
Current main remains
3b464deeb58134676040fd52bf82d432f2b98d38. Commit-status API sample has no failure/error rows (pending=245,success=245). DB cross-check now showsSuccess=241,Cancelled=135for this SHA; the previous waiting/failed DB rows have moved out of the active risk shape.Security posture gap is unchanged: branch protection has
enable_status_check=falseandstatus_check_contexts=[]while keepingrequired_approvals=2, merge whitelist enforcement disabled, stale approvals dismissed. The existing needs-hongming question from the prior pass still stands: which required status contexts should be enforced formolecule-ci@main?I did not mutate branch protection or rerun workflows.
Hourly CI/security triage evidence (2026-05-25 13:55 PDT / 20:55 UTC):
Current main remains
3b464deeb58134676040fd52bf82d432f2b98d38. Commit-status API sample has no failure/error rows (pending=257,success=257). DB cross-check showsSuccess=253,Cancelled=135for this SHA.Security posture gap is unchanged: branch protection has
enable_status_check=falseandstatus_check_contexts=[]while keepingrequired_approvals=2, merge whitelist enforcement disabled, stale approvals dismissed. The existing needs-hongming question still stands: which required status contexts should be enforced formolecule-ci@main?I did not mutate branch protection or rerun workflows.
Hourly CI/security triage evidence (2026-05-25 14:55 PDT / 21:55 UTC):
Current main remains
3b464deeb58134676040fd52bf82d432f2b98d38. Commit-status API sample has no failure/error rows (pending=269,success=269). DB cross-check showsSuccess=265,Cancelled=135for this SHA.Security posture gap is unchanged: branch protection has
enable_status_check=falseandstatus_check_contexts=[]while keepingrequired_approvals=2, merge whitelist enforcement disabled, stale approvals dismissed. The existing needs-hongming question still stands: which required status contexts should be enforced formolecule-ci@main?I did not mutate branch protection or rerun workflows.
Hourly CI/security triage evidence (2026-05-25 15:55 PDT / 22:55 UTC):
Current main remains
3b464deeb58134676040fd52bf82d432f2b98d38. Commit-status API sample has no failure/error rows (pending=280,success=280). DB cross-check showsSuccess=276,Cancelled=136for this SHA.Security posture gap is unchanged: branch protection has
enable_status_check=falseandstatus_check_contexts=[]while keepingrequired_approvals=2, merge whitelist enforcement disabled, stale approvals dismissed. The existing needs-hongming question still stands: which required status contexts should be enforced formolecule-ci@main?I did not mutate branch protection or rerun workflows.
2026-05-25 23:55Z heartbeat triage evidence:
3b464deeb58134676040fd52bf82d432f2b98d38.action_runsample for this SHA: Success=287, Cancelled=137; no Failure rows.enable_status_check=falseand no required contexts; review gate remainsrequired_approvals=2, merge whitelist disabled, stale approvals dismissed.auto-promote-branch.yml/auto-promote-staging.ymlusecontents: write;disable-auto-merge-on-push.ymlusespull-requests: write; nopermissions: write-allfound in this scan.No branch protection mutation, rerun, merge, or runner cleanup performed. Existing
needs-hongmingquestion on the required-context policy remains the active human decision.2026-05-26 00:55Z heartbeat triage evidence:
670e2081fdfbad0722af89247cc252ce617f9208.action_runsample for this SHA: Success=9; no Failure rows.enable_status_check=falseand no required contexts; review gate remainsrequired_approvals=2, merge whitelist disabled, stale approvals dismissed.auto-promote-branch.yml/auto-promote-staging.ymlusecontents: write;disable-auto-merge-on-push.ymlusespull-requests: write; nopermissions: write-allfound in this scan.No branch protection mutation, rerun, merge, or runner cleanup performed. Existing
needs-hongmingquestion on the required-context policy remains the active human decision.2026-05-26 01:55Z heartbeat triage evidence:
670e2081fdfbad0722af89247cc252ce617f9208.action_runsample for this SHA: Success=19, Cancelled=2; no Failure rows.enable_status_check=falseand no required contexts; review gate remainsrequired_approvals=2, merge whitelist disabled, stale approvals dismissed.auto-promote-branch.yml/auto-promote-staging.ymlusecontents: write;disable-auto-merge-on-push.ymlusespull-requests: write; nopermissions: write-allfound in this scan.No branch protection mutation, rerun, merge, or runner cleanup performed. Existing
needs-hongmingquestion on the required-context policy remains the active human decision.2026-05-26 02:55Z heartbeat triage evidence:
670e2081fdfbad0722af89247cc252ce617f9208.action_runsample for this SHA: Success=31, Cancelled=2; no Failure rows.enable_status_check=falseand no required contexts; review gate remainsrequired_approvals=2, merge whitelist disabled, stale approvals dismissed.auto-promote-branch.yml/auto-promote-staging.ymlusecontents: write;disable-auto-merge-on-push.ymlusespull-requests: write; nopermissions: write-allfound in this scan.No branch protection mutation, rerun, merge, or runner cleanup performed. Existing
needs-hongmingquestion on the required-context policy remains the active human decision.2026-05-26 03:55Z heartbeat triage evidence:
670e2081fdfbad0722af89247cc252ce617f9208.action_runsample for this SHA: Success=39, Failure=1, Cancelled=4, Running=1. Failed run title:Merge pull request 'style: ruff cleanup — split multi-import lines + remove unused imports' (#22) from fix/ruff-e401-f401-split-imports into main.enable_status_check=falseand no required contexts; review gate remainsrequired_approvals=2, merge whitelist disabled, stale approvals dismissed.permissions: write-allfound in this scan.No branch protection mutation, rerun, merge, or runner cleanup performed. Existing
needs-hongmingquestion on the required-context policy remains the active human decision.2026-05-26 04:55Z heartbeat triage evidence:
670e2081fdfbad0722af89247cc252ce617f9208.enable_status_check=falseand no required contexts; review gate remainsrequired_approvals=2, merge whitelist disabled, stale approvals dismissed.permissions: write-allfound in this scan.No branch protection mutation, rerun, merge, or runner cleanup performed. Existing
needs-hongmingquestion on the required-context policy remains the active human decision.CI/security heartbeat — 2026-05-26 06:17 PDT / 13:17 UTC
Fresh evidence:
670e2081fd.No branch protection mutation performed.
CI/security heartbeat — 2026-05-26 10:28 PDT / 17:28 UTC
Fresh evidence:
670e2081fd.No branch protection mutation performed.
CI/security heartbeat — 2026-05-26 11:28 PDT / 18:28 UTC
Fresh evidence:
670e2081fdfbad0722af89247cc252ce617f9208.success=178,pending=178, no failure/error statuses.enable_status_check=falseand an empty required-context list, with required approvals=2, merge whitelist disabled, stale approvals dismissed.permissions: write-all; known scoped writes/OIDC remain inmolecule-ciauto-promote/disable-auto-merge workflows andcodex-channel-moleculepublish.No branch protection mutation performed.
2026-05-26 13:28 PDT triage update:
Fresh evidence:
molecule-ci@670e2081fdfbad0722af89247cc252ce617f9208has API statusessuccess=200,pending=200, no failure/error.enable_status_check=falseand no required contexts, withrequired_approvals=2anddismiss_stale_approvals=true.No branch protection mutation performed.
CI/security heartbeat 2026-05-26 14:28 PDT fresh sample:
molecule-ci@670e2081fdfbad0722af89247cc252ce617f9208: API statusessuccess=210,pending=210, no failure/error.gitea-merge-queue.ymlfor PR #22 merge commit on main.enable_status_check=falseand no required contexts; approvals=2 and stale-approval dismissal remain enabled.CI/security heartbeat 2026-05-26 15:28 PDT fresh sample:
molecule-ci@670e2081fdfbad0722af89247cc252ce617f9208: API statusessuccess=219,pending=219, no failure/error.enable_status_check=falseand no required contexts; approvals=2 and stale-approval dismissal remain enabled.Hourly CI/security triage evidence (2026-05-30 15:10 PDT / 22:10 UTC)
Fresh molecule-ci/main evidence:
522a5a68a1.No branch-protection mutation or workflow rerun performed. The standing needs-hongming decision remains: choose the required status contexts for molecule-ci@main so this critical repo matches the rest of the protected-branch baseline.
Hourly CI/security triage evidence (2026-05-30 16:10 PDT / 23:10 UTC)
Fresh molecule-ci/main evidence:
522a5a68a1.No branch-protection mutation or workflow rerun performed. Standing needs-hongming decision remains: choose required status contexts for molecule-ci@main.