Skip to content

feat: 커밋 전 리뷰 인정, repos 범위 지정, 증거 오류 문구 개선 (v2.2.0) - #35

Merged
cskwork merged 1 commit into
mainfrom
feat/friction-fixes
Oct 12, 2026
Merged

cskwork merged 1 commit into
mainfrom
feat/friction-fixes

Conversation

@cskwork

@cskwork cskwork commented Oct 12, 2026

Copy link
Copy Markdown
Owner

요약

실제 프로젝트(저장소·worktree 수백 개, 승인 전 커밋 금지 규칙)에서 sdlc-kit을 쓰며 막힌 6가지를 고칩니다. 버전 2.2.0.

  1. repos: 설정(선택) — 리뷰가 묶는 저장소를 지정한 목록으로 제한합니다. 비우면 기존처럼 전체 탐색입니다. 각 항목은 프로젝트 루트 아래 실제 저장소 최상위 폴더여야 합니다(. 허용, ../·루트 밖 심링크·일반 하위 폴더 거부).
  2. 표 칸 수 오류 — 행 칸이 헤더보다 많으면 S1: row has 6 cells, header has 5로 알려 줍니다. 칸이 적은 행은 v2.1.0과 같이 받습니다.
  3. 경로 오류 문구 — Commit/Delivered 경로가 프로젝트 루트 아래 폴더가 아니면 그렇게 말하고 올바른 형식을 보여 줍니다.
  4. 커밋 전 리뷰 인정 — 미커밋 작업 트리를 리뷰하면 HEAD+tree(미추적·비무시 파일 포함, store·미추적 중첩 저장소 제외)를 묶습니다. score/close는 Commit이 리뷰한 HEAD이거나 그 후손이고, Commit 경로 안 내용이 묶은 tree와 같으며, 경로 밖에서 새 커밋이 바꾼 파일도 tree와 같을 때만 받습니다(--no-renames). 되돌리기·stash·amend·rebase는 새 리뷰가 필요합니다. 커밋을 리뷰하는 흐름은 v2.1.0과 같습니다.
  5. QA 결과 쓰기 대체 — feature 폴더에 쓸 수 없으면 임시 폴더에 쓰고 코디네이터가 옮깁니다(roles/qa.md, SKILL.md).
  6. Intent 실사용 근거 확인 — 요청이 기대는 로그·데이터가 테스트·자동화가 아닌 실제 사용에서 나왔는지 확인합니다.

검증

  • bash tests/selftest.sh: 110 checks PASS(macOS). 새 회귀 묶음 8개(repos, cells, paths, uncommitted, nested, scoped, fingerprint, interrupt)는 v2.1.0 코드에서 각자 의도한 이유로 실패합니다.
  • 독립 적대적 리뷰 4회. 1~3회차에서 찾은 결함(리뷰 후 되돌리기 통과, 중첩 저장소로 tree 오염·대량 경고, 커밋 리뷰 흐름 회귀, 경로 밖 rename 우회, 일부 추적된 store, 읽기 불가 파일)을 모두 고쳤고 4회차 PASS.

알려진 한계

  • repos:를 비운 상태에서 Commit과 무관한 중첩 저장소의 index가 깨져 있으면 리뷰 전체가 실패합니다(v2.1.0은 통과).
  • 묶은 tree는 ref가 없어 git gc --prune=now·자동 gc로 지워질 수 있습니다. 그 뒤엔 정확히 커밋해도 거부됩니다(거부 쪽으로만 실패).
  • repos:를 비우면 저장소마다 git status가 한 번씩 더 돌아 v2.1.0보다 느립니다. repos:로 범위를 줄일 수 있습니다.
  • Git Bash(MSYS)에서의 신호 처리는 확인하지 못해 interrupt 테스트를 건너뜁니다. CI Windows 결과로 확인합니다.

- 미커밋 작업 트리 리뷰는 HEAD+tree를 묶고, score/close는 그 내용을 정확히 담은 후속 커밋만 인정
- config repos: 로 리뷰가 묶는 저장소를 제한(비우면 기존 전체 탐색)
- 표 행 칸 수가 헤더보다 많으면 'row has N cells, header has M'으로 안내
- Commit/Delivered 경로 오류 문구 개선
- QA 결과 폴더 쓰기 불가 시 임시 폴더 대체, Intent 단계의 실사용 근거 확인 항목 추가
- 회귀 테스트 8묶음 추가(selftest 110 checks)
@cskwork
cskwork merged commit 530d62b into main Oct 12, 2026
3 checks passed
@cskwork
cskwork deleted the feat/friction-fixes branch October 12, 2026 23:25
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