Commit Graph

20 Commits

Author SHA1 Message Date
이정수 0205dca0f7 docs(dev): 사용자 의사결정/리포트 컨벤션 4건 workflow-patterns 로 이전 + 재발방지 규칙 등재
3개 독립 리뷰 서브에이전트(감사A/감사B/정책진단)의 수렴 결과에 따라:
- verification-strategies.md 에서 스코프 위반이 명확한 4개 항목(모호한 시각
  결함 다축스캔 선행, 시각 디자인 결정 프리뷰 공동확인, needs_user_verification
  결정분기 구조화, needs_user_verification 이월 시 known pitfall 교차인용)을
  workflow-patterns.md 로 이전 — 전부 "사용자와 어떻게 합의하는가"이지 코드
  정오 검증이 아님.
- design-advisor/orchestrator 운영 규율 성격 항목(SSR 영향맵, scope-fence,
  트레이드오프 확정, multi-worker git diff 교차검증, Test.java 소유태그,
  graphify 스캔범위)은 이번 라운드에서 보류 — ATP 메커니즘 성격이 강해
  별도 판단 필요.
- document-category-classification.md 에 재발방지 규칙 추가: 기존 문서에
  append 하기 전 그 문서의 자기선언 스코프와 먼저 대조하고, 같은 파일 안의
  선례를 정당화 근거로 삼지 않는다.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011h6etRXJLx1xdfxmVcHjBg
2026-07-01 12:26:08 +09:00
이정수 15023c0373 docs(dev): freeze 근거확인 + frontend-design fork 위임 패턴도 workflow-patterns 로 이전
verification-strategies.md 에 남아있던 나머지 두 "작업 방식" 패턴
(freeze/동결 분류 판단절차, frontend-design 스킬 fork 위임)을
workflow-patterns.md 로 이전. index.md 목록 설명도 항목 위치에 맞게 정정.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011h6etRXJLx1xdfxmVcHjBg
2026-07-01 12:19:17 +09:00
이정수 4c54b9db38 docs(dev): 다중 UI 안 Artifact 시각비교 패턴을 verification 대신 workflow-patterns 로 재배치
검증 전략(verification-strategies.md)은 "코드가 옳은가" L1/L2/L3 판정
레지스트리 범위인데, 직전 커밋(810fa21)에서 사용자 합의 수렴 절차(작업
진행 방식)를 그 안에 잘못 등재했다. 신규 docs/development/workflow-patterns.md
로 옮기고 index.md 목록도 정정.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011h6etRXJLx1xdfxmVcHjBg
2026-07-01 12:07:51 +09:00
이정수 810fa211a5 docs(dev): 다중 UI 안 Artifact 시각비교 → AskUserQuestion 선택 수렴 패턴 등재
game-detail.jsp 리뷰 레이아웃 세션(20260701-113509)에서 검증된 워크플로우
— 실제 CSS 토큰을 이식한 Artifact 로 후보 N안을 한 화면 비교 제시 →
AskUserQuestion 으로 확정 → 그 후에만 소스 반영 — 를 재사용 가능한
긍정 패턴으로 verification-strategies.md 에 기록하고 index.md 목록에 반영.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011h6etRXJLx1xdfxmVcHjBg
2026-07-01 12:05:32 +09:00
이정수 7572e86605 docs(dev): SQL data-only 검증레벨 표 등재 + needs_user_verification known-pitfall 교차인용 규약
retrospective-advisor 회고(세션 20260701-100731) 반영:
- "버그 범주 → L 레벨" 표에 'SQL data-only(DML)' 행 추가 — L1 해당없음
  명시 + L2(API/DB 값 일치) 필수. 매 seed/백필 세션마다 즉흥 재정당화
  하던 스킵 근거를 레지스트리에 고정.
- needs_user_verification 이월 시 최근 세션에 docs화된 렌더 관련
  known pitfall(예: JSP stale 렌더링)과 경로가 겹치면 명시 인용하는
  규약 추가. 직전 세션(20260701-093754)의 JSP 즉시반영 실패 교훈이
  후속 세션에 인용 안 된 사례를 근거로 신설, 이번 report.md 에도
  소급 적용.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0162BaZnrbiYgWc9JJMZ9Czb
2026-07-01 10:16:33 +09:00
이정수 6b24386623 docs(dev): 시각 프리뷰 공동확인 + 정적 html charset 교훈
세션 20260701-083240 회고 반영.
- 시각 디자인 결정은 앱 정적경로(/css/) 프리뷰 서빙으로 사용자·에이전트 공동 확인
  (텍스트 diff 예측 한계). 결정 후 프리뷰 삭제.
