Skip to content

feat(review): finding signal gate 도입으로 리뷰 코멘트 신호 비율 개선#429

Merged
JeremyDev87 merged 1 commit into
masterfrom
feature/review-finding-signal-gate
Jul 3, 2026
Merged

feat(review): finding signal gate 도입으로 리뷰 코멘트 신호 비율 개선#429
JeremyDev87 merged 1 commit into
masterfrom
feature/review-finding-signal-gate

Conversation

@JeremyDev87

Copy link
Copy Markdown
Owner

무엇을

/ddalggak review의 finding 게시 파이프라인에 finding signal gate(게시 전 3문 트리아지)를 도입하고, top-level 리뷰 코멘트를 압축 형식으로 재정의합니다.

  • ddalggak/references/cross-review-loop.md (+ codex 미러): "Finding signal gate" 섹션 신설 — ① 저자 기지 사실 재진술 탈락 ② 무행동 메모 탈락 ③ 무증거 가설 탈락. 통과분만 inline 게시, 걸러진 Low/nit는 top-level 접이식 <details> 비차단 메모 1섹션, 버린 후보는 drop 로그(조용한 누락 금지 보존). finding 0건 + 검증 evidence 리뷰는 유효한 완료로 명문화.
  • 프로세스성 evidence-gap finding은 inline 금지, top-level blocking count/gap 목록 전용으로 채널 분리 (severity 판정 규칙 무변경).
  • top-level 압축 형식: REVIEW_DONE PR# head= verdict= blockers= 트레일러 + validation evidence 본문 + 보일러플레이트 4항목(CI/면책/merge blocker/human action) 접이식 1블록.
  • core/commands/review.yaml write_side_effects를 "every triage-passing finding"으로 정정, 생성 블록 재생성, 양 payload SKILL.md 색인·templates/review-brief.md 정합화.

profile-web의 ddalggak 리뷰 7개 PR 실증 조사 결과: finding 20건 중 실질 8건 / marginal 12건(가설적 엣지케이스, 코드 주석 재진술, "참고용" 무행동 메모)이 전부 inline 코멘트로 게시되었고, top-level 코멘트 부피의 40~50%가 매 PR 반복되는 프로세스 보일러플레이트였습니다. 원인은 리뷰어 능력이 아니라 게시 정책 — "nit까지 전량 inline 의무 + 게시 전 검증 부재 + finding 개수만 세는 완료 신호"였습니다.

어떻게

기존 게이트를 새로 만들지 않고 Counterargument Pass(core-invariants)를 finding에 적용하는 형태로 붙였습니다. severity 판정·"조용한 누락 금지"·approval-comment 필수 5요소는 모두 보존하고 게시 채널과 형식만 바꿉니다. 토큰 예산 초과(claude/review +210, codex/review +324)는 예산 상향 대신 중복 텍스트 압축(wiki preflight 목록, 템플릿 중복 문장)으로 상쇄했습니다.

검증

  • node scripts/project-runtime-assets.mjs --check: generated blocks up to date
  • npm test: smoke 70/70 passed
  • npm run verify:codex-skill passed / npm run verify:projections passed (21 contracts, 55 parity ledger entries)
  • npm run eval:ddalggak-readiness: 29/29 scenarios passed
  • node scripts/project-runtime-assets.mjs --report --admission: token-budget admission pass (max codex/review 28,483/28,500)
  • node bin/ddalggak.js doctor: 0 findings
  • 수정한 공유 파일 2종(cross-review-loop.md, review-brief.md) codex 미러 byte 동일 확인

제외 범위

  • 수용률 추적 루프(직전 리뷰 finding 반영 여부 집계)는 데이터 소스 정의가 선행돼야 하므로 후속 이슈로 분리
  • 다른 서브커맨드의 게이트·evidence-contract severity 규칙·regression-library 카드 무변경
  • 설치본 반영은 merge 후 재설치 필요

실증 조사(profile-web 7개 PR, finding 20건 중 marginal 12건 inline 게시,
top-level 40~50% 보일러플레이트)에서 확인된 review 노이즈 원인을 교정한다.
게시 전 3문 트리아지(기지 사실/무행동/무증거 탈락), evidence-gap의 top-level
채널 분리, 걸러진 Low/nit의 접이식 비차단 메모 통합, finding 0건 리뷰 유효화,
top-level 압축 형식(REVIEW_DONE 트레일러 + details 1블록)을 정의하고
review.yaml·SKILL.md·review-brief를 정합화했다. 토큰 예산은 상향 없이
중복 텍스트 압축으로 상쇄했다(admission pass).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Ultraworked-With: claude-fable-5
User-Request: /ddalggak review 리뷰 코멘트의 유의미 비율 개선 (연구→계획→구현)

@JeremyDev87 JeremyDev87 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

REVIEW_DONE PR#429: APPROVE critical=0 high=0 medium=0 low=1 head=bf450e689cb9f6aed68b3bc5021720155b1f4b47

Review scope: 7 files — finding signal gate 신설(cross-review-loop.md), evidence-gap 채널 분리, top-level 압축 형식, review.yaml/SKILL.md/review-brief 정합화 (양 payload 미러).

Validation evidence (리뷰어 재실행):

  • npm test smoke 70/70 pass · eval:ddalggak-readiness 29/29 pass
  • project-runtime-assets --check up to date · --report --admission pass (max codex/review 28,483/28,500)
  • verify:projections pass (21 contracts, 55 parity ledger entries) · verify:codex-skill pass · doctor 0 findings
  • 공유 파일 2종 codex 미러 byte 동일 (diff 무출력)

Blocking findings: 0 (inline Low 1건 — 트레일러 형식 이원화, 비차단).

비차단 메모 · CI/승인 경계
  • 비차단 메모: check(local-diff-check)와 start-lane 리뷰 경로에는 signal gate 미적용 — 동일 노이즈 원인이 남아 후속 이슈 후보. 수용률 추적 루프도 별도 후속.
  • CI/check: 현재 head 8/8 pass (Analyze JS, Budget isolation, CodeQL, Dependency Review, Verify package Node 18/20/22/24).
  • formal review/branch protection: 저자 self-review라 formal APPROVE 부적절 — 본 comment가 review 결론이며 GitHub formal approval이 아님.
  • merge blocker: 없음. manual merge only — merge/auto-merge는 실행하지 않음.
  • human action: draft 유지 중. ready 전환·머지는 주인님 판단.

Comment thread ddalggak/references/cross-review-loop.md
@JeremyDev87 JeremyDev87 self-assigned this Jul 3, 2026
@JeremyDev87 JeremyDev87 added the feat New feature or enhancement label Jul 3, 2026
@JeremyDev87 JeremyDev87 marked this pull request as ready for review July 3, 2026 08:09
@JeremyDev87 JeremyDev87 merged commit 92cebdf into master Jul 3, 2026
8 checks passed
@JeremyDev87 JeremyDev87 deleted the feature/review-finding-signal-gate branch July 3, 2026 08:11
JeremyDev87 added a commit that referenced this pull request Jul 3, 2026
top-level comment의 첫 줄이 기계 트레일러라 가독성을 해치고,
트레일러 형식이 완료 신호 정본과 달라 파싱 표면이 둘이었다
(PR #429 리뷰 Low finding). 사람용 한 줄 결론을 첫 줄로 올리고,
트레일러는 review-brief.md 완료 신호(head=<sha> 필드 추가) 단일
정본을 마지막 줄에서 참조하게 통일했다.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Ultraworked-With: claude-fable-5
User-Request: 리뷰 코멘트가 난해해서 잘 안 읽히는 부분을 개선
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat New feature or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant