feat(review): finding signal gate 도입으로 리뷰 코멘트 신호 비율 개선#429
Merged
Conversation
실증 조사(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
commented
Jul 3, 2026
JeremyDev87
left a comment
Owner
Author
There was a problem hiding this comment.
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 testsmoke 70/70 pass ·eval:ddalggak-readiness29/29 passproject-runtime-assets --checkup to date ·--report --admissionpass (max codex/review 28,483/28,500)verify:projectionspass (21 contracts, 55 parity ledger entries) ·verify:codex-skillpass ·doctor0 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 전환·머지는 주인님 판단.
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: 리뷰 코멘트가 난해해서 잘 안 읽히는 부분을 개선
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
무엇을
/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 리뷰는 유효한 완료로 명문화.REVIEW_DONE PR# head= verdict= blockers=트레일러 + validation evidence 본문 + 보일러플레이트 4항목(CI/면책/merge blocker/human action) 접이식 1블록.core/commands/review.yamlwrite_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 datenpm test: smoke 70/70 passednpm run verify:codex-skillpassed /npm run verify:projectionspassed (21 contracts, 55 parity ledger entries)npm run eval:ddalggak-readiness: 29/29 scenarios passednode 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제외 범위