Add state diagram form and representation contract parity

This commit is contained in:
2026-09-06 02:33:18 +03:00
parent 24595810a1
commit 53cd096a56
7 changed files with 737 additions and 38 deletions
+48 -9
View File
@@ -3685,6 +3685,53 @@
],
"additionalProperties": false
},
"ProjectionKind": {
"description": "Existing projections remain strings. StateMachine carries one required UUID reference to an existing StateMachine in the diagram layer (state_diagram_context). Its placements may contain only that machine and its regions/state vertices, including nested members (state_diagram_member). Empty and partial views are valid. Incompatible placements must be removed or relocated in the same transaction when changing context; accepting or reading a view does not synthesize semantic records or placements.",
"oneOf": [
{
"type": "string",
"enum": [
"FunctionalDataflow",
"Capabilities",
"Overview",
"Decomposition",
"Allocation",
"Traceability"
]
},
{
"type": "object",
"properties": {
"StateMachine": {
"type": "object",
"properties": {
"machine": {
"type": "string",
"format": "uuid",
"description": "Required identity of the same-layer StateMachine that owns this view's members."
}
},
"required": [
"machine"
],
"additionalProperties": false
}
},
"required": [
"StateMachine"
],
"additionalProperties": false
}
],
"examples": [
"Overview",
{
"StateMachine": {
"machine": "11111111-1111-4111-8111-111111111111"
}
}
]
},
"Diagram": {
"type": "object",
"properties": {
@@ -3707,15 +3754,7 @@
"$ref": "#/components/schemas/Layer"
},
"projection": {
"type": "string",
"enum": [
"FunctionalDataflow",
"Capabilities",
"Overview",
"Decomposition",
"Allocation",
"Traceability"
]
"$ref": "#/components/schemas/ProjectionKind"
},
"nodes": {
"type": "object",