bibimbap/docs/graph/index.md

3.6 KiB

kind last_generated_at source_commit scopes
graphify-meta 2026-07-24T09:43:00+0900 6154826
full

Graph — graphify 산출물 메타

이 디렉토리는 /graphify 가 생성하는 지식 그래프 산출물의 메타 정보만 커밋한다. HTML/JSON/audit 본체는 .gitignore 대상이며 재생성 가능하다.

설치·적용 가이드는 atp-graphify add-on 번들의 graphify-usage.md 참조.

엔트리포인트 사용법

  • 구조 탐색이 필요한 작업 전에 이 파일의 last_generated_atsource_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 예시: full, src, docs, src-features 등.

scope 전략: 이 프로젝트는 full 단일 scope를 기본으로 한다 (src 1840노드 + docs 198노드 = 2038노드 수준은 단일 그래프로 감당 가능). src↔docs 교차 엣지(코드↔설계문서 관계)가 살아있어야 작업 컨텍스트가 끊기지 않기 때문. 규모가 수만 노드 수준으로 비대해지면 scope 분리 재검토.

Scopes

scope 마지막 생성 소스 커밋 대상 경로 요약
full 2026-07-24 6154826 src/ + docs/ incremental update — 3커밋분 변경(4 파일: PostController.java + docs 3건) 재추출 후 build_merge 병합 시 고스트 중복 20 exact + 11 fuzzy 추가 제거(1477→1507 노드, 4570 엣지, 76 커뮤니티 — 커뮤니티 수 불변이라 기존 라벨 재사용). posts-list.jsp/posts-empty.jspf 는 canWrite 권한 조건부 렌더 추가했으나 JSP 확장자가 여전히 스캔 범위 밖이라 그래프 미반영.

알려진 한계 (영속 — Scopes 표와 달리 재생성해도 덮어쓰지 않음)

  • JSP/JSPF 는 graphify 스캔 범위 밖. /graphify 의 code 확장자 판정 목록(.py .ts .js .go .rs .java .cpp ...)에 .jsp/.jspf 가 없어 AST 추출 대상이 아니고, semantic(LLM) 청크로도 code 파일 취급되지 않는다. src/main/webapp/WEB-INF/views/** 의 뷰 로직 변경(조건부 렌더, <%@ include %> 관계 등)은 구조적으로 그래프에 반영되지 않는다.
    • 재확인 세션: 20260701-083240, 20260724-092601(PostController.list() ↔ posts-list.jsp/posts-empty.jspf 의 canWrite 바인딩 — 컨트롤러측만 반영, 뷰측 미반영).
    • 적용: 컨트롤러↔JSP 매핑, 뷰 조건부 렌더 등은 graphify query 로 찾지 말고 grep/Read 로 직접 확인한다. graph-refresh-checker 는 변경분이 JSP/JSPF 뿐이면 incremental 재추출을 시도하지 않고 "그래프 미반영(알려진 한계)"로 즉시 판정해도 된다(no-scope-change 취급).

갱신 시 체크리스트

  • frontmatter 의 last_generated_at, source_commit, scopes 갱신
  • 아래 "Scopes" 표에 한 줄 추가/갱신
  • 폐기된 scope 가 있다면 해당 디렉토리 rm -rf + 표에서 제거