Audit: SWE Common 3.0 JSON Schemas
Parent Issue: #16 - Phase 6: Pre-Submission Audit
Tier: 1 - OGC Official Specifications (PRIMARY) π―
Reference: https://schemas.opengis.net/sweCommon/3.0/
Priority: CRITICAL
Audit Status: β
COMPLETE
Overall Result: β οΈ PARTIAL COMPLIANCE - CRITICAL DISCREPANCIES FOUND
Audit Date: January 26, 2026
Overall Grade: β οΈ B- (Partial Compliance)
π Audit Summary
Critical Findings
β Required vs Optional Properties - definition and label incorrectly marked optional (should be required)
β SoftNamedProperty - name marked optional (should be required)
β Vector referenceFrame - Marked optional (should be required)
β UnitReference Validation - Missing anyOf validation (must have code OR href)
β οΈ AllowedValues Property Names - interval vs intervals mismatch
β οΈ AllowedTokens Type - Missing separate interface for text/category constraints
Positive Findings β
β
All property names match JSON schemas (camelCase)
β
All component type discriminators correct
β
Nested structures properly modeled
β
Comprehensive type guards exist
β
Constraint validation implemented (Issue Audit T1.5: SWE Common 3.0 HTML SpecificationΒ #21 )
β
All types properly exported
Execution Status
Detailed findings posted in comment below β¬οΈ
Compliance Matrix
Component
Properties
Types
Required/Optional
Overall
AbstractDataComponent
β
β
β
β οΈ PARTIAL
Boolean
β
β
β
β οΈ PARTIAL
Text
β
β οΈ
β
β οΈ PARTIAL
Category
β
β οΈ
β
β οΈ PARTIAL
Count
β
β
β
β οΈ PARTIAL
Quantity
β
β
β
β οΈ PARTIAL
Time
β
β
β
β οΈ PARTIAL
DataRecord
β
β
β οΈ
β οΈ PARTIAL
Vector
β
β
β
β οΈ PARTIAL
DataArray
β
β
β
β
PASS
DataChoice
β
β
β οΈ
β οΈ PARTIAL
Range Components
β
β
β
β οΈ PARTIAL
Priority Recommendations
Priority 1: CRITICAL FIXES (Breaking Changes)
Make definition and label required in AbstractDataComponent
Make name required in SoftNamedProperty
Make referenceFrame required in VectorComponent
Fix AllowedValues property names (interval β intervals)
Priority 2: Type Safety Improvements
Add AllowedTokens interface for Text/Category constraints
Add AllowedTimes interface for Time constraints
Improve UnitReference type to enforce code OR href
Add missing JSON Schema properties
Priority 3: Documentation
Add JSDoc comments referencing JSON schema requirements
Document required vs optional in interface comments
Create migration guide for breaking changes
Implementation Strategy
Recommended: Strict Compliance (Option 1)
Make all breaking changes in major version bump (2.0.0)
Update all interfaces to match JSON schemas exactly
Update test fixtures and validation logic
Provide migration guide
See detailed findings in comment for full analysis and recommendations.
Audit: SWE Common 3.0 JSON Schemas
Parent Issue: #16 - Phase 6: Pre-Submission Audit
Tier: 1 - OGC Official Specifications (PRIMARY) π―
Reference: https://schemas.opengis.net/sweCommon/3.0/
Priority: CRITICAL
Audit Status: β COMPLETEβ οΈ PARTIAL COMPLIANCE - CRITICAL DISCREPANCIES FOUNDβ οΈ B- (Partial Compliance)
Overall Result:
Audit Date: January 26, 2026
Overall Grade:
π Audit Summary
Critical Findings
definitionandlabelincorrectly marked optional (should be required)namemarked optional (should be required)anyOfvalidation (must have code OR href)intervalvsintervalsmismatchPositive Findings β
Execution Status
Detailed findings posted in comment below β¬οΈ
Compliance Matrix
Priority Recommendations
Priority 1: CRITICAL FIXES (Breaking Changes)
definitionandlabelrequired inAbstractDataComponentnamerequired inSoftNamedPropertyreferenceFramerequired inVectorComponentAllowedValuesproperty names (intervalβintervals)Priority 2: Type Safety Improvements
AllowedTokensinterface for Text/Category constraintsAllowedTimesinterface for Time constraintsUnitReferencetype to enforce code OR hrefPriority 3: Documentation
Implementation Strategy
Recommended: Strict Compliance (Option 1)
See detailed findings in comment for full analysis and recommendations.