feat(ipa): Add IPA-130 Dynamic Content Fields#56
Open
AgustinBettati wants to merge 1 commit into
Open
Conversation
5f58053 to
a080925
Compare
Adds IPA-130 requiring JSON-valued properties to be modeled as JSON objects rather than strings holding serialized JSON, which forces clients to serialize/parse at the edges and produces round-trip drift when servers normalize the content. CLOUDP-412577
a080925 to
a223df4
Compare
Comment on lines
+22
to
+23
| - When the JSON is genuinely dynamic (arbitrary client-provided keys and | ||
| values), the property can be modeled as an object with dynamic keys. |
Collaborator
There was a problem hiding this comment.
Suggested change
| - When the JSON is genuinely dynamic (arbitrary client-provided keys and | |
| values), the property can be modeled as an object with dynamic keys. | |
| - When the JSON is genuinely dynamic (arbitrary client-provided keys and values), the property **may** be modeled as an object with dynamic keys. |
Member
|
@AgustinBettati Great work! Do you see way we can enforce this rule via spectral? |
wtrocki
reviewed
Jun 15, 2026
| @@ -0,0 +1,23 @@ | |||
| --- | |||
| id: 130 | |||
| state: experimental | |||
Member
There was a problem hiding this comment.
Should we mark this as experimental or adopt? The proposed behavior is well established: if a resource returns JSON, it must not encode nested JSON as a string.
wtrocki
reviewed
Jun 15, 2026
| state: experimental | ||
| --- | ||
|
|
||
| # IPA-130: Dynamic Content Fields |
Member
There was a problem hiding this comment.
The challenge we've seen is that String fields were used instead of object (any) fields. This means the IPA als clarifying how we handle unstructured data — using objects rather than strings. Focusing on that in summary instead of what not to use (strings) might lead to more clarity
wtrocki
approved these changes
Jun 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
Adds IPA-130: Dynamic Content Fields (experimental), requiring resource properties whose value is JSON to be modeled as JSON objects rather than as strings containing serialized JSON. String-serialized JSON forces clients to serialize/parse at the edges and produces round-trip drift when servers normalize the content (e.g.
AuditLog.auditFilter).Part of the CLOUDP-356095 epic. Resolves CLOUDP-412577.