From 7e984cb15815e4c9efc5885aa753163afb83106d Mon Sep 17 00:00:00 2001 From: jochen Date: Sat, 21 Mar 2026 11:12:41 +0100 Subject: [PATCH 1/3] Change vendor_name from enum to free-form string Allow any vendor or organization to define custom extensions without requiring changes to the core specification. Existing vendor names (COMMON, SNOWFLAKE, SALESFORCE, DBT, DATABRICKS) are preserved as examples. Co-Authored-By: Claude Opus 4.6 (1M context) --- core-spec/osi-schema.json | 4 ++-- core-spec/spec.md | 5 ++++- core-spec/spec.yaml | 11 +++-------- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/core-spec/osi-schema.json b/core-spec/osi-schema.json index 132726a3..252fa614 100644 --- a/core-spec/osi-schema.json +++ b/core-spec/osi-schema.json @@ -42,8 +42,8 @@ }, "Vendor": { "type": "string", - "enum": ["COMMON", "SNOWFLAKE", "SALESFORCE", "DBT", "DATABRICKS", "GOODDATA"], - "description": "Supported vendors for custom extensions" + "examples": ["COMMON", "SNOWFLAKE", "SALESFORCE", "DBT", "DATABRICKS", "GOODDATA"], + "description": "Vendor name for custom extensions. Any string value is accepted." }, "AIContext": { "description": "Additional context for AI tools", diff --git a/core-spec/spec.md b/core-spec/spec.md index b4a1dbba..7a4c9abf 100644 --- a/core-spec/spec.md +++ b/core-spec/spec.md @@ -41,7 +41,10 @@ Supported SQL and expression language dialects for metrics and field definitions ### Vendors -Supported vendors for custom extensions and integrations. +The `vendor_name` field is a free-form string, allowing any vendor or organization to +define custom extensions without requiring changes to the core specification. + +The following are well-known examples: | Vendor | Description | |--------|-------------| diff --git a/core-spec/spec.yaml b/core-spec/spec.yaml index 540200ad..1de90672 100644 --- a/core-spec/spec.yaml +++ b/core-spec/spec.yaml @@ -22,14 +22,9 @@ dialects: -# Supported vendors for custom extensions -vendors: - - "COMMON" - - "SNOWFLAKE" - - "SALESFORCE" - - "DBT" - - "DATABRICKS" - - "GOODDATA" +# Vendor name for custom extensions (free-form string) +# Examples: "COMMON", "SNOWFLAKE", "SALESFORCE", "DBT", "DATABRICKS", "GOODDATA" +vendor_name: string # Top-level semantic model definition From 5d47c636059467616ecaa848e7de2a27c8a8f63c Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 23 Mar 2026 13:49:13 +0100 Subject: [PATCH 2/3] Fix remaining enum references for vendor_name - Update vendors array description in osi-schema.json to reflect non-exhaustive examples instead of enumeration definition - Update spec.md custom extensions schema comment from "Must be from vendors enum" to "Free-form string identifying the vendor" Co-Authored-By: Claude Opus 4.6 (1M context) --- core-spec/osi-schema.json | 2 +- core-spec/spec.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core-spec/osi-schema.json b/core-spec/osi-schema.json index 252fa614..65722b53 100644 --- a/core-spec/osi-schema.json +++ b/core-spec/osi-schema.json @@ -19,7 +19,7 @@ }, "vendors": { "type": "array", - "description": "Supported vendors for custom extensions (enumeration definition)", + "description": "Well-known vendors for custom extensions (non-exhaustive list of examples)", "items": { "$ref": "#/$defs/Vendor" } diff --git a/core-spec/spec.md b/core-spec/spec.md index 7a4c9abf..089f56d6 100644 --- a/core-spec/spec.md +++ b/core-spec/spec.md @@ -363,7 +363,7 @@ Custom extensions allow vendors to add platform-specific metadata without breaki ```yaml custom_extensions: - - vendor_name: string # Must be from vendors enum + - vendor_name: string # Free-form string identifying the vendor data: string # JSON string containing vendor-specific data ``` From b1f67b5c8ee9a227bbab5f81c6bbcf05e19b9e1d Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 23 Mar 2026 13:50:19 +0100 Subject: [PATCH 3/3] Improve vendors array description in osi-schema.json Co-Authored-By: Claude Opus 4.6 (1M context) --- core-spec/osi-schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-spec/osi-schema.json b/core-spec/osi-schema.json index 65722b53..3789bc2b 100644 --- a/core-spec/osi-schema.json +++ b/core-spec/osi-schema.json @@ -19,7 +19,7 @@ }, "vendors": { "type": "array", - "description": "Well-known vendors for custom extensions (non-exhaustive list of examples)", + "description": "List of vendor names used in custom extensions within this model", "items": { "$ref": "#/$defs/Vendor" }