From d097f61f52a6cc6cb78bd21836bb3c5e3e67d83c Mon Sep 17 00:00:00 2001 From: Jim Gough Date: Thu, 27 Nov 2025 14:56:43 +0000 Subject: [PATCH 1/2] #1864 initial proposal of decorators --- calm/release/1.1/meta/decorators.json | 48 +++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 calm/release/1.1/meta/decorators.json diff --git a/calm/release/1.1/meta/decorators.json b/calm/release/1.1/meta/decorators.json new file mode 100644 index 000000000..a24672e12 --- /dev/null +++ b/calm/release/1.1/meta/decorators.json @@ -0,0 +1,48 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://calm.finos.org/release/1.1/meta/decorators.json", + "title": "Common Architecture Language Model Decorators", + "description": "Decorators attach supplementary information to multiple nodes and relationships simultaneously, enabling cross-cutting concerns like guides, threat models, business context, and deployment information", + "defs": { + "decorator": { + "type": "object", + "properties": { + "unique-id": { + "type": "string", + "description": "Unique identifier for this decorator" + }, + "type": { + "anyOf": [ + { + "enum": ["guide", "business", "threat-model", "security", "deployment"] + }, + { + "type": "string" + } + ], + "description": "Type of decorator - predefined types or custom string" + }, + "applies-to": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1, + "description": "Array of unique-ids referencing nodes, relationships, flows, or other architecture elements" + }, + "data": { + "type": "object", + "description": "Free-form JSON object containing the decorator's data" + } + }, + "required": ["unique-id", "type", "applies-to", "data"], + "additionalProperties": false + }, + "decorators": { + "type": "array", + "items": { + "$ref": "#/defs/decorator" + } + } + } +} From 66eff4ee7fe93025e6a0eeef37299cb2d296b1f6 Mon Sep 17 00:00:00 2001 From: Jim Gough Date: Thu, 27 Nov 2025 14:57:46 +0000 Subject: [PATCH 2/2] #1864 initial proposal of decorators --- calm/release/1.1/meta/decorators.json | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/calm/release/1.1/meta/decorators.json b/calm/release/1.1/meta/decorators.json index a24672e12..24752b492 100644 --- a/calm/release/1.1/meta/decorators.json +++ b/calm/release/1.1/meta/decorators.json @@ -14,7 +14,15 @@ "type": { "anyOf": [ { - "enum": ["guide", "business", "threat-model", "security", "deployment"] + "enum": [ + "guide", + "business", + "threat-model", + "security", + "deployment", + "operational", + "observability" + ] }, { "type": "string" @@ -35,7 +43,12 @@ "description": "Free-form JSON object containing the decorator's data" } }, - "required": ["unique-id", "type", "applies-to", "data"], + "required": [ + "unique-id", + "type", + "applies-to", + "data" + ], "additionalProperties": false }, "decorators": { @@ -45,4 +58,4 @@ } } } -} +} \ No newline at end of file