docs(query-language): declare IDTA-01002 as SoT for formula grammar (T-01)#589
Open
aorzelskiGH wants to merge 1 commit into
Open
docs(query-language): declare IDTA-01002 as SoT for formula grammar (T-01)#589aorzelskiGH wants to merge 1 commit into
aorzelskiGH wants to merge 1 commit into
Conversation
Add a normative subsection "Single source of truth for the formula grammar and JSON Schema" to the Query Language chapter. This clarifies that all formula productions (logical expressions, comparisons, FieldIdentifiers, value literals, type casts, $match/$and/$or/$not) are defined here and MUST NOT be redefined or diverged from in IDTA-01004 (Security). This matches the long-standing practical situation where the two specs ship the same BNF fragments and JSON Schema blocks but did not explicitly name one of them as the authoritative source. Refs: Review Finding T-01 Made-with: Cursor
| [#formula-grammar-sot] | ||
| === Single source of truth for the formula grammar and JSON Schema | ||
|
|
||
| The BNF grammar and JSON Schema productions for *formula expressions* (logical expressions, comparisons, FieldIdentifiers, value literals, operands, type casts, and `$match` / `$and` / `$or` / `$not` operators) are *normatively defined in this specification* (IDTA-01002, this chapter and the JSON Schema below). |
|
|
||
| The BNF grammar and JSON Schema productions for *formula expressions* (logical expressions, comparisons, FieldIdentifiers, value literals, operands, type casts, and `$match` / `$and` / `$or` / `$not` operators) are *normatively defined in this specification* (IDTA-01002, this chapter and the JSON Schema below). | ||
|
|
||
| IDTA-01004 Part 4: Security xref:bibliography.adoc#bib3[[3\]] uses the same formula grammar and schema for `FORMULA`, `FILTER` and related constructs in Access Rules. IDTA-01004 MUST NOT redefine or diverge from these shared productions; it only adds Access-Rule-specific productions (`ACL`, `OBJECTS`, `RIGHTS`, `ACCESS`, `ROUTE`, etc.) on top. |
|
|
||
| IDTA-01004 Part 4: Security xref:bibliography.adoc#bib3[[3\]] uses the same formula grammar and schema for `FORMULA`, `FILTER` and related constructs in Access Rules. IDTA-01004 MUST NOT redefine or diverge from these shared productions; it only adds Access-Rule-specific productions (`ACL`, `OBJECTS`, `RIGHTS`, `ACCESS`, `ROUTE`, etc.) on top. | ||
|
|
||
| If a future bugfix or minor release changes a shared production in IDTA-01002, IDTA-01004 inherits that change. Implementations SHOULD validate formulas against the schema shipped with their IDTA-01002 version. |
BirgitBoss
approved these changes
May 11, 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
Add a normative subsection "Single source of truth for the formula grammar and JSON Schema" to the Query Language chapter. This formally names IDTA-01002 as the authoritative source for all formula productions shared with IDTA-01004 (Security / Access Rule Model).
Problem
Today the same formula grammar (logical expressions, comparisons, FieldIdentifiers, value literals, type casts,
$match/$and/$or/$not) and the same JSON Schema blocks are shipped in bothaas-specs-apiandaas-specs-security. The two copies are maintained in parallel, but no text states which one is authoritative. This creates recurring drift between the two specs (recent examples:timeLiteralPattern,$dayOfWeekrefs,supplementalSemanticIds).Solution
=== Single source of truth for the formula grammar and JSON Schemaright below the existing note that Query Language and Access Rules share the same BNF grammar.Affected files
documentation/IDTA-01002-3/modules/ROOT/pages/query-language.adocReview notes
aas-specs-securityadds the mirrored statement.Refs: Review Finding T-01