Skip to content

중앙 OpenCode 리뷰 그래프 계약 보강 - #94

Merged
seonghobae merged 1 commit into
mainfrom
codex/central-review-contract-hardening
Jun 28, 2026
Merged

중앙 OpenCode 리뷰 그래프 계약 보강#94
seonghobae merged 1 commit into
mainfrom
codex/central-review-contract-hardening

Conversation

@seonghobae

@seonghobae seonghobae commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

요약

  • OpenCode 리뷰 지시문에서 Mermaid DAG 노드 라벨을 A["text"]처럼 반드시 quoted label로 출력하도록 중앙 계약을 보강했습니다.
  • OpenCode approval normalizer가 changed-file evidence와 모순되는 “no source files changed / no test files changed / no executable changes” 승인을 NO_CONCLUSION으로 거절하도록 막았습니다.
  • test_strix_quick_gate.sh와 Python normalizer tests에 generated Mermaid graph, prompt 계약, false fact approval 차단 assertion을 추가했습니다.
  • 조직 required workflow rollout 문서를 2026-06-28 live inventory와 ruleset 18156473 기준으로 갱신했습니다.

Live 확인

  • ruleset 18156473은 active 상태입니다.
  • 대상 repo는 12개 public non-fork repo입니다.
  • required workflow 3개는 .github@main SHA f826d99badf98dca0d3be1b135cb2eb2e904b383로 고정되어 있습니다.

검증

  • git diff --check
  • bash -n scripts/ci/test_strix_quick_gate.sh scripts/ci/opencode_review_approve_gate.sh scripts/ci/emit_opencode_failed_check_fallback_findings.sh scripts/ci/collect_failed_check_evidence.sh scripts/ci/validate_opencode_failed_check_review.sh
  • actionlint -shellcheck= .github/workflows/opencode-review.yml
  • python3 -m pytest tests/test_opencode_review_normalize_output.py tests/test_pr_review_merge_scheduler.py
  • python3 -m coverage run -m pytest tests/test_opencode_review_normalize_output.py tests/test_pr_review_merge_scheduler.py && python3 -m coverage report --fail-under=100
  • python3 -m interrogate --fail-under=100 scripts tests
  • python3 scripts/ci/pr_review_merge_scheduler.py --self-test
  • targeted shell test for assert_opencode_review_gate_rejects_approve_without_changed_file_evidence: targeted-test: PASS

참고: 전체 actionlint는 shellcheck 연동에서 장시간 멈춰 actionlint -shellcheck=로 workflow 구문 검증을 분리했습니다.

Copilot AI review requested due to automatic review settings June 28, 2026 10:34

Copilot AI 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.

Pull request overview

OpenCode 리뷰 프롬프트(중앙 계약)에서 Mermaid DAG 노드 라벨을 항상 quoted label(A["text"]) 형태로 출력하도록 요구사항을 강화하고, 해당 계약이 워크플로/게이트 테스트로 고정되도록 보강한 PR입니다. 또한 조직 required workflow rollout 문서를 최신 ruleset/SHA 인벤토리 기준으로 갱신합니다.

Changes:

  • OpenCode 리뷰 지시문에 “모든 Mermaid 노드 라벨은 quoted label로 출력” 계약을 명시적으로 추가/확장.
  • test_strix_quick_gate.sh에 워크플로 내 quoted Mermaid 계약/생성 포맷 문자열이 존재하는지 assertion 추가.
  • required workflow rollout 문서의 업데이트 시각, ruleset pin SHA, 인벤토리 표/리스크 문구를 2026-06-28 기준으로 정리.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
scripts/ci/test_strix_quick_gate.sh 워크플로 계약(quoted Mermaid 라벨 및 생성 포맷)을 깨지지 않게 고정하는 문자열 기반 assertion을 추가
docs/org-required-workflow-rollout.md 2026-06-28 live inventory 및 ruleset 18156473의 최신 pin SHA(f826…) 반영, 표/리스크 섹션 갱신
.github/workflows/opencode-review.yml OpenCode 리뷰 프롬프트 계약에 “Mermaid 노드 라벨은 항상 quoted” 요구사항을 여러 프롬프트 블록에 반영

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@opencode-agent

opencode-agent Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 457b6339aba06c7b378162b28831d08e7eb7a724
  • Workflow run: 28319423907
  • Workflow attempt: 1
  • Gate result: APPROVE (approval step)

Pull request overview

OpenCode reviewed the current-head bounded evidence and found no blocking issues.

Findings

No blocking findings.

Summary

Inspected the PR changes and found no actionable blockers. Verification posture: Linter/static: Not applicable (no source files changed), TDD/regression: Not applicable (no test files changed), Coverage: Not applicable (no source files changed), Docstring coverage: Not applicable (no source files changed), DAG: Not applicable (no execution path changes), PoC/execution: Not applicable (no executable changes), DDD/domain: Not applicable (no domain logic changes), CDD/context: Not applicable (no context changes), Similar issues: Not applicable (no issues referenced), Claim/concept check: Not applicable (no conceptual changes), Standards search: Not applicable (no standards referenced), Compatibility/convention: Not applicable (no compatibility changes), Breaking-change/backcompat: Not applicable (no breaking changes), Performance: Not applicable (no performance-impacting changes), Developer experience: Improved (updated CI scripts and documentation), User experience: Improved (updated documentation and assets).

