Files
document-haness/examples/golden/application-core-spring-di-boundary.evidence-map.json
T

713 lines
26 KiB
JSON

{
"schema_version": 2,
"document": "`application-core`는 왜 Spring DI만 허용했을까",
"citation_style": "hidden",
"reader_document_contains_internal_source_ids": false,
"sections": [
{
"section_id": "01-problem-scene",
"intent": "problem_scene",
"title": "코드보다 먼저 드러난 문제",
"reader_question": "독자가 공감할 수 있는 구체적인 상황에서 어떤 문제가 드러났는가?",
"decision_requirements": [],
"evidence": [
{
"id": "Lbe6cb7d8e8",
"title": "branch / feature-application-port-usecase-contract — 결정 사항",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "결정 사항",
"line_start": 14,
"line_end": 21,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [
"D11",
"D13",
"D3"
],
"priority": 103.785277
},
{
"id": "Lf440ea562d",
"title": "branch / feature-application-port-usecase-contract — 선택의 비용",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "선택의 비용",
"line_start": 26,
"line_end": 28,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 114.102502
},
{
"id": "Ld4394f2f14",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 실제 구현 내용",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "실제 구현 내용",
"line_start": 14,
"line_end": 21,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 49.973142
},
{
"id": "L8db0ff5b86",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 검증 범위",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "검증 범위",
"line_start": 28,
"line_end": 30,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 52.655538
}
],
"evidence_gap": false
},
{
"section_id": "02-constraints",
"intent": "constraints",
"title": "문제를 어렵게 만든 제약",
"reader_question": "단순한 해법을 막은 프로젝트 제약은 무엇이었는가?",
"decision_requirements": [],
"evidence": [
{
"id": "Lbe6cb7d8e8",
"title": "branch / feature-application-port-usecase-contract — 결정 사항",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "결정 사항",
"line_start": 14,
"line_end": 21,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [
"D11",
"D13",
"D3"
],
"priority": 103.785277
},
{
"id": "Lf440ea562d",
"title": "branch / feature-application-port-usecase-contract — 선택의 비용",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "선택의 비용",
"line_start": 26,
"line_end": 28,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 114.102502
},
{
"id": "Ld4394f2f14",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 실제 구현 내용",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "실제 구현 내용",
"line_start": 14,
"line_end": 21,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 49.973142
},
{
"id": "L8db0ff5b86",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 검증 범위",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "검증 범위",
"line_start": 28,
"line_end": 30,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 52.655538
}
],
"evidence_gap": false
},
{
"section_id": "03-options",
"intent": "options",
"title": "검토한 선택지와 막힌 지점",
"reader_question": "어떤 대안들을 검토했고 각각 어디에서 비용이 생겼는가?",
"decision_requirements": [
"상황·제약",
"선택",
"선택 이유",
"검토한 대안",
"수용한 비용",
"보완 가드레일"
],
"evidence": [
{
"id": "Lbe6cb7d8e8",
"title": "branch / feature-application-port-usecase-contract — 결정 사항",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "결정 사항",
"line_start": 14,
"line_end": 21,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [
"D11",
"D13",
"D3"
],
"priority": 103.785277
},
{
"id": "Lf440ea562d",
"title": "branch / feature-application-port-usecase-contract — 선택의 비용",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "선택의 비용",
"line_start": 26,
"line_end": 28,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 114.102502
},
{
"id": "Ld4394f2f14",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 실제 구현 내용",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "실제 구현 내용",
"line_start": 14,
"line_end": 21,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 49.973142
},
{
"id": "L8db0ff5b86",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 검증 범위",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "검증 범위",
"line_start": 28,
"line_end": 30,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 52.655538
}
],
"evidence_gap": false
},
{
"section_id": "04-decision-rationale",
"intent": "decision_rationale",
"title": "선택의 이유와 지킨 경계",
"reader_question": "왜 이 선택을 했으며 무엇을 일부러 포기하거나 금지했는가?",
"decision_requirements": [
"상황·제약",
"선택",
"선택 이유",
"검토한 대안",
"수용한 비용",
"보완 가드레일"
],
"evidence": [
{
"id": "Lbe6cb7d8e8",
"title": "branch / feature-application-port-usecase-contract — 결정 사항",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "결정 사항",
"line_start": 14,
"line_end": 21,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [
"D11",
"D13",
"D3"
],
"priority": 103.785277
},
{
"id": "Lf440ea562d",
"title": "branch / feature-application-port-usecase-contract — 선택의 비용",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "선택의 비용",
"line_start": 26,
"line_end": 28,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 114.102502
},
{
"id": "Ld4394f2f14",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 실제 구현 내용",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "실제 구현 내용",
"line_start": 14,
"line_end": 21,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 49.973142
},
{
"id": "L8db0ff5b86",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 검증 범위",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "검증 범위",
"line_start": 28,
"line_end": 30,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 52.655538
}
],
"evidence_gap": false
},
{
"section_id": "05-mechanism",
"intent": "mechanism",
"title": "선택이 코드와 흐름에 반영되는 방식",
"reader_question": "결정이 모듈, 인터페이스, 제어 흐름에 어떻게 반영되는가?",
"decision_requirements": [],
"evidence": [
{
"id": "Lbe6cb7d8e8",
"title": "branch / feature-application-port-usecase-contract — 결정 사항",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "결정 사항",
"line_start": 14,
"line_end": 21,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [
"D11",
"D13",
"D3"
],
"priority": 103.785277
},
{
"id": "Lf440ea562d",
"title": "branch / feature-application-port-usecase-contract — 선택의 비용",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "선택의 비용",
"line_start": 26,
"line_end": 28,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 114.102502
},
{
"id": "Ld4394f2f14",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 실제 구현 내용",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "실제 구현 내용",
"line_start": 14,
"line_end": 21,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 49.973142
},
{
"id": "L8db0ff5b86",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 검증 범위",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "검증 범위",
"line_start": 28,
"line_end": 30,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 52.655538
}
],
"evidence_gap": false
},
{
"section_id": "06-evidence-verification",
"intent": "evidence_verification",
"title": "결정이 지켜지는지 확인하는 방법",
"reader_question": "설명한 경계와 결과가 실제로 유지되는지 어떻게 확인하는가?",
"decision_requirements": [],
"evidence": [
{
"id": "Lbe6cb7d8e8",
"title": "branch / feature-application-port-usecase-contract — 결정 사항",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "결정 사항",
"line_start": 14,
"line_end": 21,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [
"D11",
"D13",
"D3"
],
"priority": 103.785277
},
{
"id": "Lf440ea562d",
"title": "branch / feature-application-port-usecase-contract — 선택의 비용",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "선택의 비용",
"line_start": 26,
"line_end": 28,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 114.102502
},
{
"id": "L8db0ff5b86",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 검증 범위",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "검증 범위",
"line_start": 28,
"line_end": 30,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 52.655538
},
{
"id": "Ld4394f2f14",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 실제 구현 내용",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "실제 구현 내용",
"line_start": 14,
"line_end": 21,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 49.973142
}
],
"evidence_gap": false
},
{
"section_id": "07-tradeoffs",
"intent": "tradeoffs",
"title": "얻은 것, 잃은 것, 적용하지 않을 때",
"reader_question": "이 선택의 비용과 한계는 무엇이며 언제 다른 선택이 나은가?",
"decision_requirements": [
"상황·제약",
"선택",
"선택 이유",
"검토한 대안",
"수용한 비용",
"보완 가드레일"
],
"evidence": [
{
"id": "Lbe6cb7d8e8",
"title": "branch / feature-application-port-usecase-contract — 결정 사항",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "결정 사항",
"line_start": 14,
"line_end": 21,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [
"D11",
"D13",
"D3"
],
"priority": 103.785277
},
{
"id": "Lf440ea562d",
"title": "branch / feature-application-port-usecase-contract — 선택의 비용",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "선택의 비용",
"line_start": 26,
"line_end": 28,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 114.102502
},
{
"id": "Ld4394f2f14",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 실제 구현 내용",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "실제 구현 내용",
"line_start": 14,
"line_end": 21,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 49.973142
},
{
"id": "L54271e62b5",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 경계 검증",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "경계 검증",
"line_start": 22,
"line_end": 27,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 48.650226
}
],
"evidence_gap": false
},
{
"section_id": "08-conclusion",
"intent": "conclusion",
"title": "결국 지키려던 것은 무엇이었나",
"reader_question": "세부 기술을 걷어냈을 때 남는 판단은 무엇인가?",
"decision_requirements": [],
"evidence": [],
"evidence_gap": false
}
],
"sources": [
{
"id": "Lf440ea562d",
"title": "branch / feature-application-port-usecase-contract — 선택의 비용",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "선택의 비용",
"line_start": 26,
"line_end": 28,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 114.102502
},
{
"id": "Lbe6cb7d8e8",
"title": "branch / feature-application-port-usecase-contract — 결정 사항",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "결정 사항",
"line_start": 14,
"line_end": 21,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [
"D11",
"D13",
"D3"
],
"priority": 103.785277
},
{
"id": "L8db0ff5b86",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 검증 범위",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "검증 범위",
"line_start": 28,
"line_end": 30,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 52.655538
},
{
"id": "Ld4394f2f14",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 실제 구현 내용",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "실제 구현 내용",
"line_start": 14,
"line_end": 21,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 49.973142
},
{
"id": "L54271e62b5",
"title": "ca-tmpl - Clean Architecture 패키지 레이아웃 결정 — 경계 검증",
"source_type": "canonical-project",
"status": "verified",
"path": "wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"heading": "경계 검증",
"line_start": 22,
"line_end": 27,
"url": "repo:///wiki/projects/ca-tmpl/clean-architecture-package-layout.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 48.650226
},
{
"id": "L6d3ebbb7a0",
"title": "branch / feature-application-port-usecase-contract — 구현 및 검증",
"source_type": "branch-note",
"status": "verified",
"path": "raw/branch-notes/feature-application-port-usecase-contract.md",
"heading": "구현 및 검증",
"line_start": 22,
"line_end": 25,
"url": "repo:///raw/branch-notes/feature-application-port-usecase-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 37.568259
},
{
"id": "L1259369d94",
"title": "branch / feature-log-management-contract — 근거 경계",
"source_type": "branch-note",
"status": "raw",
"path": "raw/branch-notes/feature-log-management-contract.md",
"heading": "근거 경계",
"line_start": 15,
"line_end": 19,
"url": "repo:///raw/branch-notes/feature-log-management-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 35.500648
},
{
"id": "Lcb081a533b",
"title": "Spring component stereotype and scanning notes — Evidence boundary",
"source_type": "official-doc",
"status": "reviewed",
"path": "raw/official-docs/spring-component-scanning.md",
"heading": "Evidence boundary",
"line_start": 13,
"line_end": 15,
"url": "repo:///raw/official-docs/spring-component-scanning.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 22.580387
},
{
"id": "L058b642200",
"title": "Spring component stereotype and scanning notes — Supported behavior",
"source_type": "official-doc",
"status": "reviewed",
"path": "raw/official-docs/spring-component-scanning.md",
"heading": "Supported behavior",
"line_start": 9,
"line_end": 12,
"url": "repo:///raw/official-docs/spring-component-scanning.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 15.066716
},
{
"id": "L0ed1686206",
"title": "branch / feature-log-management-contract — 결정 사항",
"source_type": "branch-note",
"status": "raw",
"path": "raw/branch-notes/feature-log-management-contract.md",
"heading": "결정 사항",
"line_start": 10,
"line_end": 14,
"url": "repo:///raw/branch-notes/feature-log-management-contract.md",
"accessed": "",
"claim_ids": [],
"decision_ids": [],
"priority": 11.50868
}
]
}