{ "version": "1.1", "id": "adapter-outbound-messaging-c01", "title": "레지스트리가 닫힌 방식", "question": "스키마 레지스트리는 무엇을 받아들이는가?", "type": "architecture", "direction": "LR", "audience": [ "이 저장소의 구조를 읽는 사람" ], "summary": "넘겨받은 바이트와 동봉된 메타스키마와 허용 어휘만 쓰고 원격 참조 로더와 동적 키워드는 쓰지 않는다.", "alt": "호출자가 레지스트리에 바이트를 넘기고 레지스트리는 동봉된 메타스키마와 허용 어휘만 쓰며 원격 참조 로더로는 나가지 않는다.", "long_description": "SSOT 는 LocalJsonSchemaRegistry 가 넘겨받은 바이트와 동봉된 메타스키마, 허용 어휘 안에서 닫혀 있고 원격 참조 로더와 동적·앵커 키워드를 쓰지 않는다고 적는다.", "source_context": { "document": "/home/donghyeon/workspace/chat-gpt-container/document-haness/docs/clean-architecture-backend-template/final/document.md", "document_sha256": "8071fe71b3359d9cf60b95909c26c7b50653ce2f22bbc5fcf6988719bb91236d", "anchor": { "kind": "line", "value": 14789, "line": 14789 } }, "composition": { "profile": "ports-adapters", "diagram_only": true, "reference_ids": [ "order-ports-adapters" ], "rationale": "레지스트리가 어떤 입력을 계약으로 받고 어떤 바깥 경로를 갖지 않는지가 논지다.", "focus_node": "registry" }, "groups": [], "nodes": [ { "id": "caller", "label": "스키마 호출자", "kind": "adapter", "role": "inbound-adapter", "evidence": [ { "start_line": 14789, "end_line": 14820 } ], "assumption": false }, { "id": "inport", "label": "넘겨받은 바이트", "kind": "interface", "role": "port", "evidence": [ { "start_line": 14789, "end_line": 14820 } ], "assumption": false }, { "id": "registry", "label": "LocalJsonSchemaRegistry", "kind": "domain", "role": "core", "evidence": [ { "start_line": 14789, "end_line": 14820 } ], "assumption": false, "emphasis": "primary", "details": [ "동봉된 메타스키마", "허용 어휘" ] }, { "id": "outport", "label": "바깥 해석 경로", "kind": "interface", "role": "port", "evidence": [ { "start_line": 14789, "end_line": 14827 } ], "assumption": false }, { "id": "remote", "label": "원격 참조 로더", "kind": "adapter", "role": "outbound-adapter", "evidence": [ { "start_line": 14789, "end_line": 14827 } ], "assumption": false, "details": [ "동적 · 앵커 키워드" ] } ], "edges": [ { "id": "a", "from": "caller", "to": "inport", "label": "바이트 전달", "kind": "request", "evidence": [ { "start_line": 14789, "end_line": 14820 } ], "assumption": false }, { "id": "b", "from": "inport", "to": "registry", "label": "검증 요청", "kind": "request", "evidence": [ { "start_line": 14789, "end_line": 14820 } ], "assumption": false, "emphasis": "primary" }, { "id": "c", "from": "registry", "to": "outport", "label": "요구 없음", "kind": "request", "evidence": [ { "start_line": 14789, "end_line": 14827 } ], "assumption": false, "style": "dashed" }, { "id": "d", "from": "remote", "to": "outport", "label": "미사용", "kind": "request", "evidence": [ { "start_line": 14789, "end_line": 14827 } ], "assumption": false, "style": "dashed" } ], "legend": [], "metadata": {} }