{ "version": "1.1", "id": "capability-schema-registry", "title": "적용과 사용 승인이 갈리는 자리", "question": "스키마 적용과 사용 승인은 어떻게 나뉘는가?", "type": "dependency", "direction": "LR", "audience": [ "이 저장소의 구조를 읽는 사람" ], "summary": "선행조건 검사를 지나 테이블을 만들고 자기를 INSTALLED_INACTIVE 로 등록하므로 적용과 사용 승인이 갈린다.", "alt": "선행조건 검사에서 테이블 생성으로 core epoch 확인이 건너가고 테이블 생성에서 레지스트리 등록으로 INSTALLED_INACTIVE 가 건너간다.", "long_description": "SSOT 는 각 capability 스트림의 V1 이 선행조건 검사와 테이블 생성과 자기 등록 세 단계를 밟는다고 적는다. 그래서 스키마가 적용됐다와 capability 를 써도 된다가 분리된다.", "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": 541, "line": 541 } }, "composition": { "profile": "component-flow", "diagram_only": true, "reference_ids": [ "payment-event-flow" ], "rationale": "적용이 끝나도 사용 승인이 따로 남는다는 순서가 논지다.", "focus_node": "table" }, "groups": [], "nodes": [ { "id": "pre", "label": "선행조건 검사", "kind": "service", "role": "source", "evidence": [ { "start_line": 541, "end_line": 600 } ], "assumption": false }, { "id": "table", "label": "테이블 생성", "kind": "service", "role": "service", "evidence": [ { "start_line": 541, "end_line": 600 } ], "assumption": false, "emphasis": "primary" }, { "id": "reg", "label": "레지스트리 등록", "kind": "service", "role": "sink", "evidence": [ { "start_line": 541, "end_line": 653 } ], "assumption": false, "details": [ "INSTALLED_INACTIVE" ] } ], "edges": [ { "id": "a", "from": "pre", "to": "table", "label": "core epoch 확인", "kind": "request", "evidence": [ { "start_line": 541, "end_line": 600 } ], "assumption": false }, { "id": "b", "from": "table", "to": "reg", "label": "자기 등록", "kind": "request", "evidence": [ { "start_line": 541, "end_line": 653 } ], "assumption": false, "emphasis": "primary" } ], "legend": [], "metadata": {} }