Skip to content

fix(ci): remove dead cross-repo repair-review-feedback job - #43

Merged
seonghobae merged 5 commits into
mainfrom
ci/fix-hourly-loop-pinned-scheduler-sha
Aug 25, 2026
Merged

fix(ci): remove dead cross-repo repair-review-feedback job#43
seonghobae merged 5 commits into
mainfrom
ci/fix-hourly-loop-pinned-scheduler-sha

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • hourly-commercialization-loop.yml's repair-review-feedback job called ContextualWisdomLab/.github's pr-review-fix-scheduler.yml cross-repository at a pinned commit SHA.
  • That reusable workflow's current main hardens a same-repository trusted-source check (github.repository == ContextualWisdomLab/.github). A cross-repository caller can never satisfy that check, so every hourly run has failed with zero jobs scheduled ("This run likely failed because of a workflow file issue") for as long as the hardening has been in place -- confirmed via 19 consecutive failed runs over the last 18+ hours (gh run list, jobs API returning total_count: 0).
  • Removes the dead job and updates develop-next-product-gap's needs/if to depend only on inspect-pr-queue and revalidate-pr-queue (unaffected, since pr-review-merge-scheduler.yml's own trust check is a no-op and still accepts cross-repo callers).
  • Companion fix: ContextualWisdomLab/.github#1289 adds a central rankweave-hourly-review-repair.yml caller matching the pattern already used by every other product repository, so review-feedback repair keeps running without RankWeave needing to track a pinned SHA for this reusable workflow ever again.

Test plan

  • actionlint clean (pre-existing shellcheck style nits only, unchanged)
  • python -m pytest -q tests/test_hourly_commercialization_workflow.py (16 tests)
  • python -m coverage run -m pytest -q -- 661 passed, 100% line/branch coverage
  • python -m ruff check . clean

🤖 Generated with Claude Code

https://claude.ai/code/session_01K8VWdPkLwNYHGAKWowfueJ


Open in Devin Review

Summary by CodeRabbit

  • 버그 수정

    • 시간별 상용화 자동화에서 리뷰 피드백 복구 실패 문제를 수정했습니다.
    • 리뷰 복구 처리를 중앙 자동화로 통합하고, 후속 단계의 불필요한 의존성을 제거했습니다.
    • 자동화 작업의 실행 조건과 권한을 정비해 안정성을 높였습니다.
    • 자동화 단계의 저장소 읽기 범위를 제한하고 PR 메타데이터 작성 제어를 강화했습니다.
  • 문서

    • 리뷰 복구 자동화 및 보안 개선 사항을 변경 로그에 추가했습니다.

pr-review-fix-scheduler.yml in ContextualWisdomLab/.github was hardened
to reject any caller whose github.repository is not
ContextualWisdomLab/.github itself. RankWeave's repair-review-feedback
job called it cross-repository at a pinned commit SHA, a shape that
check can never satisfy, so every hourly run failed with zero jobs
scheduled ("workflow file issue") for as long as the hardening has been
in place -- 19+ consecutive failures observed over 18+ hours.

Review-feedback repair moves to a central rankweave-hourly-review-repair.yml
caller in ContextualWisdomLab/.github (companion PR), matching the pattern
already proven for every other product repository in the organization.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K8VWdPkLwNYHGAKWowfueJ
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

Next included review available in 38 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: db564a59-64e9-46f4-b2c5-217a67a3a659

📥 Commits

Reviewing files that changed from the base of the PR and between b99cbea and 9ca6c4f.

📒 Files selected for processing (1)
  • CHANGELOG.md

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 73345019-983c-4889-858f-077605196421

📥 Commits

Reviewing files that changed from the base of the PR and between 85b989a and b99cbea.

📒 Files selected for processing (3)
  • .github/workflows/hourly-commercialization-loop.yml
  • CHANGELOG.md
  • tests/test_hourly_commercialization_workflow.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • CHANGELOG.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

시간별 상용화 루프에서 고정 커밋 기반 repair-review-feedback 작업과 PR_MESSAGE.md 처리를 제거했습니다. OpenCode 읽기 권한을 허용 목록으로 제한했습니다. 관련 의존성, PR 생성 로직, 테스트와 변경 기록을 갱신했습니다.

