Skip to content

fix(diagram): parseCanvasDocument에서 dangling edge 검증 추가 및 테스트 수정 #10

Description

@coderabbitai

배경

PR #9 코드 리뷰 중 발견된 문제입니다.

문제

src/features/diagram/model/document.tsparseCanvasDocument 함수에서 엣지의 source/target이 문자열이기만 하면 통과되어, 실제 존재하지 않는 노드를 참조하는 dangling edge가 런타임 상태로 복원됩니다.

이 상태는 문서 round-trip 이후에도 유지되어 그래프 무결성을 깨트릴 수 있습니다.

해야 할 일

  • parseCanvasDocument 내에서 파싱된 node id Set을 구성하고, 엣지의 source/target 양쪽이 모두 해당 Set에 존재하는지 검증하는 로직 추가
  • dangling edge를 전체 파싱 실패가 아닌 해당 엣지만 제외(필터)하는 방향 또는 전체 null 반환 방향 중 결정 후 구현
  • src/features/diagram/model/__tests__/document.test.ts 테스트 케이스 수정 (dangling edge 시나리오 커버)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions