Repository navigation
v0.10.1 — member-group nested array unwrap (Issue #76 root cause fix)
Highlights
- 🐛 member-group 응답 nested array unwrap —
--cc-group/--mention-group전면 매칭 실패 사고 해결 (Issue #76) - 🆔
--cc-group <code|id>/--mention-group <code|id>— numeric 15+자리 입력 시 id 직접 매칭 fallback - 📝 ADR-028 전면 개정 — root cause 재진단
- 🧹 release / review-fix skill 함정 방지 보강
버그 수정
--cc-group / --mention-group 매칭 전면 실패 (Issue #76, ADR-028)
dooray project groups <project> 표가 모든 컬럼 빈값으로 보이고 --cc-group "<code>" / --mention-group "<code>" 입력이 모두 매칭 실패하던 사고.
Root cause: Dooray API GET /project/v1/projects/{id}/member-groups 응답이 nested array (result: [[g1, g2]]) 로 반환되는데 fetchAllMemberGroups 가 평면 배열 가정으로 처리해 모든 그룹이 빈 객체로 cache.
수정:
fetchAllMemberGroups에res.result.flat()정규화 (root cause fix)resolveMemberGroup에 numeric 15+자리 입력 시 id 직접 매칭 fallback (response shape 가 다시 변할 robustness)- stderr 경고 ADR 번호 오기 (
ADR-026→ADR-028) 정정 + AI 친화 helpHint - 5 호출자 (
post create/editcc-group + mention-group +comment add/editmention-group +post-users) 시그니처 불변 → 자동 혜택
구 ADR-028 가정 무효화 — "일부 그룹만 code 누락" 진단은 증상만 본 것. 본 release 에서 ADR-028 본문을 "response shape mismatch + nested array unwrap" 으로 전면 개정.
새 사용 예
# code 부분일치 (정상 동작 회복)
dooray post create <project> --title "..." --mention-group "개발"
# 19자리 id 직접 입력 (response shape robustness)
dooray post create <project> --title "..." --cc-group "<19자리 group id>"
# 후보 탐색
dooray project groups <project>리팩토링
as unknown as MemberGroup[][] | MemberGroup[]이중 단언 제거 (PR #77 review)MemberGroupListResponse.result를MemberGroup[] | MemberGroup[][]union 으로 선언 →.flat()시그니처가 union 양쪽 case 자동 흡수
내부 / skill 정비
/releaseskill: 본문 전달은--notes-file <path>필수 — quoted heredoc 안 backtick escape 함정 방지 (v0.10.0 release notes 사고 회고)/review-fixskill: main 직접 commit 사전 점검 가드 + Conflict 카테고리 보강common-pitfalls.md: CLI23 (이중 단언 → union return type) 학습 누적, CLI 번호 중복 (CLI16 두 번) 정정, 200+ char 줄 가독성 backfill (81 → 48)- CLAUDE.md / docs-check 가독성 정책 대상에
.claude/skills/**/*.md추가 (거울 구조 회복)
Closes
Full Changelog: v0.10.0...v0.10.1