Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion calm-ai/tools/flow-creation.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ The complete flow schema from the FINOS CALM v1.0 specification:
"$ref": "core.json#/defs/metadata"
}
},
"required": ["unique-id", "name", "description", "transitions"]
"required": ["unique-id", "name", "description", "transitions"],
"additionalProperties": false
},
"transition": {
"type": "object",
Expand Down
22 changes: 22 additions & 0 deletions calm/release/1.1/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# CALM Schema v1.1 Release Notes

CALM v1.1 is a minor revision of 1.0, fixing the definition of flows.

## Key Updates

### Flows

The schema for business flows has been revised to correct an error in the 1.0 definition.

Whilst not strictly backwards compatible, the changes are minor and should be straightforward to implement.

Specific changes are:

* Flows may not have any additional properties beyond those defined in the schema.
* Users may make use of metadata for extensibility.
* Flow transitions MUST contain `relationship-unique-id`, `sequence-number`, and `description` properties.
* This requirement was incorrectly coded in the 1.0 schema.

## Question and Feedback

For questions or feedback, please engage with the CALM community through the appropriate channels.
21 changes: 21 additions & 0 deletions calm/release/1.1/meta/calm.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://calm.finos.org/release/1.1/meta/calm.json",

"$vocabulary": {
"https://json-schema.org/draft/2020-12/vocab/core": true,
"https://json-schema.org/draft/2020-12/vocab/applicator": true,
"https://json-schema.org/draft/2020-12/vocab/validation": true,
"https://json-schema.org/draft/2020-12/vocab/meta-data": true,
"https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
"https://json-schema.org/draft/2020-12/vocab/content": true,
"https://calm.finos.org/release/1.1/meta/core.json": true
},
"$dynamicAnchor": "meta",

"title": "Common Architecture Language Model (CALM) Schema",
"allOf": [
{"$ref": "https://json-schema.org/draft/2020-12/schema"},
{"$ref": "https://calm.finos.org/release/1.1/meta/core.json"}
]
}
33 changes: 33 additions & 0 deletions calm/release/1.1/meta/control-requirement.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://calm.finos.org/release/1.1/meta/control-requirement.json",
"title": "Common Architecture Language Model Control Requirement",
"description": "Schema for defining control requirements within the Common Architecture Language Model.",
"type": "object",
"properties": {
"control-id": {
"type": "string",
"description": "The unique identifier of this control, which has the potential to be used for linking evidence"
},
"name": {
"type": "string",
"description": "The name of the control requirement that provides contextual meaning within a given domain"
},
"description": {
"type": "string",
"description": "A more detailed description of the control and information on what a developer needs to consider"
}
},
"required": [
"control-id",
"name",
"description"
],
"examples": [
{
"control-id": "CR-001",
"name": "Access Control",
"description": "Ensure that access to sensitive information is restricted."
}
]
}
60 changes: 60 additions & 0 deletions calm/release/1.1/meta/control.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://calm.finos.org/release/1.1/meta/control.json",
"title": "Common Architecture Language Model Controls",
"description": "Controls model requirements for domains. For example, a security domain contains a series of control requirements",
"defs": {
"control-detail": {
"type": "object",
"properties": {
"requirement-url": {
"type": "string",
"description": "The requirement schema that specifies how a control should be defined"
},
"config-url": {
"type": "string",
"description": "The configuration of how the control requirement schema is met"
},
"config": {
"type": "object",
"description": "Inline configuration of how the control requirement schema is met"
}
},
"required": [
"requirement-url"
],
"oneOf": [
{
"required": ["config-url"]
},
{
"required": ["config"]
}
]
},
"controls": {
"type": "object",
"patternProperties": {
"^[a-zA-Z0-9-]+$": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "A description of a control and how it applies to a given architecture"
},
"requirements": {
"type": "array",
"items": {
"$ref": "#/defs/control-detail"
}
}
},
"required": [
"description",
"requirements"
]
}
}
}
}
}
Loading
Loading