Files
technical-visualization-haness/examples/runtime-profiles/01-component-flow/spec.json
T
2026-07-24 16:31:12 +09:00

225 lines
4.5 KiB
JSON

{
"version": "1.1",
"id": "component-flow",
"title": "component-flow runtime fixture",
"question": "Does the component-flow logical composition render correctly?",
"type": "data-flow",
"direction": "LR",
"audience": [
"renderer maintainer"
],
"summary": "Executable component-flow fixture.",
"alt": "Executable technical diagram fixture for the component-flow composition profile.",
"long_description": "This fixture validates the node roles, edges, and layout rules of the component-flow profile.",
"source_context": {
"document": "examples/runtime-profiles/fixture.md",
"document_sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"anchor": {
"kind": "line",
"value": 1,
"line": 1
}
},
"composition": {
"profile": "component-flow",
"diagram_only": true,
"reference_ids": [
"payment-event-flow"
],
"rationale": "Runtime regression fixture for component-flow.",
"focus_node": "api"
},
"groups": [],
"nodes": [
{
"id": "client",
"label": "클라이언트",
"kind": "actor",
"role": "source",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"shape": "actor"
},
{
"id": "gateway",
"label": "인증 게이트웨이",
"kind": "security",
"role": "service",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "api",
"label": "체크아웃 API",
"kind": "service",
"role": "service",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"emphasis": "primary"
},
{
"id": "db",
"label": "주문 저장소",
"kind": "database",
"role": "store",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"shape": "database"
},
{
"id": "provider",
"label": "결제 제공자",
"kind": "service",
"role": "service",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "bus",
"label": "이벤트 버스",
"kind": "queue",
"role": "sink",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"shape": "queue"
}
],
"edges": [
{
"id": "request",
"from": "client",
"to": "gateway",
"label": "HTTPS 결제 요청",
"kind": "request",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "validated",
"from": "gateway",
"to": "api",
"label": "검증된 요청",
"kind": "request",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "pending",
"from": "api",
"to": "db",
"label": "PENDING 기록",
"kind": "data",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "authorize",
"from": "api",
"to": "provider",
"label": "승인 요청",
"kind": "request",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "approved",
"from": "provider",
"to": "api",
"label": "승인 응답",
"kind": "response",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"style": "dashed"
},
{
"id": "paid",
"from": "api",
"to": "db",
"label": "PAID 갱신",
"kind": "data",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "event",
"from": "api",
"to": "bus",
"label": "payment.approved",
"kind": "publish",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"style": "dashed",
"emphasis": "primary"
}
],
"legend": [],
"metadata": {
"fixture": true
}
}