diff --git a/CHANGELOG.md b/CHANGELOG.md index f1fac9e2e..fd2d78dfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,7 +65,9 @@ Thankyou! --> * Updated the GitHub workflow for the `ocsf-validator` to print colorized output. 2. Clarify how to reference profiles in metadata #1056 * Updated the description of `metadata.profiles` to clarify the correct way to reference a profile in that list. - + 3. Adds support for `lint` controls in attributes to allow tools to automatically validate conventions + * Updated several attributes that do not follow conventions to disable linting for them + * Updated `data_lifecycle_state_id` to add a 99(Other) enumerand to follow convention ## [v1.2.0] - April 23rd, 2024 diff --git a/dictionary.json b/dictionary.json index aff26f72a..31ff6868c 100644 --- a/dictionary.json +++ b/dictionary.json @@ -64,6 +64,7 @@ } }, "sibling": "activity_name", + "lint": ["no-sibling-convention"], "type": "integer_t" }, "activity_name": { @@ -2688,6 +2689,7 @@ "description": "DNS Stateful Operations (DSO)" } }, + "lint": ["no-enum-convention"], "type": "integer_t" }, "open_mask": { @@ -3361,6 +3363,7 @@ "caption": "Critical" } }, + "lint": ["no-enum-convention"], "sibling": "risk_level", "type": "integer_t" }, @@ -4434,4 +4437,4 @@ } } } -} \ No newline at end of file +} diff --git a/metaschema/attribute.schema.json b/metaschema/attribute.schema.json index 43e58d287..68c10ff8d 100644 --- a/metaschema/attribute.schema.json +++ b/metaschema/attribute.schema.json @@ -73,4 +73,4 @@ } } } -} \ No newline at end of file +} diff --git a/metaschema/dictionary-attribute.schema.json b/metaschema/dictionary-attribute.schema.json index d41017033..da5dae373 100644 --- a/metaschema/dictionary-attribute.schema.json +++ b/metaschema/dictionary-attribute.schema.json @@ -53,9 +53,19 @@ "type": "boolean", "description": "A flag used when the attribute represents an array of values rather than a single value." }, + "lint": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "no-sibling-convention", + "no-enum-convention" + ] + } + }, "observable": { "$ref": "observable.schema.json" } }, "additionalProperties": false -} \ No newline at end of file +}