Skip to content

[feat][hooks] GF-127 메시지 검증을 prepare-commit-msg로 이전 - #48

Open
coralstay wants to merge 8 commits into
mainfrom
task/GF-127
Open

coralstay wants to merge 8 commits into
mainfrom
task/GF-127

Conversation

@coralstay

Copy link
Copy Markdown
Owner

요약

  • 커밋 메시지 검증을 commit-msg에서 prepare-commit-msg로 옮기고 hooks/commit-msg를 삭제했다 (decision-18). 이제 --no-verify로 검증을 건너뛸 수 없다.
  • clean git revert --no-edit이 거부되는 회귀를 막기 위해 git이 만드는 Revert "..." / Reapply "..." 제목을 형식·50자 규칙의 예외로 인정했다 (유저 결정 (b)).
  • 거부 시 검증 마커가 남지 않도록 무효화를 거부 경로 앞으로 옮겼다 (GF-31 불변조건 유지).
  • 함께 들어간 문서: doc-22(유사 프로젝트 조사), DRAFT-22·23(조사 후속 드래프트).

검증

  • python3 -m unittest discover -s tests → 115 tests OK
  • ruff check . → All checks passed
  • 수동: revert → Revert "..." 통과, 다시 revert → Reapply "..." 통과, git commit --no-verify -m 'bad subject' → 거부

알려진 한계 / 후속

  • --amend 에디터 경로는 이전 메시지를 검증한다
  • README·hooks/readme.md·.gitmessage의 commit-msg 언급은 GF-132/GF-134에서 정리

🤖 Generated with Claude Code

coralstay and others added 8 commits October 4, 2026 10:39
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Task-Id: GF-127
AI-Tool: claude-code
AI-Tool-Version: 2.1.285
Co-Authored-By: Claude <noreply@anthropic.com>
AI-Model: claude-opus-5-5
Tokens-Used: in=146189 out=507
Tool-Calls: 2
Hooks-Commit: c44d145
Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Task-Id: GF-127
AI-Tool: claude-code
AI-Tool-Version: 2.1.285
Co-Authored-By: Claude <noreply@anthropic.com>
AI-Model: claude-opus-5-5
Tokens-Used: in=331273 out=1399
Tool-Calls: 3
Hooks-Commit: a6e7568
Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Task-Id: GF-127
AI-Tool: claude-code
AI-Tool-Version: 2.1.285
Co-Authored-By: Claude <noreply@anthropic.com>
AI-Model: claude-opus-5-5
Tokens-Used: in=0 out=0 (no-attributed-turn)
Tool-Calls: 0 (no-attributed-turn)
Hooks-Commit: 6e017c6
Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com>
commit-msg의 검증을 동작 그대로 옮기고 commit-msg를 삭제한다.
--no-verify로 검증을 건너뛸 수 없게 된다. git revert가 만드는
Revert/Reapply "..." 제목은 형식·50자 규칙의 예외로 둔다.
스테일 마커는 거부 경로보다 먼저 지워 거부 시 마커가 남지 않는다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Task-Id: GF-127
AI-Tool: claude-code
AI-Tool-Version: 2.1.285
Co-Authored-By: Claude <noreply@anthropic.com>
AI-Model: claude-opus-5-5
Tokens-Used: in=1694468 out=722
Tool-Calls: 18
Hooks-Commit: 100d70e
Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com>
gitformat.conf, post-commit, CI 워크플로 주석이 commit-msg를 검증
주체로 적고 있어 prepare-commit-msg로 바로잡는다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Task-Id: GF-127
AI-Tool: claude-code
AI-Tool-Version: 2.1.285
Co-Authored-By: Claude <noreply@anthropic.com>
AI-Model: claude-opus-5-5
Tokens-Used: in=398817 out=59
Tool-Calls: 3
Hooks-Commit: a55bda8
Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Task-Id: GF-127
AI-Tool: claude-code
AI-Tool-Version: 2.1.285
Co-Authored-By: Claude <noreply@anthropic.com>
AI-Model: claude-opus-5-5
Tokens-Used: in=0 out=0 (no-attributed-turn)
Tool-Calls: 0 (no-attributed-turn)
Hooks-Commit: e70c3aa
Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com>
AC #7의 증거가 될 테스트가 없었다. revert 제목 예외가 깨진
설정을 가리지 않는지도 함께 본다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Task-Id: GF-127
AI-Tool: claude-code
AI-Tool-Version: 2.1.285
Co-Authored-By: Claude <noreply@anthropic.com>
AI-Model: claude-opus-5-5
Tokens-Used: in=668636 out=1978
Tool-Calls: 5
Hooks-Commit: 149cc6b
Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Task-Id: GF-127
AI-Tool: claude-code
AI-Tool-Version: 2.1.285
Co-Authored-By: Claude <noreply@anthropic.com>
AI-Model: claude-opus-5-5
Tokens-Used: in=0 out=0 (no-attributed-turn)
Tool-Calls: 0 (no-attributed-turn)
Hooks-Commit: c74ba4e
Signed-off-by: coralstay <231006716+coralstay@users.noreply.github.com>
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