배경 (실증 결과)
세션 실증 결과 RefactorAgent 의 코드 품질 향상이 ISO/IEC 25010 유지보수성 5축(Modularity / Reusability / Analysability / Modifiability / Testability) 중 Modularity 1축만 1급으로 다루고, 사용자가 지목한 Reusability(재사용성)는 명시 공백임이 실측으로 확인됨.
실증 증거 (RefactorAgent.md 실측)
- "재사용성/reusability" 0회 — 재사용 관련은 (b) "DRY/WET" 1구절 + to-be "공통화 가능 지점" 1 bullet 뿐 (L42, L111).
- 검출 기제가 size-only(줄 수/메서드 수, L41) → 중복(clone/duplication)에 구조적 맹목. 50줄 메서드가 10파일 복붙돼도 각 파일 300줄 미만이면 전 트리거 통과.
- output template = (a)/(b)/(c) 3슬롯 — 재사용 제안 home 없음, self-check 도 재사용 누락 미검사 (L58-79).
- scope guard(L51 "요건 충족 범위로 한정" + L142 "계획서 범위 밖 리팩토링 금지")가 cross-cutting 재사용 추출(본질적으로 global)을 구조적 억제.
- 향상 측정 metric/feedback loop 부재 (읽기전용 advisory, L138) → "제대로 향상" unfalsifiable.
- sibling deputy 도 code reusability 1급 미소유 (DataArch de-dup = OLAP data, ModuleArch = boundary axis) → 진짜 균열.
- repo-level 분해(macro-cohesion) mandate 0 (RefactorAgent·ModuleArch 양쪽).
근거 표준: ISO/IEC 25010:2023 Product quality model — Maintainability 하위축에 Reusability 명시.
결정 (권장 1안)
RefactorAgent 에 Reusability 를 카테고리 (a)와 동급 1급 축으로 신설:
- 중복 검출 정량 트리거(clone/duplication 신호) 추가
- output template 에 재사용성 전용 슬롯 + self-check 항목 추가
- cross-cutting 재사용 추출은 escalation-tier 로 scope guard 예외 명문화
- repo-level 분해(macro-cohesion)를 동축 수용 — 단 RefactorAgent 는 결합도/응집도 pressure 제안(advocacy)만, 경계 확정은 ModuleArch + ArchitectAgent (axis disjoint 유지)
- 측정 연동 — ArchitectAgent 통합/구현리뷰 게이트와 before/after 신호 연결 hook
axis disjoint (ADR-086 self-application)
- RefactorAgent (reusability/decoupling advocacy — 중복·DRY·공통추출·repo-split pressure) ↔ ModuleArchitectAgent (boundary authority — module/package/aggregate 경계 placement) = disjoint. RefactorAgent 는 pressure 식별·제안, ModuleArch+chief 는 경계 결정.
범위 (단일 PR)
plugins/codeforge-design/agents/RefactorAgent.md — reusability 축 신설
skills/deputy-mandate/SKILL.md (wrapper canonical) — RefactorAgent mandate 갱신 (primary axis matrix + DDD pattern mapping)
plugins/codeforge-design/CLAUDE.md (mirror) — sibling sync
archive/adr/ADR-042-agent-model-selection-policy.md — Amendment 11 (+ ADR-086 axis 분석 + 5-checklist embed)
plugins/codeforge-design/.claude-plugin/plugin.json — 0.25.4 → 0.26.0 (MINOR, additive mandate)
mclayer/marketplace — version sync PR (선행 merge, ADR-063)
lane 적용
- 요구사항/요구사항리뷰/설계: 본 Issue 본문에 통합 (Orchestrator 실증 선행)
- 구현 + 구현리뷰(dual-peer Claude+Codex 적대 검증): 실행
- 통합테스트/보안테스트/배포/배포리뷰: wrapper-self N/A
검증 기준
- axis disjoint(RefactorAgent advocacy ↔ ModuleArch authority) 명시
- SSOT 3원본(RefactorAgent.md / deputy-mandate SKILL.md / CLAUDE.md mirror) byte-consistent
- doc frontmatter/section schema PASS, invariant-check PASS
- ADR-042 Amendment 11 번호 정합 + ADR-086 5-checklist 충족
- no-overclaim (실측 근거 인용)
🤖 Generated with Claude Code
배경 (실증 결과)
세션 실증 결과 RefactorAgent 의 코드 품질 향상이 ISO/IEC 25010 유지보수성 5축(Modularity / Reusability / Analysability / Modifiability / Testability) 중 Modularity 1축만 1급으로 다루고, 사용자가 지목한 Reusability(재사용성)는 명시 공백임이 실측으로 확인됨.
실증 증거 (RefactorAgent.md 실측)
근거 표준: ISO/IEC 25010:2023 Product quality model — Maintainability 하위축에 Reusability 명시.
결정 (권장 1안)
RefactorAgent 에 Reusability 를 카테고리 (a)와 동급 1급 축으로 신설:
axis disjoint (ADR-086 self-application)
범위 (단일 PR)
plugins/codeforge-design/agents/RefactorAgent.md— reusability 축 신설skills/deputy-mandate/SKILL.md(wrapper canonical) — RefactorAgent mandate 갱신 (primary axis matrix + DDD pattern mapping)plugins/codeforge-design/CLAUDE.md(mirror) — sibling syncarchive/adr/ADR-042-agent-model-selection-policy.md— Amendment 11 (+ ADR-086 axis 분석 + 5-checklist embed)plugins/codeforge-design/.claude-plugin/plugin.json— 0.25.4 → 0.26.0 (MINOR, additive mandate)mclayer/marketplace— version sync PR (선행 merge, ADR-063)lane 적용
검증 기준
🤖 Generated with Claude Code