- 정적 .html(DefaultServlet)도 meta charset 필수 — §299 의 정적파일 짝.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0162BaZnrbiYgWc9JJMZ9Czb
2026-07-01 09:34:26 +09:00
이정수 20789a2922 docs(changes): UI 다축평가 비율·가시성 수정 사례 추가
세션 20260630-175023 을 changes 사례로 문서화. 다축 멀티에이전트
평가(6 에이전트)로 모호 시각어휘를 13건 결함으로 확장한 패턴 기록.
verification-strategies.md 교훈과 양방향 교차링크. graphify-out/ gitignore.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0162BaZnrbiYgWc9JJMZ9Czb
2026-06-30 19:24:08 +09:00
이정수 c688aa67d8 docs(dev): 모호 시각어휘 다축 스캔 선행 교훈 + 세션 회고
세션 20260630-175023 회고 반영.
- verification-strategies.md: "모호 시각 결함 어휘는 단일 결정축 협소화
  전 다축 스캔 선행" 레슨 추가 + §4.4 item5 선행게이트 강화 권고.
- work-session 보고서 + 회고 섹션.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0162BaZnrbiYgWc9JJMZ9Czb
2026-06-30 18:29:10 +09:00
이정수 d379a1c353 docs(dev): 정적 include jspf pageEncoding 교훈 추가
브라우저 리뷰에서 빈상태 파편 mojibake 발견(fix a4d163d). 정적
include 파편은 부모 pageEncoding 미상속 → 자체 UTF-8 선언 필수.
JSP 검증 섹션에 재현성 교훈 추가.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 16:56:00 +09:00
이정수 8d52b1082f docs(dev): JSP 변경 런타임 스모크 의무 교훈 추가
회고 교훈 jsp-runtime-smoke-gate 반영. JSP 사전컴파일 미설정이라
WAR 빌드 PASS가 EL/taglib 오류를 은닉 → JSP 변경 시 런타임 스모크
의무 + 디자인 이식 stray taglib grep 체크. 근거: errer.jsp JSTL
taglib 결함(세션 20260630-160000).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 16:44:57 +09:00
이정수 3726ce54f2 docs(retro): 세션 20260630-113258 회고 교훈 3건 docs 반영
- CLAUDE.md: 정적 CSS/JS Tomcat DefaultServlet 서빙 경로 규약 추가
- security-remediation-checklist: B5 recruit-form CSRF 폴백 갭 (P0) 추가
- verification-strategies: graphify 스캔 범위 JSP/CSS/JS 미포함 교훈 추가
- report.md: ended_at 기록

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-30 12:11:04 +09:00
이정수 db816e10fc docs(dev): MyBatis null 캐스트 규약 + docker-compose override --build 함정 기록
verification-strategies.md: MyBatis annotation SQL에서 nullable 파라미터를
#{p} IS NULL 조건으로 사용 시 ::bigint/::timestamptz 명시 캐스트 필수 규약 추가.
컴파일·L1 MockBean 테스트로 탐지 불가 — 코드리뷰 rg 체크 항목 포함.

local-dev-setup.md: docker-compose.override.yml 존재 시 `docker compose up --build`
(base 명시 없이)는 override 의 build: !reset null 로 무효화된다는 경고 추가.
로컬 Java 변경 반영은 `docker compose restart app` 으로 충분함을 명시.

근거: 세션 20260630-105459 포스팅 500 버그 수정 회고.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-30 11:23:24 +09:00
이정수 7047e06791 docs(verification): 회고 교훈 2건 반영 (20260629 세션)
- 버그범주 표: HTTP 상태/예외 매핑 변경 → L1 + 런타임 스모크 의무
- 구조교훈: HTTP 상태변경 런타임 스모크(전역 핸들러 가림 주의) + multi-worker advisor 산출 git diff 교차검증

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-29 19:24:22 +09:00
이정수 a4866b6420 docs(w4): 배지표시·하드닝 변경이력 + L3 배포후 체크리스트 + 회고 교훈 3건
- changes 2026-06-29-w3-w4: 후속 세션(배지 배선·하드닝 b1/b2·DDL 적용완료·L3 이월) 기록
- maintenance/post-deploy-verification-checklist.md 신설: L3 deferred 5기능 +
  b2 자산 수동이전 절차(static/profile/8 → ~/.bibimbap/uploads)
- verification-strategies: 교훈 3건(needs 결정분기 구조화·표시배선 후행 독립트랙
  실증·런타임 의존 L1/L3 레이어 분리)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-29 15:01:27 +09:00
이정수 31554f8886 docs(w3-w4): W3(잔여)+W4 변경이력·구현추적 + 회고 교훈 4건 반영
- docs/changes/2026-06-29-w3-w4-features.md 신규 — W3-1/3-4/3-3/3-5/W4 5기능 변경(테이블·컨트롤러·매퍼·보안게이트·검증 347/347 + 커밋 35f1dc3~305cc73) + needs_user_verification
- docs/changes/index.md 링크 추가
- work-log 풀설계 요약 구현추적 갱신 — "W3(잔여)·W4 설계만(미구현)" → 11기능 전부 구현 완료 + 교차링크
- verification-strategies.md 회고 교훈 4건 append: (1) 보안 거부 테스트 차별 입증(vacuous 회피) (2) 보안핵심 verification+adversarial 병렬 (3) 표시면 의존 scope-fence 예외 (4) 설계 트레이드오프 1차 결론 못박기 + 프로토콜 개선 권고 5건

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD
2026-06-29 12:54:50 +09:00
이정수 7ae6589b39 docs(dev): W2 회고 교훈 3건 반영 — (검증)태그·케이스폴딩 기준·공유헬퍼 grounding
설계·테스트 단계 체크리스트(append-only):
- 신규 *Test.java 는 "(검증)" 소유태그여도 구현 산출물(verification은 실행만, Write 없음)
- 매퍼 alias 케이스폴딩 기준 = Map resultType/집계 SELECT (VIEW 여부 아님). POJO 직접매핑은 비인용 허용 — BUG-2 교훈 정밀화
- 신규 컨트롤러 호출 공유 헬퍼는 정의 존재를 grounding(rg)으로 선확인(test-compile 비신뢰)

