fix(automation): retire competing hourly review-repair caller - #779
fix(automation): retire competing hourly review-repair caller#779seonghobae wants to merge 12 commits into
Conversation
📝 WalkthroughWalkthroughThe PR removes the hourly review-repair workflow, documents its retirement under a single-writer control-plane contract, and updates tests to prevent the workflow or repository-owned scheduler delegation from returning. ChangesHourly repair caller retirement
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current head2f5e6fb095406898a3da543729285d3bf232326b. -
Head SHA:
2f5e6fb095406898a3da543729285d3bf232326b -
Workflow run: 31542101442
-
Workflow attempt: 1
Coverage evidence
Coverage evidence job did not run or did not publish coverage evidence.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: hourly-review-repair.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: hourly-review-repair.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Docs: hourly-review-repair-caller.md"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs: hourly-review-repair-caller.md"]
R2 --> V2["docs review"]
Evidence --> S3["Test: test_hourly_review_repair_workflow.py"]
S3 --> I3["regression suite"]
I3 --> R3["Review risk: Test: test_hourly_review_repair_workflow.py"]
R3 --> V3["targeted test run"]
OpenCode Review Overview
Pull request overviewOpenCode cannot approve yet because required coverage evidence did not pass. Review outcome1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
Coverage evidenceCoverage evidence job did not run or did not publish coverage evidence. Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: hourly-review-repair.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: hourly-review-repair.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Docs: hourly-review-repair-caller.md"]
S2 --> I2["operator or user guidance"]
I2 --> R2["Review risk: Docs: hourly-review-repair-caller.md"]
R2 --> V2["docs review"]
Evidence --> S3["Test: test_hourly_review_repair_workflow.py"]
S3 --> I3["regression suite"]
I3 --> R3["Review risk: Test: test_hourly_review_repair_workflow.py"]
R3 --> V3["targeted test run"]
|
|
Superseded by GREEN re-apply on current main. |
RCA
Protected
mainstill contains the repository-local hourly review-repair caller introduced by #763. Its first two default-branch scheduled runs (31531589790,31537656804) both ended instartup_failurebefore GitHub created any jobs, so the caller has no operational acceptance evidence. Independently, retaining a second scheduled mutation plane conflicts with the repository single-writer lease.Root-cause-changing remedy
This Draft stands directly on protected
mainand contains only the product-owned retirement slice:.github/workflows/hourly-review-repair.ymlrather than weaken/retry its gates or edit the read-only central.githubdependency;pr-review-fix-scheduler.yml@...;SUPERSEDEDwhile preserving feat(automation): run hourly bounded review repair #558/feat(automation): run hourly bounded review repair #763 and the failed-run lineage.This does not weaken CI, security, review-thread handling or protected-branch policy. It removes a competing writer path that never reached job execution.
Exact-current clean-lineage evidence
mainatc91ae210bc8e0340a5b0587cf5289b82a2e8ab92;662d652f359c674cfd4dd3c9620f2e7c9e9cdfb8;strix, OpenCode review, coverage/bootstrap/queue governance, dependency/security scans, package and GPU-smoke evidence have succeeded on the current main-based line where already terminal;31550463355reached the complete Python 3.14 suite and failed on five pre-existing protected-main contract inconsistencies, not on the three fix(automation): retire competing hourly review-repair caller #779 paths: two canonical documentation-maturity literal regressions and three historical NumPy-fallback tests that contradict protected-main Rust fail-closeds_x2/person_fitbehavior;The checkout for that run was the correct synthetic merge
d1e7deb477117b05eac6727ad6c60fcd279a51f9(662d652...intoc91ae210...), so the earlier wrong-base hypothesis is superseded by this exact evidence.Merge boundary
Keep Draft while protected
mainitself cannot satisfy the full current Python suite. Once the canonical main-baseline documentation/fitstats regressions are integrated, regenerate every base-sensitive required context on the unchanged #779 head/base and merge only if the three-path slice remains gate-clean with zero valid unresolved findings. Do not patch unrelated docs/fitstats in this branch and do not restore a competing writer to retrigger review.The organization
.githubrepository remains a read-only governance dependency from this repository; this PR does not create, repair, or broaden any upstream writer.