49 lines
4.4 KiB
Markdown
49 lines
4.4 KiB
Markdown
---
|
|
kind: graphify-meta
|
|
last_generated_at: 2026-06-29T19:15:00+0900
|
|
source_commit: 31dc2ff
|
|
scopes:
|
|
- src
|
|
- docs
|
|
---
|
|
|
|
# Graph — graphify 산출물 메타
|
|
|
|
이 디렉토리는 `/graphify` 가 생성하는 지식 그래프 산출물의 **메타 정보만** 커밋한다. HTML/JSON/audit 본체는 `.gitignore` 대상이며 재생성 가능하다.
|
|
|
|
> 설치·적용 가이드는 `atp-graphify` add-on 번들의 `graphify-usage.md` 참조.
|
|
|
|
## 엔트리포인트 사용법
|
|
|
|
- 구조 탐색이 필요한 작업 전에 이 파일의 `last_generated_at` 과 `source_commit` 을 확인한다.
|
|
- 메인 브랜치 기준 마지막 소스 커밋보다 뒤쳐져 있다면 `graph-refresh-checker` 서브에이전트를 호출해 staleness 판정을 받는다.
|
|
- 판정 결과가 `partial-stale` / `fully-stale` 이면 메인 에이전트가 `/graphify` 를 호출해 재생성하고, 이 파일을 갱신한다.
|
|
- 더 이상 관련 없는 scope (제거된 모듈 등) 의 산출물은 재생성 전 **삭제** 한다.
|
|
|
|
## 산출물 레이아웃
|
|
|
|
```
|
|
docs/graph/
|
|
├── index.md # 이 파일 — 메타, 커밋 대상
|
|
├── .gitignore # 본체 무시
|
|
└── <scope>/ # scope 별 산출물 디렉토리 (무시됨)
|
|
├── graph.html
|
|
├── graph.json
|
|
└── audit.md
|
|
```
|
|
|
|
scope 예시: `src`, `src-features`, `docs`, `full` 등. 한 번에 여러 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/` 일괄 권고.)** |
|
|
|
|
## 갱신 시 체크리스트
|
|
|
|
- [ ] frontmatter 의 `last_generated_at`, `source_commit`, `scopes` 갱신
|
|
- [ ] 아래 "Scopes" 표에 한 줄 추가/갱신
|
|
- [ ] 폐기된 scope 가 있다면 해당 디렉토리 `rm -rf` + 표에서 제거
|