외부 번들 권고 2건 추가(design-advisor owner 표기 분리·impl-advisor 헬퍼 grounding). 근거 W2 세션(20260624).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 14:23:12 +09:00
이정수 e0eb8eae15 docs(dev): 검증 회고 교훈 반영 — DB-방언 계약 L2 + stale 빌드 가드
W3-2 L3 검증 세션(20260622-170857) 회고에서 채택한 재현성 교훈 2건 docs 반영.

- verification-strategies.md: 버그범주→L레벨 표에 "MyBatis 매퍼/SQL alias·집계 뷰
  변경 = L1+L2(dev DB contract)" 행 추가 + mock-vs-reality 노트(alias 케이스 폴딩,
  뷰 fan-out 실증) — L1 @MockBean 이 DB-방언 계약을 구조적으로 우회함을 명시.
- local-setup.md §4.2: L3 검증 진입 전 "가동 앱이 현재 빌드인지" 확인 절차 신설
  (JSP docBase 동결 → stale spring-boot:run 라이브 리로드 불가, 재기동 필수).
- work-session 회고 산출물(report.md Retrospective/applied_changes) 동봉.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 17:58:47 +09:00
이정수 b9d836d5f4 feat: W3-2 댓글/리뷰 고도화 — 다축 평점·육각형 레이더·페이지네이션·집계뷰
W3-2 코어 위에 FINAL SPEC 전체 구현 (resumed_from 20260618-145152).

- 다축 평점: game_review_axes(6축·리뷰당6행) + overall 자동평균/수동(is_rating_manual)
- 육각형 SVG 레이더(요약+카드, frontend-design 폴리시), 6축 radiogroup(roving tabindex)
- A1 commentView 통일 / A2 하이브리드 작성자명+탈퇴자 마스킹(QG-2) / A3 edited·updated_at
- B1 페이지네이션(limit+1 hasMore) + sort 화이트리스트(@SelectProvider, ${} 미사용)
- B2 본문 최소10자 / B3 TextNormalizer 정규화
- C3 game_review_stats 집계뷰(W3-2 일반 DDL, 잼평가 동결 무관). 클라 평균계산 폐기
- DDL 멱등 ALTER/CREATE (game-reviews-ddl.sql + db/schema.sql 동기화)

검증: ./mvnw test 43/43 GREEN(회귀0). DDL 적용·L3 스모크 = 사용자 환경.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 12:29:21 +09:00
이정수 e98c437765 feat: W3-2 댓글/리뷰 분리 구현
기존 game_comments(닉네임 자유입력, localStorage 전용)를 서버 영속화 +
로그인 연동으로 전환하고, 별점 5점 + 서술 평가 형태의 game_reviews 도메인 신설.

- 댓글 서버 영속화: localStorage → DB game_comments. user_id NULL FK 비파괴 추가,
  content 200자 앱레벨 검증. 레거시 nickname 레코드 보존(비마이그레이션, QG-2).
- game_reviews 신설: 게임당 1회(partial UNIQUE), rating CHECK(1~5), soft-delete.
- 권한: 작성자 본인 OR ROLE_ADMIN. 비로그인 쓰기 401, CSRF 미검증 403.
- GameController.deleteGame 에 리뷰 cascade soft-delete 추가.
- GameCommentController(C1~C4) / GameReviewController(R1~R5) 신규.
- 컨트롤러 단위 테스트 추가, BibimbapApplicationTests 매퍼 @MockBean 보강.
- 보안 체크리스트 댓글 항목 충족 마킹, 좋아요 항목은 범위 밖 미결 유지.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019tHAb6XYHWDPzb82FNKugo
2026-06-18 14:35:24 +09:00
이정수 33a4465e0e docs: ATP 문서 체계 도입 및 프로젝트 종합 분석 추가
docs/ 카테고리 트리(adr·analysis·architecture 등)와 ATP 워크플로 문서를 신규 추가하고,
4축(아키텍처·보안·품질·도메인) read-only 종합 분석을
docs/analysis/2026-06-16-project-analysis.md 로 기록한다.

- 신규 분석 문서 + docs/analysis/index.md 링크
- 기존 docs 2건(db-update-query-generator, user-signup-schema)에 교차링크 추가
- CLAUDE.md 프로젝트 지침, .atp/work-session 분석 세션 기록, .serena 프로젝트 설정 포함

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 12:18:56 +09:00