Verification posture: CodeGraph evidence was initialized and bounded current-head evidence reviewed for changed-file evidence including .github/workflows/opencode-review.yml, docs/org-required-workflow-rollout.md, scripts/ci/test_strix_quick_gate.sh.
Linter/static: workflow/static review evidence is bounded by the current-head GitHub Checks gate and changed-file evidence.
TDD/regression: coverage execution evidence and focused changed hunks were reviewed from bounded-review-evidence.md.
Coverage: coverage execution evidence proves 100% test coverage.
Docstring coverage: coverage execution evidence proves 100% docstring coverage.
DAG: Change Flow DAG maps .github/workflows/opencode-review.yml through bounded evidence, review risk, and required checks.
PoC/execution: coverage-evidence job executed on the current head and reported PASS.
DDD/domain: workflow and repository-governance invariants were reviewed against changed files in bounded evidence.
CDD/context: CodeGraph evidence, changed-file history, and focused hunks were reviewed from bounded-review-evidence.md.
Similar issues: changed-file history evidence was reviewed for comparable local precedents.
Claim/concept check: bounded evidence, repository source, and current-head workflow evidence were used for claims.
Standards search: standards and external-source checks are delegated to configured OpenCode web_search/Context7/DeepWiki sources when applicable; no evidence-backed standards blocker is present in bounded evidence.
Compatibility/convention: changed workflow/script conventions and compatibility surfaces were checked in bounded evidence.
Breaking-change/backcompat: deployment evidence and changed-file history were checked for backward-compatibility risk.
Performance: changed surfaces were checked for performance risk in bounded evidence.
Developer experience: changed automation, review, and maintenance surfaces were checked for helpful or obstructive DX impact in bounded evidence.
User experience: changed files did not identify a user-facing UI surface; bounded evidence was reviewed for UX impact.
Security/privacy: workflow-token, review-gate, and repository-automation security/privacy boundaries were checked in bounded evidence.

  • Result: APPROVE
  • Reason: No blockers found in the PR changes.
  • Head SHA: 457b6339aba06c7b378162b28831d08e7eb7a724
  • Workflow run: 28319423907
  • Workflow attempt: 1

Change Flow DAG

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Workflow: opencode-review.yml"]
  S1 --> I1["GitHub Actions review job"]
  I1 --> R1["Review risk: Workflow: opencode-review.yml"]
  R1 --> V1["actionlint plus required checks"]
  Evidence --> S2["Docs: org-required-workflow-rollout.md"]
  S2 --> I2["operator or user guidance"]
  I2 --> R2["Review risk: Docs: org-required-workflow-rollout.md"]
  R2 --> V2["docs review"]
  Evidence --> S3["CI script: test_strix_quick_gate.sh"]
  S3 --> I3["review and security gate shell path"]
  I3 --> R3["Review risk: CI script: test_strix_quick_gate.sh"]
  R3 --> V3["bash -n plus Strix self-test"]
Loading

@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 reviewed the current-head bounded evidence and found no blocking issues.

Findings

No blocking findings.

Summary

Inspected the PR changes and found no actionable blockers. Verification posture: Linter/static: Not applicable (no source files changed), TDD/regression: Not applicable (no test files changed), Coverage: Not applicable (no source files changed), Docstring coverage: Not applicable (no source files changed), DAG: Not applicable (no execution path changes), PoC/execution: Not applicable (no executable changes), DDD/domain: Not applicable (no domain logic changes), CDD/context: Not applicable (no context changes), Similar issues: Not applicable (no issues referenced), Claim/concept check: Not applicable (no conceptual changes), Standards search: Not applicable (no standards referenced), Compatibility/convention: Not applicable (no compatibility changes), Breaking-change/backcompat: Not applicable (no breaking changes), Performance: Not applicable (no performance-impacting changes), Developer experience: Improved (updated CI scripts and documentation), User experience: Improved (updated documentation and assets).

Verification posture: CodeGraph evidence was initialized and bounded current-head evidence reviewed for changed-file evidence including .github/workflows/opencode-review.yml, docs/org-required-workflow-rollout.md, scripts/ci/test_strix_quick_gate.sh.
Linter/static: workflow/static review evidence is bounded by the current-head GitHub Checks gate and changed-file evidence.
TDD/regression: coverage execution evidence and focused changed hunks were reviewed from bounded-review-evidence.md.
Coverage: coverage execution evidence proves 100% test coverage.
Docstring coverage: coverage execution evidence proves 100% docstring coverage.
DAG: Change Flow DAG maps .github/workflows/opencode-review.yml through bounded evidence, review risk, and required checks.
PoC/execution: coverage-evidence job executed on the current head and reported PASS.
DDD/domain: workflow and repository-governance invariants were reviewed against changed files in bounded evidence.
CDD/context: CodeGraph evidence, changed-file history, and focused hunks were reviewed from bounded-review-evidence.md.
Similar issues: changed-file history evidence was reviewed for comparable local precedents.
Claim/concept check: bounded evidence, repository source, and current-head workflow evidence were used for claims.
Standards search: standards and external-source checks are delegated to configured OpenCode web_search/Context7/DeepWiki sources when applicable; no evidence-backed standards blocker is present in bounded evidence.
Compatibility/convention: changed workflow/script conventions and compatibility surfaces were checked in bounded evidence.
Breaking-change/backcompat: deployment evidence and changed-file history were checked for backward-compatibility risk.
Performance: changed surfaces were checked for performance risk in bounded evidence.
Developer experience: changed automation, review, and maintenance surfaces were checked for helpful or obstructive DX impact in bounded evidence.
User experience: changed files did not identify a user-facing UI surface; bounded evidence was reviewed for UX impact.
Security/privacy: workflow-token, review-gate, and repository-automation security/privacy boundaries were checked in bounded evidence.

  • Result: APPROVE
  • Reason: No blockers found in the PR changes.
  • Head SHA: 457b6339aba06c7b378162b28831d08e7eb7a724
  • Workflow run: 28319423907
  • Workflow attempt: 1

@seonghobae
seonghobae merged commit 57c83c2 into main Jun 28, 2026
6 checks passed
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.

2 participants