Skip to content

fix(automation): retire competing hourly review-repair caller - #779

Closed
seonghobae wants to merge 12 commits into
mainfrom
fix/remove-competing-hourly-review-repair
Closed

fix(automation): retire competing hourly review-repair caller#779
seonghobae wants to merge 12 commits into
mainfrom
fix/remove-competing-hourly-review-repair

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

RCA

Protected main still contains the repository-local hourly review-repair caller introduced by #763. Its first two default-branch scheduled runs (31531589790, 31537656804) both ended in startup_failure before 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 main and contains only the product-owned retirement slice:

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

  • protected base: main at c91ae210bc8e0340a5b0587cf5289b82a2e8ab92;
  • exact Draft head: 662d652f359c674cfd4dd3c9620f2e7c9e9cdfb8;
  • merge base is the protected-main head and the net source diff is exactly three paths: workflow removal, retirement doctoring, and the single-writer regression test;
  • required 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;
  • current-main CI run 31550463355 reached 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-closed s_x2/person_fit behavior;
  • those failures are owned by the canonical documentation/fitstats correction lines (test(judge): close accepted-type and ownership gaps #778/fix(fitstats): require Rust for public infit/outfit #776 family). This PR must not weaken them or reintroduce Python numerical fallbacks merely to make an unrelated control-plane deletion green.

The checkout for that run was the correct synthetic merge d1e7deb477117b05eac6727ad6c60fcd279a51f9 (662d652... into c91ae210...), so the earlier wrong-base hypothesis is superseded by this exact evidence.

Merge boundary

Keep Draft while protected main itself 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 .github repository remains a read-only governance dependency from this repository; this PR does not create, repair, or broaden any upstream writer.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The 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.

Changes

Hourly repair caller retirement

Layer / File(s) Summary
Retirement contract and rollback policy
docs/doctoring/hourly-review-repair-caller.md
The document marks the caller as retired, records startup failures, defines single-writer requirements, preserves lineage, and requires governance approval for reintroduction.
Absence and delegation regression tests
tests/test_hourly_review_repair_workflow.py
The tests verify that the retired workflow is absent and that no repository workflow references the central repair scheduler.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: retiring the competing hourly review-repair caller.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/remove-competing-hourly-review-repair

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae
seonghobae changed the base branch from main to codex/fast-judge-accepted-type-regression August 11, 2026 22:04

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before 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 head 2f5e6fb095406898a3da543729285d3bf232326b.

  • 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"]
Loading

@opencode-agent

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 2f5e6fb095406898a3da543729285d3bf232326b
  • Workflow run: 31542101442
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

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 success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before 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 head 2f5e6fb095406898a3da543729285d3bf232326b.

  • 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"]
Loading

@seonghobae
seonghobae marked this pull request as draft August 11, 2026 23:53
@seonghobae
seonghobae marked this pull request as ready for review August 12, 2026 00:07
@seonghobae
seonghobae marked this pull request as draft August 12, 2026 00:19
@seonghobae
seonghobae changed the base branch from codex/fast-judge-accepted-type-regression to main August 12, 2026 00:21
@seonghobae
seonghobae marked this pull request as ready for review August 12, 2026 00:28
@seonghobae seonghobae closed this Aug 12, 2026
@seonghobae seonghobae reopened this Aug 12, 2026
@seonghobae
seonghobae marked this pull request as draft August 12, 2026 00:38
@seonghobae

Copy link
Copy Markdown
Contributor Author

Superseded by GREEN re-apply on current main.

@seonghobae seonghobae closed this Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant