fix(core-spec): drop root-level dialects and vendors from the schema - #397
Merged
khush-bhatia merged 1 commit intoSep 15, 2026
Merged
Conversation
The two arrays were added to the document root by the Sigma converter change, with no definition in spec.md and nothing reading them. Take them back out, stop the Sigma converter from emitting them, and add a validator test so the root shape is covered by the validation workflow. Generated-by: Claude Code
khush-bhatia
approved these changes
Sep 15, 2026
7 tasks
This was referenced Sep 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
#297 added two optional arrays,
dialectsandvendors, to the document root ofcore-spec/ossie-schema.json, described as closing a gap with the pydantic model. As laid out in #393, nothing else in the repository treats them as part of the spec:spec.mddoes not mention them,validate.pydoes not read them, the orionbelt suite asserts that the schema rejects them (it has failed on main since 2026-09-08, unnoticed because that workflow only runs onconverters/orionbelt/**), and #148 and #306 remove them from the model and the converters. The answer on #393 was to take them back out and stop the converters emitting them, so this does that:core-spec/ossie-schema.json: the two root properties are removed, so the root isversionandsemantic_modelagain as before [OSSIE][SIGMA] Add bidirectional Sigma Computing data model converter #297. TheSIGMAenum entries from [OSSIE][SIGMA] Add bidirectional Sigma Computing data model converter #297 stay.converters/sigma/src/ossie_sigma/sigma_to_ossie.py: the converter no longer setsdialects/vendorson the emittedOssieDocument. The per-expressionSIGMAdialect entries and theSIGMAcustom extensions are untouched, so nothing is lost for round-tripping. The 91 sigma tests pass unchanged, and the three fixtures converted through the CLI now validate against the schema (on main their output carries both root keys).validation/test_validate.py: one integration test that a document with the two root keys fails validation withAdditional properties are not allowed. The orionbelt test already covers this, but behind its path filter; the validation workflow runs on everycore-spec/**change, which is where the properties came in.dbt still emits a root
dialectsand Honeydew still carriesvendorsthrough. Both are removed by #306 (and #148), which I left alone rather than duplicate. With this merged, #306'sextra="forbid"onOssieDocumentalso becomes safe for the Sigma converter: on main, #306 by itself fails 32 sigma tests because the converter sets the fields it forbids, while #306 merged on top of this branch passes python, dbt, honeydew, sigma and validation.Two open PRs carry the root properties forward and will conflict with whichever lands second: #383 keeps them in the flattened root, and #396 moves them into the Sigma
OssieDocumentcall and asserts them intest_roundtrip.py. I merged each on top of this branch; in both cases the resolution is to drop them. The new validator test is written against today'ssemantic_modelwrapper and moves to the flat form if #383 goes first.This is a breaking change for any document that added root
dialects/vendorssince 2026-09-08. Nothing in the repository produces one apart from the converters named above.Related Issues
Closes #393. Relates to #148, #306, #383, #396.
Checklist
Specification
core-spec/and follow the existing structureOntology
ontology/are consistent with spec changesConverters
converters/is updated to reflect spec or ontology changesValidation
validation/are updated if the spec changedDocumentation
docs/is updated to reflect any user-facing changesCONTRIBUTING.mdis updated if the contribution process changedExamples
examples/are added or updated for any new spec constructs or converter supportTests
pytest/ CI green)Compliance