Problem
Core says that abstract types implicitly permit additional properties and that additionalProperties MUST NOT be used on abstract types. The Core meta-schema nevertheless permits an abstract object schema to declare additionalProperties.
As a result, SDK schema validators can accept schemas that contradict the normative prose. This was encountered while analyzing json-structure/sdk#184, where abstract bases declaring additionalProperties: false passed schema checking.
Required resolution
Choose and consistently specify one model:
- Keep the current prose: abstract object and tuple schemas always remain open, and declaring
additionalProperties on them is invalid; or
- Permit
additionalProperties on abstract types and define precisely how it composes into extending concrete types.
The first model matches the current normative text and avoids a closed abstract base preventing derived properties.
Acceptance criteria
- Normative prose, Core meta-schema, and examples agree.
- The meta-schema rejects prohibited combinations where possible.
- The interaction between an open abstract base and a closed concrete derived object is demonstrated.
- SDK conformance tests can distinguish valid and invalid abstract schemas without implementation-specific assumptions.
Problem
Core says that abstract types implicitly permit additional properties and that
additionalPropertiesMUST NOT be used on abstract types. The Core meta-schema nevertheless permits an abstract object schema to declareadditionalProperties.As a result, SDK schema validators can accept schemas that contradict the normative prose. This was encountered while analyzing json-structure/sdk#184, where abstract bases declaring
additionalProperties: falsepassed schema checking.Required resolution
Choose and consistently specify one model:
additionalPropertieson them is invalid; oradditionalPropertieson abstract types and define precisely how it composes into extending concrete types.The first model matches the current normative text and avoids a closed abstract base preventing derived properties.
Acceptance criteria