refactor: 문서 개선 중
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"version": "1.1",
|
||||
"id": "record-kind-fanout",
|
||||
"title": "새 CONCEPT 종류가 세 영역의 손 목록으로 퍼진 구조",
|
||||
"question": "CONCEPT 하나를 추가했는데 왜 계약·백엔드·프론트엔드 여러 위치를 동시에 고쳐야 했는가?",
|
||||
"type": "dependency",
|
||||
"direction": "LR",
|
||||
"audience": [
|
||||
"프론트엔드 개발자",
|
||||
"백엔드 개발자",
|
||||
"계약 설계자"
|
||||
],
|
||||
"summary": "종류를 손으로 나열한 코드가 여러 영역에 흩어져 있어 CONCEPT 하나가 프론트엔드 9곳, 백엔드 1곳, 계약 3곳에서 따로 빠졌다.",
|
||||
"alt": "새 CONCEPT 노드에서 프론트엔드 손 목록, 백엔드 손 목록, 계약 enum 세 갈래로 퍼지는 팬아웃 그림. 각 갈래에는 실제 누락 건수 9, 1, 3이 적혀 있다.",
|
||||
"long_description": "왼쪽의 새 CONCEPT가 세 갈래로 퍼진다. 프론트엔드에는 게이트웨이 분기, 매퍼, 필터 같은 손 목록이 아홉 곳 있었고, 백엔드에는 PublicSql.pathOf 한 곳이 빠졌다. 계약에는 CatalogEntry.kind, ResolvedRelation.targetKind, RelatedEntry.type 세 enum 누락이 있었다. 아래 본문 표가 열세 위치를 정확히 나열하고, 그림은 왜 한 종류 변경이 세 영역으로 퍼졌는지만 보여 준다.",
|
||||
"source_context": {
|
||||
"document": "docs/TechLog/final/document.md",
|
||||
"document_sha256": "c3a7de37b778fff7b6ea555a3ad7338c91c6fb15d685e7734f89472b4924d955",
|
||||
"anchor": {
|
||||
"kind": "heading",
|
||||
"value": "3. 손으로 나열한 목록이 새 종류를 삼킨다",
|
||||
"line": 311
|
||||
}
|
||||
},
|
||||
"composition": {
|
||||
"profile": "component-flow",
|
||||
"diagram_only": true,
|
||||
"reference_ids": [
|
||||
"payment-event-flow"
|
||||
],
|
||||
"rationale": "정확한 열세 위치는 이미 표가 있으므로, 그림은 새 종류 하나에서 계약·백엔드·프론트엔드로 퍼지는 의존 방향만 보여 준다.",
|
||||
"focus_node": "concept"
|
||||
},
|
||||
"groups": [],
|
||||
"nodes": [
|
||||
{
|
||||
"id": "concept",
|
||||
"label": "CONCEPT",
|
||||
"kind": "message",
|
||||
"role": "source",
|
||||
"details": [
|
||||
"새 Record Kind"
|
||||
],
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 316,
|
||||
"end_line": 331
|
||||
}
|
||||
],
|
||||
"assumption": false,
|
||||
"emphasis": "primary"
|
||||
},
|
||||
{
|
||||
"id": "frontend",
|
||||
"label": "Frontend 손 목록",
|
||||
"kind": "component",
|
||||
"role": "service",
|
||||
"details": [
|
||||
"9곳",
|
||||
"gateway · mapper · filter"
|
||||
],
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 335,
|
||||
"end_line": 345
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
},
|
||||
{
|
||||
"id": "backend",
|
||||
"label": "Backend 손 목록",
|
||||
"kind": "component",
|
||||
"role": "service",
|
||||
"details": [
|
||||
"1곳",
|
||||
"PublicSql.pathOf"
|
||||
],
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 345,
|
||||
"end_line": 349
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
},
|
||||
{
|
||||
"id": "contract",
|
||||
"label": "Contract enums",
|
||||
"kind": "component",
|
||||
"role": "sink",
|
||||
"details": [
|
||||
"3곳",
|
||||
"CatalogEntry.kind",
|
||||
"ResolvedRelation.targetKind",
|
||||
"RelatedEntry.type"
|
||||
],
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 346,
|
||||
"end_line": 352
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"id": "to-frontend",
|
||||
"from": "concept",
|
||||
"to": "frontend",
|
||||
"label": "kind 추가",
|
||||
"kind": "data",
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 330,
|
||||
"end_line": 345
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
},
|
||||
{
|
||||
"id": "to-backend",
|
||||
"from": "concept",
|
||||
"to": "backend",
|
||||
"label": "kind 추가",
|
||||
"kind": "data",
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 345,
|
||||
"end_line": 349
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
},
|
||||
{
|
||||
"id": "to-contract",
|
||||
"from": "concept",
|
||||
"to": "contract",
|
||||
"label": "enum 추가",
|
||||
"kind": "data",
|
||||
"evidence": [
|
||||
{
|
||||
"start_line": 346,
|
||||
"end_line": 352
|
||||
}
|
||||
],
|
||||
"assumption": false
|
||||
}
|
||||
],
|
||||
"legend": [],
|
||||
"metadata": {
|
||||
"rationale": "13개의 동일한 카드 대신 세 영역으로만 묶는다. 정확한 누락 위치와 증상은 본문 표가 유지한다."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user