bibimbap/docs/development/workflow-patterns.md

3.6 KiB

Workflow Patterns — 작업 진행 방식

verification-strategies.md 는 "코드가 옳은가"(L1/L2/L3 검증)를 다룬다. 이 문서는 그와 무관하게 사람과 어떻게 합의하며 작업을 진행하는가 — 결정 수렴 절차, 산출물 제시 방식 — 를 다룬다. 재사용 가능한 것만 등재한다.

freeze/동결 분류는 근거 문서 확인 선행

어떤 변경을 "동결 영역 해제·고위험 게이트"로 분류하기 전에, 동결 범위를 정의한 근거 문서(ADR·roadmap·work-log)를 줄 번호까지 직접 확인한다. 표면적 유사성("평점 집계" 등)만으로 freeze 인접 추론 금지.

절차:

  1. 동결 선언 근거 문서를 실제로 열어 동결 범위 정의를 줄 번호로 확인.
  2. 변경 대상 테이블/뷰/심볼이 그 범위에 명시적으로 포함되는지 판단.
  3. 포함 확인 시만 §6 게이트 표기.

근거: W3-2 고도화 세션(20260622) — game_review_stats 집계뷰가 phantom 고위험 게이트로 오분류 → roadmap:63/201/202 직접 확인으로 일반 DDL 정정.

(긍정 패턴) frontend-design 스킬 fork 위임

production-grade UI(SVG·a11y·다중 JS 인터랙션 포함)를 구현할 때, frontend-design 스킬을 fork(컨텍스트 상속)로 서브에이전트에 위임하면 스킬 호출 + 단일파일 폴리시 + 프리뷰 render-verify 를 컨텍스트 오염 없이 수행 가능하다. 검증된 패턴.

조건:

  • L1 전체 GREEN 확인 후 진입.
  • 단일파일 폴리시: JSP 1파일 안에서 완결(신규 파일 0).
  • 가드레일 명시: 기존 JS 로직 보존 / a11y / BE API 계약 무변경 / 외부 JS 라이브러리·CDN 도입 금지.
  • 산출물에 프리뷰 HTML 포함(artifacts/).

근거: W3-2 고도화 세션(20260622) — 육각형 SVG 레이더·6축 radiogroup·C1~C6 를 fork 위임으로 단일 JSP 파일 승격 + L1 43/43 GREEN 유지.

(긍정 패턴) 다중 UI 안 Artifact 시각비교 → AskUserQuestion 선택 수렴

레이아웃·배치처럼 "여러 방식이 다 타당한" UI 결정은, 구현 전에 실제 프로젝트 CSS 토큰(색상·폰트·기존 클래스명)을 그대로 이식한 정적 Artifact(HTML)로 후보 N안을 한 화면에 나란히 렌더해 사용자가 비교하게 하고, AskUserQuestion 으로 확정받은 뒤에만 소스에 반영한다. /task §5.0 계획가시성 의무를 산문 대신 눈으로 보는 산출물로 충족하는 변형.

절차:

  1. 실제 프로젝트 색상/폰트/컴포넌트 클래스를 grep/Read 로 확인해 Artifact 에 그대로 이식 — 가짜 톤 금지(재현 신뢰도가 선택 신뢰도를 결정).
  2. 결정축이 여러 개면(예: "요약 영역" + "카드 영역") 섹션을 분리하고 각 섹션 안에서만 후보를 나열 — 축을 섞으면 조합폭발.
  3. 후보에 A/B/C/D 같은 안정적 레터를 부여해 이후 AskUserQuestion 옵션 라벨과 1:1 대응 — 참조 혼동 방지.
  4. Artifact 자체의 라디오/버튼 선택은 눈요기일 뿐 상태를 orchestrator 로 되돌리지 못한다 — 실제 확정은 반드시 AskUserQuestion(같은 레터 옵션)으로 받는다.
  5. 확정 전 단계는 소스 변경 0건이므로 verification-advisor/L1 게이트 대상이 아니다 — §9 종료조건 미적용, 세션은 사용자 응답 대기로 열어둔 채 진행.

근거: 세션 20260701-113509 — game-detail.jsp 리뷰 영역(요약 그래프 vs 그래프+범례, 카드 미터바 배치 4안)을 Artifact 로 제시 → AskUserQuestion 1회로 즉시 확정(재작업 요청 0) → 반영 커밋 0c8da40.