Skip to content

feat: 리뷰 이어받기, review --repos, BLOCKED 선택지, Target 오류 안내 (v2.3.0) - #37

Merged
cskwork merged 1 commit into
mainfrom
feat/v2.3.0-retro-friction
Oct 13, 2026
Merged

cskwork merged 1 commit into
mainfrom
feat/v2.3.0-retro-friction

Conversation

@cskwork

@cskwork cskwork commented Oct 13, 2026

Copy link
Copy Markdown
Owner

요약

대형 모노레포(저장소·worktree 약 350개)에서 이틀간 8개 기능을 sdlc-kit으로 진행하며 측정한 병목 4가지를 고칩니다. 버전 2.3.0.

  1. 리뷰 이어받기 — approve plan 때 다음 조건이 모두 맞으면 현재 빌드의 리뷰 PASS를 새 entry로 넘깁니다: PASS가 현재 entry 것, 기록된 리뷰 이후 round 중 PASS 아닌 것 없음(통과한 plan gap check round는 허용), 묶인 저장소 HEAD 전부 그대로(working tree 바인딩 제외), intent.md 그대로, PLAN.md가 Scenarios 절 밖에서 그대로(HTML 주석 제외). 실제 사례: BLOCKED 시나리오 재시도마다 리뷰를 다시 해서 같은 두 커밋을 Round 5~15에 걸쳐 11번 더 리뷰했고 지적은 0건이었습니다.
  2. review --repos "<path> ..." — 리뷰 한 번에 묶을 저장소를 지정합니다(config repos:를 그 리뷰에 한해 대체). 전체 스캔은 review 1회 중앙값 109초(31회, 최대 201초)였고, 스캔만 따로 재면 125초, 저장소 3개 지정 시 0.14초입니다. 기능마다 worktree가 달라 전역 repos:로는 해결되지 않았습니다.
  3. BLOCKED 선택지 — Evidence의 human route에서 시나리오 제거·조건과 횟수 제한을 둔 재시도·drop을 함께 제시합니다.
  4. Delivery Target 오류 — 읽은 값을 인용하고(found "deploy (dev → stg)" / missing) 세부 내용은 - Note: 줄에 쓰라고 안내합니다. intent 템플릿에 Note 줄을 추가하고, pr이 PR 없는 브랜치 push도 포함함을 명시했습니다.

검증

  • bash tests/selftest.sh: 119 checks PASS(macOS, bash 3.2). 새 그룹 reposflag·carry·target은 v2.2.1에서 각각 의도한 이유로 실패합니다.
  • 변이 테스트: pish·ventry·새 round FAIL·HTML 주석·HEAD 비교·Target 메시지·--repos on FAIL 가드를 하나씩 지우거나 gap check round를 막도록 바꾼 변이 9개가 모두 해당 그룹에서 실패합니다.
  • 독립 적대적 리뷰 2회. 1회차 VERDICT FAIL(blocking 1건: evidence Target 메시지에 값이 두 번 출력, non-blocking 7건) → 모두 반영 → 2회차 VERDICT PASS. 2회차 non-blocking 2건(통과한 gap check round가 이어받기를 막음, 오류 문구에서 config 목록 누락)은 리뷰 뒤에 반영했고 selftest와 변이 테스트로만 확인했습니다.
  • sdlc.sh 600줄(상한 600).

호환성

기존 기록은 그대로 유효합니다. .state에 planbody:가 없는 기능은 다음 plan 승인 전까지 v2.2.1처럼 동작합니다. repos: 오류 문구는 출처에 따라 config repos: 또는 review --repos로 시작합니다.

알려진 한계

  • 이어받기는 묶인 저장소만 봅니다. --repos나 repos: 밖 저장소에 새 커밋이 생겨도 이어받기를 막지 않습니다. 그 저장소를 가리키는 Commit 줄은 score가 계속 거부하므로 v2.2.1보다 넓어진 허점은 아닙니다.

- approve plan: 묶인 HEAD·intent·Scenarios 밖 PLAN이 그대로이고 이후 round에 PASS 아닌 것이 없으면 리뷰 PASS를 새 entry로 이어받음(.state planbody:)
- review --repos "<path> ...": 리뷰 한 번에 묶을 저장소 지정(config repos: 대체), 반복·FAIL·빈 목록 거부
- 4-evidence: BLOCKED human route에서 제거·제한 재시도·drop 세 선택지 제시
- Delivery Target 오류에 읽은 값 인용, intent 템플릿에 Note 줄 추가
- 회귀 그룹 reposflag·carry·target 추가(selftest 119 checks)
@cskwork
cskwork merged commit 6af8d4c into main Oct 13, 2026
3 checks passed
@cskwork
cskwork deleted the feat/v2.3.0-retro-friction branch October 13, 2026 08:17
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