Files
2026-07-24 16:31:12 +09:00

235 lines
4.7 KiB
JSON

{
"version": "1.1",
"id": "ports-adapters",
"title": "ports-adapters runtime fixture",
"question": "Does the ports-adapters logical composition render correctly?",
"type": "architecture",
"direction": "LR",
"audience": [
"renderer maintainer"
],
"summary": "Executable ports-adapters fixture.",
"alt": "Executable technical diagram fixture for the ports-adapters composition profile.",
"long_description": "This fixture validates the node roles, edges, and layout rules of the ports-adapters profile.",
"source_context": {
"document": "examples/runtime-profiles/fixture.md",
"document_sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"anchor": {
"kind": "line",
"value": 1,
"line": 1
}
},
"composition": {
"profile": "ports-adapters",
"diagram_only": true,
"reference_ids": [
"order-ports-adapters"
],
"rationale": "Runtime regression fixture for ports-adapters.",
"focus_node": "core"
},
"groups": [],
"nodes": [
{
"id": "web",
"label": "Web Adapter",
"kind": "adapter",
"role": "inbound-adapter",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"details": [
"REST · inbound"
]
},
{
"id": "batch",
"label": "Test / Batch",
"kind": "adapter",
"role": "inbound-adapter",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"details": [
"inbound"
]
},
{
"id": "in-port",
"label": "Input Port",
"kind": "interface",
"role": "port",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"shape": "port"
},
{
"id": "core",
"label": "Application Core",
"kind": "domain",
"role": "core",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"shape": "hexagon",
"emphasis": "primary",
"details": [
"domain + use cases"
]
},
{
"id": "out-port",
"label": "Output Port",
"kind": "interface",
"role": "port",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"shape": "port"
},
{
"id": "persistence",
"label": "Persistence Adapter",
"kind": "adapter",
"role": "outbound-adapter",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"details": [
"JPA · outbound"
]
},
{
"id": "db",
"label": "DB",
"kind": "database",
"role": "external-system",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"shape": "database"
}
],
"edges": [
{
"id": "web-port",
"from": "web",
"to": "in-port",
"label": "call",
"kind": "request",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "batch-port",
"from": "batch",
"to": "in-port",
"label": "call",
"kind": "request",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "port-core",
"from": "in-port",
"to": "core",
"label": "invoke use case",
"kind": "request",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false,
"emphasis": "primary"
},
{
"id": "core-out",
"from": "core",
"to": "out-port",
"label": "requires",
"kind": "request",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "adapter-out",
"from": "persistence",
"to": "out-port",
"label": "implements",
"kind": "dependency",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
},
{
"id": "adapter-db",
"from": "persistence",
"to": "db",
"label": "JDBC",
"kind": "request",
"evidence": [
{
"start_line": 1,
"end_line": 1
}
],
"assumption": false
}
],
"legend": [],
"metadata": {
"fixture": true
}
}