From fa9a888c5b25a202afbae390f972a97d7c2c96cd Mon Sep 17 00:00:00 2001 From: art Date: Tue, 30 Jun 2026 10:32:51 +0900 Subject: [PATCH] =?UTF-8?q?docs(graph):=20src+docs=20scope=20=E2=86=92=20f?= =?UTF-8?q?ull=20=EB=8B=A8=EC=9D=BC=20scope=20=ED=86=B5=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit src↔docs 교차 엣지 단절 문제로 분리 scope 폐기. merge-graphs로 2038노드/4685엣지 full 그래프 생성. 규모 비대화 시 재검토 노트 work-session에 기록. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01K3FeMrbtxfTScjrwUukyHD --- .atp/work-session/20260630-103214/report.md | 83 +++++++++++++++++++++ docs/graph/index.md | 14 ++-- 2 files changed, 90 insertions(+), 7 deletions(-) create mode 100644 .atp/work-session/20260630-103214/report.md diff --git a/.atp/work-session/20260630-103214/report.md b/.atp/work-session/20260630-103214/report.md new file mode 100644 index 0000000..eeffec3 --- /dev/null +++ b/.atp/work-session/20260630-103214/report.md @@ -0,0 +1,83 @@ +--- +schema_version: "2.3" +sid: "20260630-103214" +started_at: "2026-06-30T10:32:14+0900" +ended_at: "2026-06-30T10:33:00+0900" +user_request: "graphify src/docs 분리 scope를 full 단일 scope로 통합. work-session에 규모 비대화 시 재검토 노트 기록." +--- + +# Work Session — 20260630-103214 + +## Summary + +graphify `src`·`docs` 분리 scope를 `full` 단일 scope로 통합. +기존 분리 구조에서 src↔docs 교차 엣지 단절 문제를 확인하고, 현재 규모(2038노드)에서는 단일 그래프가 적합하다고 판단. +`graphify merge-graphs`로 두 기존 graph.json을 병합, `docs/graph/index.md` 메타 갱신. + +## Decisions + +- `src`(1840노드/4403엣지) + `docs`(198노드/282엣지) → `full`(2038노드/4685엣지) 병합 +- 판단 근거: 이 프로젝트 규모에서 scope 분리는 재생성 비용 절약보다 cross-link 단절 손실이 더 크다 +- 규모 비대화(수만 노드) 시: scope 재분리 또는 `merge-graphs` 파이프라인 유지하되 별도 scope 운용 재검토 + +## Invocations + +[] + +## Advisor Invocation Decision Log + +- advisor: requirements-advisor + decision: skip + rationale: '요청 명확 — 통합 + 기록 2가지 액션만' + checked_at: "2026-06-30T10:32:14+0900" + +- advisor: design-advisor + decision: skip + rationale: '마이크로 편집 수준 (index.md 1파일 + work-session 기록)' + checked_at: "2026-06-30T10:32:14+0900" + +- advisor: implementation-advisor + decision: skip + rationale: 'orchestrator 직접 수행 허용 범위' + checked_at: "2026-06-30T10:32:14+0900" + +- advisor: verification-advisor + decision: skip + rationale: '코드 변경 0줄 — docs/meta만 변경' + checked_at: "2026-06-30T10:32:14+0900" + +- advisor: documentation-advisor + decision: skip + rationale: 'work-session 기록으로 대체' + checked_at: "2026-06-30T10:32:14+0900" + +## verified_by_me + +코드 변경 없음 — L1/L2 해당 없음. + +## needs_user_verification + +(없음) + +## graph_refresh + +`full` scope 신규 생성 완료 (merge-graphs: 2038노드, 4685엣지). +구 `src`·`docs` scope 디렉토리는 gitignored 본체이므로 삭제 여부는 사용자 판단. + +## open_items + +- 구 `docs/graph/src/`, `docs/graph/docs/` 로컬 디렉토리 정리 (gitignored, 선택) +- docs partial-stale 미반영분(owasp-dependency-check-guide·multipart-size-risk·changes/2026-06-29-b2-b4-fe-hardening) — 차기 `/graphify full` 재생성 시 반영됨 + +## user_signals + +positive: [] +negative: [] + +## Scale Note + +현재 full scope: 2038노드/4685엣지 — 단일 그래프 감당 범위. +**규모 비대화 기준 (수만 노드 도달 시) 재검토 옵션**: +1. `src`·`docs` scope 재분리 + lookup advisor가 양쪽 병렬 쿼리 +2. `merge-graphs` 파이프라인 유지 + staleness 독립 추적 +3. 기능 모듈별 sub-scope (예: `src-auth`, `src-game`, `docs-schema`) diff --git a/docs/graph/index.md b/docs/graph/index.md index 2b3a394..0f65403 100644 --- a/docs/graph/index.md +++ b/docs/graph/index.md @@ -1,10 +1,9 @@ --- kind: graphify-meta -last_generated_at: 2026-06-29T19:15:00+0900 -source_commit: 31dc2ff +last_generated_at: 2026-06-30T00:00:00+0900 +source_commit: 2c48184 scopes: - - src - - docs + - full --- # Graph — graphify 산출물 메타 @@ -32,14 +31,15 @@ docs/graph/ └── audit.md ``` -scope 예시: `src`, `src-features`, `docs`, `full` 등. 한 번에 여러 scope 를 운용할 수 있다. +scope 예시: `full`, `src`, `docs`, `src-features` 등. + +> **scope 전략**: 이 프로젝트는 `full` 단일 scope를 기본으로 한다 (src 1840노드 + docs 198노드 = 2038노드 수준은 단일 그래프로 감당 가능). src↔docs 교차 엣지(코드↔설계문서 관계)가 살아있어야 작업 컨텍스트가 끊기지 않기 때문. 규모가 수만 노드 수준으로 비대해지면 scope 분리 재검토. ## Scopes | scope | 마지막 생성 | 소스 커밋 | 대상 경로 | 요약 | | --- | --- | --- | --- | --- | -| `src` | 2026-06-29 | `31dc2ff` | `src/` (Java + AST) | **B2 dead code 제거 + 없는 게임 404 반영**(fa6a301→31dc2ff, AST 1840노드/4403엣지/79커뮤니티). 노드 제거: `abstracts/` 추상 4클래스(Result/ErrorResult/Request/Service) + `game/GameCatalog`. 엣지 변경: `GameController`→`GameCatalog` 주입엣지 제거, `GameController`→`ResponseStatusException`(404 throw) 신규, `ApiExceptionControllerAdvice` 신규 `@ExceptionHandler(ResponseStatusException)` 핸들러. (정적 이미지/banned-words 제외 — AST 기반.) 직전 상태: **게임 좋아요 서버 영속화 반영**(9041bb7→fa6a301, AST 1857노드/4419엣지/92커뮤니티). 신규 라우트 `GameController.toggleLike` (`POST /game/{id}/like`) + 신규 주입 엣지 `GameController`→`GameLikesMapper`, mapper 메서드 5 (`GamesMapper.{incrementLikeCount,decrementLikeCount,getLikeCount}` + `GameLikesMapper.{findByGameAndUser,deleteByGameAndUser}`). 직전 상태: **배지 표시면 배선 + 보안 하드닝 반영**(305cc73→9041bb7, AST 1836노드/4330엣지/89커뮤니티). 신규 엣지: `UserBadgesQueryMapper`→{`WebMvcController`,`SearchController`} 주입(게임카드 creator 배지·프로필 myBadges 표시 경로 — GameReviewController authorBadges 정본 답습), `SsrfSafeFetcher.initDnsCachePolicy()` 메서드 노드(networkaddress.cache.ttl 하드닝). W3(잔여)+W4 워크스트림 군집 유지: 태그/검색·메인허브 keyset·게시판/SSRF/유니티피드·업로드보안(ZipSecurity)·배지/평판. 기존 W1 RBAC·W2 게임잼·리뷰·댓글 군집 유지. 정적 이미지/banned-words 제외(AST 기반). | -| `docs` | 2026-06-29 | `305cc73` | `docs/` (md + DDL) | **W3/W4 스키마·변경이력 반영**(semantic 198노드/282엣지/14커뮤니티). 신규 DDL 5: tag-ddl·games-hub-ddl·board-ddl·game-upload-ddl·badge-ddl(테이블/뷰 12 + 인덱스) — tags/game_tags/jam_tags/game_views·post_categories/posts/unity_feed_sources/unity_feed_items·game_upload_audit_log·badges/user_badges/reputation_events 스키마 군집. changes 2026-06-29 W3/W4 변경이력 + 구현추적 갱신. 기존 W1/W2 스키마·문서 카테고리·보안·검증·로드맵 군집 유지. graphify 본체(docs/graph/{src,docs}/) 자기참조 제외. **(docs partial-stale 누적 — 차기 일괄 재생성 대상: ① docs/maintenance 추가분 ② 2026-06-29 B2·B4·FE 세션 신규 가이드 md 3건 `owasp-dependency-check-guide`·`multipart-size-risk`·`changes/2026-06-29-b2-b4-fe-hardening` 미반영. DDL 무변경·코드구조 무관·우선순위 낮음(graph-refresh-checker 판정) + 자기참조 제외 처리 비용으로 src 재생성 시 동반 보류. 별도 `/graphify docs/` 일괄 권고.)** | +| `full` | 2026-06-30 | `2c48184` | `src/` + `docs/` | **src+docs 통합** (merge-graphs, 2038노드/4685엣지). 기존 `src` scope(AST 1840노드/4403엣지, Java 클래스·메서드·주입엣지) + `docs` scope(semantic 198노드/282엣지, 설계문서·DDL·변경이력)를 단일 그래프로 통합. src↔docs 교차 탐색 가능. 직전 src 상태: B2 dead code 제거 + 없는 게임 404 반영 (31dc2ff). 직전 docs 상태: W3/W4 스키마·변경이력 반영 (305cc73). | ## 갱신 시 체크리스트