Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
82b7cb1
fix(governance): select enabled auto-merge method
seonghobae Jul 13, 2026
ac2bf77
test(governance): cover auto-merge settings race
seonghobae Jul 13, 2026
b7843e0
fix(review): retry exhausted pool in central repository
seonghobae Jul 13, 2026
edcdf19
fix(review): make fast approval reusable
seonghobae Jul 13, 2026
d03f12b
fix(governance): tolerate protected stale review
seonghobae Jul 14, 2026
027a03d
fix(governance): close scheduler security races
seonghobae Jul 20, 2026
5468c49
test(governance): cover scheduler refresh guards
seonghobae Jul 20, 2026
8b122af
fix(governance): deduplicate dynamic review runs
seonghobae Jul 20, 2026
c8f5111
fix(governance): deduplicate pending review runs
seonghobae Jul 20, 2026
776cdf7
Merge branch 'main' into fix/opencode-merge-method-concurrency-20260714
opencode-agent[bot] Jul 23, 2026
43b8428
chore(ci): bootstrap PR 558 status-filter repair
seonghobae Aug 3, 2026
7743915
chore(ci): trigger reviewed PR 558 status repair
seonghobae Aug 3, 2026
c5c2dfa
chore(ci): remove inactive PR 558 bootstrap workflow
seonghobae Aug 3, 2026
ab21b5e
fix(ci): retry PR 558 active-status repair
seonghobae Aug 3, 2026
a496626
chore(ci): trigger bounded PR 558 repair
seonghobae Aug 3, 2026
64a2c1d
fix(ci): allow bounded PR 558 repair trigger
seonghobae Aug 3, 2026
2640fc7
fix(ci): trigger PR 558 active-status repair safely
seonghobae Aug 3, 2026
a821b2a
fix(ci): retrigger bounded PR 558 repair
seonghobae Aug 3, 2026
40a07b0
chore(ci): trigger PR 558 active-status repair
seonghobae Aug 3, 2026
06f5f8e
chore(ci): retrigger PR 558 active-status repair
seonghobae Aug 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/opencode-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4230,6 +4230,8 @@ jobs:
body="$(printf '%s\n' \
"## Pull request overview" \
"" \
"OpenCode reviewed the current-head bounded evidence and found no blocking issues." \
"" \
"$model_summary" \
"" \
"## Findings" \
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-review-merge-scheduler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches: [main, develop, master]
pull_request_target:
types: [opened, synchronize, reopened, ready_for_review, auto_merge_enabled, closed]
types: [opened, synchronize, reopened, ready_for_review, closed]
pull_request_review:
types: [submitted, dismissed]
workflow_run:
Expand Down
94 changes: 94 additions & 0 deletions .github/workflows/pr558-active-status-repair-v2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: PR 558 Active Status Repair v2

on:
push:
branches:
- fix/opencode-merge-method-concurrency-20260714
pull_request:
branches:
- main
types: [opened, synchronize, reopened]
paths:
- .github/workflows/pr558-active-status-repair-v2.yml
- scripts/ci/pr_review_merge_scheduler.py
- tests/test_pr_review_merge_scheduler.py

permissions:
contents: write

concurrency:
group: pr558-active-status-repair-v2
cancel-in-progress: true

jobs:
repair:
if: >-
github.event_name == 'push'
|| github.event.pull_request.head.ref == 'fix/opencode-merge-method-concurrency-20260714'
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Harden runner
uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
with:
egress-policy: audit

- name: Checkout exact repair branch
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: fix/opencode-merge-method-concurrency-20260714
fetch-depth: 0
persist-credentials: true

- name: Apply bounded REST status repair
run: |
set -euo pipefail
python3 - <<'PY'
from pathlib import Path

scheduler = Path("scripts/ci/pr_review_merge_scheduler.py")
source = scheduler.read_text(encoding="utf-8")
old = '''ACTIVE_WORKFLOW_RUN_STATUSES = (
"queued",
"in_progress",
"pending",
"waiting",
"requested",
)'''
new = '''ACTIVE_WORKFLOW_RUN_STATUSES = (
"queued",
"in_progress",
"waiting",
)'''
if new not in source:
if source.count(old) != 1:
raise SystemExit("expected active-workflow status tuple was not found")
source = source.replace(old, new, 1)
scheduler.write_text(source, encoding="utf-8")

tests = Path("tests/test_pr_review_merge_scheduler.py")
test_source = tests.read_text(encoding="utf-8")
marker = "def test_active_workflow_run_statuses_are_api_valid()"
if marker not in test_source:
test_source += '''\n\ndef test_active_workflow_run_statuses_are_api_valid():\n assert sched.ACTIVE_WORKFLOW_RUN_STATUSES == (\n "queued",\n "in_progress",\n "waiting",\n )\n assert not ({"pending", "requested"} & set(sched.ACTIVE_WORKFLOW_RUN_STATUSES))\n'''
tests.write_text(test_source, encoding="utf-8")
PY
rm -f .github/workflows/pr558-active-status-repair-v2.yml

- name: Validate focused scheduler contracts
run: |
set -euo pipefail
python3 -m pytest -q tests/test_pr_review_merge_scheduler.py
python3 scripts/ci/pr_review_merge_scheduler.py --self-test
git diff --check
test ! -e .github/workflows/pr558-active-status-repair-v2.yml

- name: Commit verified repair
run: |
set -euo pipefail
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git add -A
git diff --cached --check
git commit -m "fix(scheduler): restrict active workflow status filters"
git push origin HEAD:fix/opencode-merge-method-concurrency-20260714
2 changes: 2 additions & 0 deletions docs/.pr558-active-status-repair-trigger
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
trigger reviewed active-status repair
retrigger after unresolved API status review
Loading
Loading