Changes

시간별 상용화 루프 거버넌스

Layer / File(s) Summary
워크플로 의존성 갱신
.github/workflows/hourly-commercialization-loop.yml
고정 커밋 기반 repair-review-feedback 작업을 제거했습니다. revalidate-pr-queueinspect-pr-queue에 직접 의존합니다. 재사용 워크플로 호출에서 secrets: inherit를 제거했습니다.
OpenCode 및 PR 패키징 갱신
.github/workflows/hourly-commercialization-loop.yml
Red 및 구현 단계의 OpenCode 읽기 권한을 기본 거부와 명시적 허용 목록으로 변경했습니다. PR_MESSAGE.md의 제외, 작성, 백업·복원, 허용 경로, 파싱 로직을 제거했습니다. PR은 기본 제목과 본문을 사용합니다.
거버넌스 검증 및 기록 갱신
tests/test_hourly_commercialization_workflow.py, CHANGELOG.md
테스트가 리뷰 복구 참조 제거, 읽기 권한 제한, 유지관리자 소유 PR 메타데이터, 시크릿 상속 금지를 검증하도록 변경되었습니다. 변경 내용을 CHANGELOG.md에 기록했습니다.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to b99cb

This change removes a failed CI job and updates its dependency conditions; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning PR_MESSAGE.md 메커니즘 제거와 OpenCode 읽기 권한 변경은 이슈 #1289에 명시된 caller 작업 제거 범위를 넘어서는 변경으로 보입니다. PR_MESSAGE.md 제거와 OpenCode 권한 변경을 별도 PR로 분리하거나, 이슈 #1289에 해당 요구사항과 근거를 추가하십시오.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 10 functions across 1 files. (2 skipped: 2… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 주요 변경인 dead repair-review-feedback 작업 제거를 정확하고 간결하게 설명합니다.
Linked Issues check ✅ Passed PR은 이슈 #1289의 RankWeave 저장소에서 obsolete cross-repository repair-review-feedback 작업을 제거하고 관련 의존성과 조건을 갱신하는 목표를 충족합니다.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 10 functions across 1 files. (2 skipped: 2 unsupported.)

✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/fix-hourly-loop-pinned-scheduler-sha

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.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae
seonghobae enabled auto-merge (squash) August 25, 2026 20:12
@opencode-agent
opencode-agent Bot disabled auto-merge August 25, 2026 20:14
devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae
seonghobae enabled auto-merge (squash) August 25, 2026 20:16
@opencode-agent
opencode-agent Bot disabled auto-merge August 25, 2026 20:22
@seonghobae
seonghobae enabled auto-merge (squash) August 25, 2026 20:42
devin-ai-integration[bot]

This comment was marked as resolved.

@opencode-agent
opencode-agent Bot disabled auto-merge August 25, 2026 20:46
@seonghobae
seonghobae enabled auto-merge (squash) August 25, 2026 20:49

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 0 new potential issues.

Open in Devin Review

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 1 new potential issue.

Open in Devin Review

Comment on lines 195 to +207
"read": {
"*": "allow",
".git/**": "deny",
"opencode.json": "deny",
".env": "deny",
".env.*": "deny"
"*": "deny",
"AGENTS.md": "allow",
"ARCHITECTURE.md": "allow",
"CHANGELOG.md": "allow",
"CLAUDE.md": "allow",
"LICENSE": "allow",
"README.md": "allow",
"pyproject.toml": "allow",
"uv.lock": "allow",
"docs/**": "allow",
"src/**": "allow",
"tests/**": "allow"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📝 Info: PR scope broader than title

Beyond removing the dead job, the diff rewrites both OpenCode read permission blocks to deny-all-with-allowlist and deletes the entire PR_MESSAGE.md title/body pipeline in favor of a static title. Both are captured by the CHANGELOG and new tests, so they read as intentional, but the change is wider than the title suggests.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@seonghobae
seonghobae merged commit 144172f into main Aug 25, 2026
26 of 27 checks passed
@seonghobae
seonghobae deleted the ci/fix-hourly-loop-pinned-scheduler-sha branch August 25, 2026 22:03
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