@kumwe/studio-testkit 0.1.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +138 -0
  3. package/THIRD_PARTY_NOTICES.md +9 -0
  4. package/conformance/authoring-web/non-drag-move-equivalence.json +199 -0
  5. package/conformance/renderer-web/blob-default-deny.json +47 -0
  6. package/conformance/renderer-web/chart-fallback.json +39 -0
  7. package/conformance/renderer-web/complete-catalog.json +634 -0
  8. package/conformance/renderer-web/escaped-heading.json +28 -0
  9. package/conformance/renderer-web/interactive-behaviors.json +226 -0
  10. package/conformance/renderer-web/presentation-capabilities.json +76 -0
  11. package/conformance/renderer-web/responsive-grid.json +33 -0
  12. package/conformance/renderer-web/security-fallbacks.json +169 -0
  13. package/conformance/rich-text/advanced.first-party.json +67 -0
  14. package/conformance/rich-text/blocks.structural.json +57 -0
  15. package/conformance/rich-text/document.multi-block.json +74 -0
  16. package/conformance/rich-text/embed.hard-break.json +24 -0
  17. package/conformance/rich-text/marks.nested.json +29 -0
  18. package/conformance/rich-text/offsets.astral.json +24 -0
  19. package/conformance/rich-text/paragraph.plain.json +20 -0
  20. package/conformance/rich-text/spans.adjacent.json +27 -0
  21. package/corpus-manifest.json +1212 -0
  22. package/dist/host-testbed.d.ts +71 -0
  23. package/dist/host-testbed.d.ts.map +1 -0
  24. package/dist/host-testbed.js +782 -0
  25. package/dist/host-testbed.js.map +1 -0
  26. package/dist/http-host-adapter.d.ts +74 -0
  27. package/dist/http-host-adapter.d.ts.map +1 -0
  28. package/dist/http-host-adapter.js +264 -0
  29. package/dist/http-host-adapter.js.map +1 -0
  30. package/dist/index.d.ts +112 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +211 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/web-conformance.d.ts +105 -0
  35. package/dist/web-conformance.d.ts.map +1 -0
  36. package/dist/web-conformance.js +72 -0
  37. package/dist/web-conformance.js.map +1 -0
  38. package/fixtures/authoring-message-catalog.en.json +649 -0
  39. package/fixtures/block.grid.example.json +76 -0
  40. package/fixtures/block.price.example.json +69 -0
  41. package/fixtures/blueprint.product.example.json +92 -0
  42. package/fixtures/command.move-node.example.json +18 -0
  43. package/fixtures/content-model.product.example.json +141 -0
  44. package/fixtures/design-vocabulary.example.json +85 -0
  45. package/fixtures/entry.product.example.json +55 -0
  46. package/fixtures/field-adapter.example.json +27 -0
  47. package/fixtures/host-capabilities.example.json +42 -0
  48. package/fixtures/host-error.conflict.example.json +23 -0
  49. package/fixtures/host-operations.example.json +270 -0
  50. package/fixtures/inspector.example.json +17 -0
  51. package/fixtures/media-asset.example.json +29 -0
  52. package/fixtures/media-asset.processing.example.json +15 -0
  53. package/fixtures/media-reference.example.json +26 -0
  54. package/fixtures/media-upload-grant.example.json +14 -0
  55. package/fixtures/media-upload-session.transferring.example.json +22 -0
  56. package/fixtures/migration.example.json +22 -0
  57. package/fixtures/pattern.example.json +49 -0
  58. package/fixtures/plugin.example.json +49 -0
  59. package/fixtures/preview.render.example.json +15 -0
  60. package/fixtures/provenance.example.json +38 -0
  61. package/fixtures/rich-text.example.json +48 -0
  62. package/fixtures/studio-config.example.json +139 -0
  63. package/fixtures/theme.example.json +123 -0
  64. package/fixtures/unresolved-contribution.example.json +23 -0
  65. package/invalid/binding-projection-vector.unknown-status.json +85 -0
  66. package/invalid/blueprint.control-character-member.json +59 -0
  67. package/invalid/blueprint.forbidden-property-member.json +61 -0
  68. package/invalid/blueprint.invalid-node-id.json +57 -0
  69. package/invalid/blueprint.invalid-slot-name.json +59 -0
  70. package/invalid/blueprint.published-empty-roots.json +45 -0
  71. package/invalid/blueprint.revoking-slot-marker.json +57 -0
  72. package/invalid/blueprint.unknown-member.json +58 -0
  73. package/invalid/command-vector.unknown-error-code.json +103 -0
  74. package/invalid/command.empty-batch.json +17 -0
  75. package/invalid/command.forbidden-id-map-member.json +20 -0
  76. package/invalid/command.malformed-size-role.json +18 -0
  77. package/invalid/command.negative-position.json +20 -0
  78. package/invalid/command.nested-batch.json +24 -0
  79. package/invalid/command.pattern-in-batch.json +40 -0
  80. package/invalid/command.reset-inherited-property-in-batch.json +24 -0
  81. package/invalid/command.unknown-member.json +23 -0
  82. package/invalid/command.wrong-contract-version.json +22 -0
  83. package/invalid/content-model.published-empty.json +22 -0
  84. package/invalid/design-vocabulary.unknown-control-kind.json +38 -0
  85. package/invalid/entry.forbidden-value-member.json +23 -0
  86. package/invalid/entry.invalid-locale.json +59 -0
  87. package/invalid/host-capabilities.invalid-protocol-version.json +40 -0
  88. package/invalid/host-sequence.pending-expectation.json +52 -0
  89. package/invalid/host-sequence.preview-render-missing-request-id.json +50 -0
  90. package/invalid/inspector.empty-block-types.json +20 -0
  91. package/invalid/media-reference.missing-accessibility.json +25 -0
  92. package/invalid/media-upload-grant.insecure-url.json +14 -0
  93. package/invalid/media-upload-session.complete-without-asset.json +20 -0
  94. package/invalid/migration.empty-artifact-kinds.json +22 -0
  95. package/invalid/preview-message.activated-unknown-interaction.json +16 -0
  96. package/invalid/preview-message.duplicate-marker.json +24 -0
  97. package/invalid/preview-message.invalid-digest.json +19 -0
  98. package/invalid/preview-message.invalid-marker-grammar.json +19 -0
  99. package/invalid/preview-message.missing-marker-map.json +20 -0
  100. package/invalid/preview-message.missing-render-request-id.json +18 -0
  101. package/invalid/preview-message.unknown-type.json +13 -0
  102. package/invalid/preview-message.viewport-height-too-small.json +13 -0
  103. package/invalid/preview-message.viewport-role-and-size.json +16 -0
  104. package/invalid/preview-message.viewport-unsafe-role.json +13 -0
  105. package/invalid/rich-text.embedded-html.json +13 -0
  106. package/invalid/rich-text.unknown-mark.json +19 -0
  107. package/invalid/studio-chart.script-config.json +10 -0
  108. package/invalid/studio-drawing.svg-payload.json +10 -0
  109. package/invalid/studio-money.float.json +8 -0
  110. package/invalid/studio-presentation.css-injection.json +8 -0
  111. package/invalid/studio-table.html-cell.json +8 -0
  112. package/invalid/theme.unknown-member.json +128 -0
  113. package/package.json +54 -0
  114. package/studio-release.json +18 -0
  115. package/vectors/binding-projection/app-content-fields.resolved.json +286 -0
  116. package/vectors/binding-projection/field-removed.diagnostic.json +135 -0
  117. package/vectors/binding-projection/model-revision-mismatch.diagnostic.json +124 -0
  118. package/vectors/canonical/array-order.json +13 -0
  119. package/vectors/canonical/control-characters.json +13 -0
  120. package/vectors/canonical/depth-exceeded.json +21 -0
  121. package/vectors/canonical/empty-containers.json +14 -0
  122. package/vectors/canonical/forbidden-member.json +14 -0
  123. package/vectors/canonical/member-order.json +16 -0
  124. package/vectors/canonical/negative-zero.json +13 -0
  125. package/vectors/canonical/nested-order.json +19 -0
  126. package/vectors/canonical/non-ascii.json +13 -0
  127. package/vectors/canonical/numbers.json +16 -0
  128. package/vectors/canonical/string-escapes.json +13 -0
  129. package/vectors/canonical/surrogate-pair.json +13 -0
  130. package/vectors/command/apply-pattern.colliding-id.error.json +97 -0
  131. package/vectors/command/apply-pattern.incomplete-id-map.error.json +111 -0
  132. package/vectors/command/apply-pattern.two-roots.json +259 -0
  133. package/vectors/command/batch.atomic-failure.error.json +100 -0
  134. package/vectors/command/batch.insert-and-configure.json +197 -0
  135. package/vectors/command/batch.size-roles.json +180 -0
  136. package/vectors/command/duplicate-node.existing-id.error.json +88 -0
  137. package/vectors/command/duplicate-node.explicit-destination.json +183 -0
  138. package/vectors/command/duplicate-node.incomplete-id-map.error.json +91 -0
  139. package/vectors/command/duplicate-node.subtree.json +201 -0
  140. package/vectors/command/insert-node.duplicate-id.error.json +87 -0
  141. package/vectors/command/insert-node.inner-duplicate-id.error.json +115 -0
  142. package/vectors/command/insert-node.invalid-index.error.json +87 -0
  143. package/vectors/command/insert-node.root.json +162 -0
  144. package/vectors/command/insert-node.slot.json +167 -0
  145. package/vectors/command/mode.blueprint.set-field-value.error.json +76 -0
  146. package/vectors/command/mode.blueprint.set-property.json +131 -0
  147. package/vectors/command/mode.content.insert-node.error.json +88 -0
  148. package/vectors/command/mode.hybrid.batch-atomic.error.json +158 -0
  149. package/vectors/command/mode.hybrid.insert-allowed.json +263 -0
  150. package/vectors/command/mode.hybrid.insert-designer-slot.error.json +145 -0
  151. package/vectors/command/mode.hybrid.insert-disallowed-type.error.json +145 -0
  152. package/vectors/command/mode.hybrid.insert-roots.error.json +143 -0
  153. package/vectors/command/mode.hybrid.remove-locked.error.json +130 -0
  154. package/vectors/command/mode.hybrid.reorder-with-locked.json +239 -0
  155. package/vectors/command/mode.hybrid.set-property.error.json +132 -0
  156. package/vectors/command/mode.hybrid.slot-marker-disallowed.error.json +125 -0
  157. package/vectors/command/mode.hybrid.slot-marker-insert.json +223 -0
  158. package/vectors/command/mode.hybrid.slot-marker-other-slot.error.json +125 -0
  159. package/vectors/command/mode.model.remove-node.error.json +75 -0
  160. package/vectors/command/mode.read-only.set-property.error.json +77 -0
  161. package/vectors/command/move-node.into-self.error.json +95 -0
  162. package/vectors/command/move-node.reparent.json +196 -0
  163. package/vectors/command/move-node.within-roots.json +188 -0
  164. package/vectors/command/remove-binding.base.json +159 -0
  165. package/vectors/command/remove-binding.missing.error.json +75 -0
  166. package/vectors/command/remove-node.empties-slot.json +167 -0
  167. package/vectors/command/remove-node.missing.error.json +74 -0
  168. package/vectors/command/remove-node.nested.json +192 -0
  169. package/vectors/command/reorder-children.not-permutation.error.json +85 -0
  170. package/vectors/command/reorder-children.roots.json +182 -0
  171. package/vectors/command/reorder-children.slot.json +192 -0
  172. package/vectors/command/reset-inherited-property.missing.error.json +82 -0
  173. package/vectors/command/reset-inherited-property.single-viewport.json +151 -0
  174. package/vectors/command/reset-inherited-property.two-viewports.json +168 -0
  175. package/vectors/command/restore-node.inner-duplicate-id.error.json +115 -0
  176. package/vectors/command/restore-node.subtree-into-slot.json +195 -0
  177. package/vectors/command/set-binding.add.json +159 -0
  178. package/vectors/command/set-binding.replace.json +178 -0
  179. package/vectors/command/set-property.add.json +143 -0
  180. package/vectors/command/set-property.replace.json +146 -0
  181. package/vectors/command/set-property.viewport-add.json +148 -0
  182. package/vectors/command/set-size-role.base.json +144 -0
  183. package/vectors/command/set-size-role.duplicate.json +148 -0
  184. package/vectors/command/set-size-role.viewport-add.json +154 -0
  185. package/vectors/command/unset-property.base.json +143 -0
  186. package/vectors/command/unset-property.missing.error.json +75 -0
  187. package/vectors/command/unset-property.viewport.json +154 -0
  188. package/vectors/command/unset-size-role.missing.error.json +78 -0
  189. package/vectors/command/unset-size-role.viewport.json +154 -0
  190. package/vectors/host/artifact.dependencies.result.json +35 -0
  191. package/vectors/host/artifact.load.stored.json +36 -0
  192. package/vectors/host/artifact.load.unknown.error.json +37 -0
  193. package/vectors/host/artifact.publish.accepted.json +37 -0
  194. package/vectors/host/artifact.publish.forbidden.error.json +37 -0
  195. package/vectors/host/artifact.publish.stale.error.json +38 -0
  196. package/vectors/host/artifact.save.accepted.json +38 -0
  197. package/vectors/host/artifact.save.forbidden.error.json +38 -0
  198. package/vectors/host/artifact.save.stale.error.json +39 -0
  199. package/vectors/host/artifact.unpublish.stale.error.json +38 -0
  200. package/vectors/host/envelope.malformed-context.error.json +36 -0
  201. package/vectors/host/envelope.protocol-version.error.json +36 -0
  202. package/vectors/host/envelope.stale-generation.error.json +36 -0
  203. package/vectors/host/localization.messages.unknown-locale.error.json +36 -0
  204. package/vectors/host/media.abort-upload.unknown.error.json +35 -0
  205. package/vectors/host/media.authorize-upload.granted.json +37 -0
  206. package/vectors/host/media.authorize-upload.path-filename.error.json +39 -0
  207. package/vectors/host/media.authorize-upload.too-large.error.json +38 -0
  208. package/vectors/host/media.complete-upload.unknown.error.json +36 -0
  209. package/vectors/host/media.get.unknown.json +34 -0
  210. package/vectors/host/media.import-external.private-host.error.json +36 -0
  211. package/vectors/host/media.list.cursor.error.json +36 -0
  212. package/vectors/host/media.list.limit.error.json +35 -0
  213. package/vectors/host/media.upload-status.unknown.error.json +35 -0
  214. package/vectors/host/model.get.stored.json +37 -0
  215. package/vectors/host/model.list.authorized.json +31 -0
  216. package/vectors/host/permission.explain.withheld.json +34 -0
  217. package/vectors/host/permission.refresh.snapshot.json +31 -0
  218. package/vectors/host/recovery.load.absent.json +31 -0
  219. package/vectors/host/telemetry.emit.accepted.json +37 -0
  220. package/vectors/host/telemetry.emit.non-primitive.error.json +40 -0
  221. package/vectors/host-sequence/artifact.publish.changed-intent.sequence.json +75 -0
  222. package/vectors/host-sequence/artifact.publish.idempotent-replay.sequence.json +111 -0
  223. package/vectors/host-sequence/preview.cancel.cross-context.sequence.json +78 -0
  224. package/vectors/host-sequence/preview.render.cancelled.sequence.json +75 -0
  225. package/vectors/host-sequence/recovery.store.canonical-number.sequence.json +72 -0
  226. package/vectors/host-sequence/recovery.store.changed-context.sequence.json +61 -0
  227. package/vectors/host-sequence/recovery.store.rate-limited.sequence.json +93 -0
  228. package/vectors/host-sequence/recovery.store.resource-scope.sequence.json +61 -0
  229. package/vectors/host-sequence/recovery.store.wrong-operation-id.sequence.json +56 -0
  230. package/vectors/media/accept.plan-deterministic.json +26 -0
  231. package/vectors/media/accept.size-at-boundary.json +26 -0
  232. package/vectors/media/cancel.complete-noop.json +30 -0
  233. package/vectors/media/cancel.requested.json +30 -0
  234. package/vectors/media/cancel.transferring.json +30 -0
  235. package/vectors/media/cancel.verifying.json +30 -0
  236. package/vectors/media/reject.disallowed-kind.json +23 -0
  237. package/vectors/media/reject.filename-empty.json +22 -0
  238. package/vectors/media/reject.filename-path.json +23 -0
  239. package/vectors/media/reject.size-one-byte-over.json +23 -0
  240. package/vectors/media/retry.fresh-session.json +26 -0
  241. package/vectors/preview/canonical-preorder.json +102 -0
  242. package/vectors/preview/empty-draft.json +36 -0
  243. package/vectors/schema-profile/alternative-limit.accepted.json +95 -0
  244. package/vectors/schema-profile/alternative-limit.rejected.json +92 -0
  245. package/vectors/schema-profile/array-composition.accepted.json +35 -0
  246. package/vectors/schema-profile/byte-limit.accepted.json +30 -0
  247. package/vectors/schema-profile/byte-limit.rejected.json +26 -0
  248. package/vectors/schema-profile/closed-object.accepted.json +38 -0
  249. package/vectors/schema-profile/decimal-multiple.accepted.json +54 -0
  250. package/vectors/schema-profile/depth-limit.accepted.json +90 -0
  251. package/vectors/schema-profile/depth-limit.rejected.json +88 -0
  252. package/vectors/schema-profile/description-limit.accepted.json +29 -0
  253. package/vectors/schema-profile/description-limit.rejected.json +25 -0
  254. package/vectors/schema-profile/diagnostic-precedence.rejected.json +26 -0
  255. package/vectors/schema-profile/duplicate-dependent-required.rejected.json +21 -0
  256. package/vectors/schema-profile/duplicate-required.rejected.json +18 -0
  257. package/vectors/schema-profile/empty-combinator.rejected.json +17 -0
  258. package/vectors/schema-profile/empty-enum.rejected.json +17 -0
  259. package/vectors/schema-profile/enum-limit.accepted.json +89 -0
  260. package/vectors/schema-profile/enum-limit.rejected.json +84 -0
  261. package/vectors/schema-profile/examples-limit.accepted.json +35 -0
  262. package/vectors/schema-profile/examples-limit.rejected.json +31 -0
  263. package/vectors/schema-profile/format-keyword.rejected.json +17 -0
  264. package/vectors/schema-profile/forward-reference-path-precedence.rejected.json +20 -0
  265. package/vectors/schema-profile/invalid-pointer.rejected.json +18 -0
  266. package/vectors/schema-profile/json-depth-limit.accepted.json +278 -0
  267. package/vectors/schema-profile/json-depth-limit.rejected.json +276 -0
  268. package/vectors/schema-profile/json-item-limit.accepted.json +686 -0
  269. package/vectors/schema-profile/json-item-limit.rejected.json +682 -0
  270. package/vectors/schema-profile/json-property-limit.accepted.json +1031 -0
  271. package/vectors/schema-profile/json-property-limit.rejected.json +1028 -0
  272. package/vectors/schema-profile/local-reference.accepted.json +28 -0
  273. package/vectors/schema-profile/memoized-diagnostic.accepted.json +31 -0
  274. package/vectors/schema-profile/node-limit.accepted.json +1097 -0
  275. package/vectors/schema-profile/node-limit.rejected.json +1094 -0
  276. package/vectors/schema-profile/non-object-root.rejected.json +9 -0
  277. package/vectors/schema-profile/non-schema-reference.rejected.json +21 -0
  278. package/vectors/schema-profile/object-key-limit.accepted.json +32 -0
  279. package/vectors/schema-profile/object-key-limit.rejected.json +28 -0
  280. package/vectors/schema-profile/open-root.rejected.json +13 -0
  281. package/vectors/schema-profile/percent-encoded-pointer.rejected.json +26 -0
  282. package/vectors/schema-profile/property-name-limit.accepted.json +543 -0
  283. package/vectors/schema-profile/property-name-limit.rejected.json +536 -0
  284. package/vectors/schema-profile/recursive-diagnostic-precedence.rejected.json +30 -0
  285. package/vectors/schema-profile/recursive-reference.rejected.json +24 -0
  286. package/vectors/schema-profile/reference-fanout.accepted.json +662 -0
  287. package/vectors/schema-profile/reference-length-limit.accepted.json +45 -0
  288. package/vectors/schema-profile/reference-length-limit.rejected.json +39 -0
  289. package/vectors/schema-profile/reference-limit.accepted.json +416 -0
  290. package/vectors/schema-profile/reference-limit.rejected.json +415 -0
  291. package/vectors/schema-profile/reference-vs-keyword-precedence.rejected.json +22 -0
  292. package/vectors/schema-profile/reserved-pointer.rejected.json +26 -0
  293. package/vectors/schema-profile/root-diagnostic-precedence.rejected.json +16 -0
  294. package/vectors/schema-profile/root-vs-reference-precedence.rejected.json +19 -0
  295. package/vectors/schema-profile/schema-map-limit.accepted.json +539 -0
  296. package/vectors/schema-profile/schema-map-limit.rejected.json +536 -0
  297. package/vectors/schema-profile/semantic-recursion-precedence.rejected.json +21 -0
  298. package/vectors/schema-profile/semantic-reference-precedence.rejected.json +21 -0
  299. package/vectors/schema-profile/title-limit.accepted.json +29 -0
  300. package/vectors/schema-profile/title-limit.rejected.json +25 -0
  301. package/vectors/schema-profile/unresolved-reference.rejected.json +17 -0
  302. package/vectors/schema-profile/unsafe-dependent-required.rejected.json +24 -0
  303. package/vectors/schema-profile/unsafe-member.rejected.json +17 -0
  304. package/vectors/schema-profile/unsafe-required.rejected.json +17 -0
@@ -0,0 +1,536 @@
1
+ {
2
+ "contractVersion": "0.1-draft",
3
+ "kind": "schema-profile-vector",
4
+ "id": "schema-profile/schema-map-limit",
5
+ "description": "A schema map one entry over the published ceiling is rejected before sorting or traversal.",
6
+ "profile": "studio.profile/schema-property",
7
+ "boundary": {
8
+ "limit": "maxSchemaMapProperties",
9
+ "position": "over-limit",
10
+ "value": 513
11
+ },
12
+ "schema": {
13
+ "additionalProperties": false,
14
+ "properties": {
15
+ "p000": {},
16
+ "p001": {},
17
+ "p002": {},
18
+ "p003": {},
19
+ "p004": {},
20
+ "p005": {},
21
+ "p006": {},
22
+ "p007": {},
23
+ "p008": {},
24
+ "p009": {},
25
+ "p010": {},
26
+ "p011": {},
27
+ "p012": {},
28
+ "p013": {},
29
+ "p014": {},
30
+ "p015": {},
31
+ "p016": {},
32
+ "p017": {},
33
+ "p018": {},
34
+ "p019": {},
35
+ "p020": {},
36
+ "p021": {},
37
+ "p022": {},
38
+ "p023": {},
39
+ "p024": {},
40
+ "p025": {},
41
+ "p026": {},
42
+ "p027": {},
43
+ "p028": {},
44
+ "p029": {},
45
+ "p030": {},
46
+ "p031": {},
47
+ "p032": {},
48
+ "p033": {},
49
+ "p034": {},
50
+ "p035": {},
51
+ "p036": {},
52
+ "p037": {},
53
+ "p038": {},
54
+ "p039": {},
55
+ "p040": {},
56
+ "p041": {},
57
+ "p042": {},
58
+ "p043": {},
59
+ "p044": {},
60
+ "p045": {},
61
+ "p046": {},
62
+ "p047": {},
63
+ "p048": {},
64
+ "p049": {},
65
+ "p050": {},
66
+ "p051": {},
67
+ "p052": {},
68
+ "p053": {},
69
+ "p054": {},
70
+ "p055": {},
71
+ "p056": {},
72
+ "p057": {},
73
+ "p058": {},
74
+ "p059": {},
75
+ "p060": {},
76
+ "p061": {},
77
+ "p062": {},
78
+ "p063": {},
79
+ "p064": {},
80
+ "p065": {},
81
+ "p066": {},
82
+ "p067": {},
83
+ "p068": {},
84
+ "p069": {},
85
+ "p070": {},
86
+ "p071": {},
87
+ "p072": {},
88
+ "p073": {},
89
+ "p074": {},
90
+ "p075": {},
91
+ "p076": {},
92
+ "p077": {},
93
+ "p078": {},
94
+ "p079": {},
95
+ "p080": {},
96
+ "p081": {},
97
+ "p082": {},
98
+ "p083": {},
99
+ "p084": {},
100
+ "p085": {},
101
+ "p086": {},
102
+ "p087": {},
103
+ "p088": {},
104
+ "p089": {},
105
+ "p090": {},
106
+ "p091": {},
107
+ "p092": {},
108
+ "p093": {},
109
+ "p094": {},
110
+ "p095": {},
111
+ "p096": {},
112
+ "p097": {},
113
+ "p098": {},
114
+ "p099": {},
115
+ "p100": {},
116
+ "p101": {},
117
+ "p102": {},
118
+ "p103": {},
119
+ "p104": {},
120
+ "p105": {},
121
+ "p106": {},
122
+ "p107": {},
123
+ "p108": {},
124
+ "p109": {},
125
+ "p110": {},
126
+ "p111": {},
127
+ "p112": {},
128
+ "p113": {},
129
+ "p114": {},
130
+ "p115": {},
131
+ "p116": {},
132
+ "p117": {},
133
+ "p118": {},
134
+ "p119": {},
135
+ "p120": {},
136
+ "p121": {},
137
+ "p122": {},
138
+ "p123": {},
139
+ "p124": {},
140
+ "p125": {},
141
+ "p126": {},
142
+ "p127": {},
143
+ "p128": {},
144
+ "p129": {},
145
+ "p130": {},
146
+ "p131": {},
147
+ "p132": {},
148
+ "p133": {},
149
+ "p134": {},
150
+ "p135": {},
151
+ "p136": {},
152
+ "p137": {},
153
+ "p138": {},
154
+ "p139": {},
155
+ "p140": {},
156
+ "p141": {},
157
+ "p142": {},
158
+ "p143": {},
159
+ "p144": {},
160
+ "p145": {},
161
+ "p146": {},
162
+ "p147": {},
163
+ "p148": {},
164
+ "p149": {},
165
+ "p150": {},
166
+ "p151": {},
167
+ "p152": {},
168
+ "p153": {},
169
+ "p154": {},
170
+ "p155": {},
171
+ "p156": {},
172
+ "p157": {},
173
+ "p158": {},
174
+ "p159": {},
175
+ "p160": {},
176
+ "p161": {},
177
+ "p162": {},
178
+ "p163": {},
179
+ "p164": {},
180
+ "p165": {},
181
+ "p166": {},
182
+ "p167": {},
183
+ "p168": {},
184
+ "p169": {},
185
+ "p170": {},
186
+ "p171": {},
187
+ "p172": {},
188
+ "p173": {},
189
+ "p174": {},
190
+ "p175": {},
191
+ "p176": {},
192
+ "p177": {},
193
+ "p178": {},
194
+ "p179": {},
195
+ "p180": {},
196
+ "p181": {},
197
+ "p182": {},
198
+ "p183": {},
199
+ "p184": {},
200
+ "p185": {},
201
+ "p186": {},
202
+ "p187": {},
203
+ "p188": {},
204
+ "p189": {},
205
+ "p190": {},
206
+ "p191": {},
207
+ "p192": {},
208
+ "p193": {},
209
+ "p194": {},
210
+ "p195": {},
211
+ "p196": {},
212
+ "p197": {},
213
+ "p198": {},
214
+ "p199": {},
215
+ "p200": {},
216
+ "p201": {},
217
+ "p202": {},
218
+ "p203": {},
219
+ "p204": {},
220
+ "p205": {},
221
+ "p206": {},
222
+ "p207": {},
223
+ "p208": {},
224
+ "p209": {},
225
+ "p210": {},
226
+ "p211": {},
227
+ "p212": {},
228
+ "p213": {},
229
+ "p214": {},
230
+ "p215": {},
231
+ "p216": {},
232
+ "p217": {},
233
+ "p218": {},
234
+ "p219": {},
235
+ "p220": {},
236
+ "p221": {},
237
+ "p222": {},
238
+ "p223": {},
239
+ "p224": {},
240
+ "p225": {},
241
+ "p226": {},
242
+ "p227": {},
243
+ "p228": {},
244
+ "p229": {},
245
+ "p230": {},
246
+ "p231": {},
247
+ "p232": {},
248
+ "p233": {},
249
+ "p234": {},
250
+ "p235": {},
251
+ "p236": {},
252
+ "p237": {},
253
+ "p238": {},
254
+ "p239": {},
255
+ "p240": {},
256
+ "p241": {},
257
+ "p242": {},
258
+ "p243": {},
259
+ "p244": {},
260
+ "p245": {},
261
+ "p246": {},
262
+ "p247": {},
263
+ "p248": {},
264
+ "p249": {},
265
+ "p250": {},
266
+ "p251": {},
267
+ "p252": {},
268
+ "p253": {},
269
+ "p254": {},
270
+ "p255": {},
271
+ "p256": {},
272
+ "p257": {},
273
+ "p258": {},
274
+ "p259": {},
275
+ "p260": {},
276
+ "p261": {},
277
+ "p262": {},
278
+ "p263": {},
279
+ "p264": {},
280
+ "p265": {},
281
+ "p266": {},
282
+ "p267": {},
283
+ "p268": {},
284
+ "p269": {},
285
+ "p270": {},
286
+ "p271": {},
287
+ "p272": {},
288
+ "p273": {},
289
+ "p274": {},
290
+ "p275": {},
291
+ "p276": {},
292
+ "p277": {},
293
+ "p278": {},
294
+ "p279": {},
295
+ "p280": {},
296
+ "p281": {},
297
+ "p282": {},
298
+ "p283": {},
299
+ "p284": {},
300
+ "p285": {},
301
+ "p286": {},
302
+ "p287": {},
303
+ "p288": {},
304
+ "p289": {},
305
+ "p290": {},
306
+ "p291": {},
307
+ "p292": {},
308
+ "p293": {},
309
+ "p294": {},
310
+ "p295": {},
311
+ "p296": {},
312
+ "p297": {},
313
+ "p298": {},
314
+ "p299": {},
315
+ "p300": {},
316
+ "p301": {},
317
+ "p302": {},
318
+ "p303": {},
319
+ "p304": {},
320
+ "p305": {},
321
+ "p306": {},
322
+ "p307": {},
323
+ "p308": {},
324
+ "p309": {},
325
+ "p310": {},
326
+ "p311": {},
327
+ "p312": {},
328
+ "p313": {},
329
+ "p314": {},
330
+ "p315": {},
331
+ "p316": {},
332
+ "p317": {},
333
+ "p318": {},
334
+ "p319": {},
335
+ "p320": {},
336
+ "p321": {},
337
+ "p322": {},
338
+ "p323": {},
339
+ "p324": {},
340
+ "p325": {},
341
+ "p326": {},
342
+ "p327": {},
343
+ "p328": {},
344
+ "p329": {},
345
+ "p330": {},
346
+ "p331": {},
347
+ "p332": {},
348
+ "p333": {},
349
+ "p334": {},
350
+ "p335": {},
351
+ "p336": {},
352
+ "p337": {},
353
+ "p338": {},
354
+ "p339": {},
355
+ "p340": {},
356
+ "p341": {},
357
+ "p342": {},
358
+ "p343": {},
359
+ "p344": {},
360
+ "p345": {},
361
+ "p346": {},
362
+ "p347": {},
363
+ "p348": {},
364
+ "p349": {},
365
+ "p350": {},
366
+ "p351": {},
367
+ "p352": {},
368
+ "p353": {},
369
+ "p354": {},
370
+ "p355": {},
371
+ "p356": {},
372
+ "p357": {},
373
+ "p358": {},
374
+ "p359": {},
375
+ "p360": {},
376
+ "p361": {},
377
+ "p362": {},
378
+ "p363": {},
379
+ "p364": {},
380
+ "p365": {},
381
+ "p366": {},
382
+ "p367": {},
383
+ "p368": {},
384
+ "p369": {},
385
+ "p370": {},
386
+ "p371": {},
387
+ "p372": {},
388
+ "p373": {},
389
+ "p374": {},
390
+ "p375": {},
391
+ "p376": {},
392
+ "p377": {},
393
+ "p378": {},
394
+ "p379": {},
395
+ "p380": {},
396
+ "p381": {},
397
+ "p382": {},
398
+ "p383": {},
399
+ "p384": {},
400
+ "p385": {},
401
+ "p386": {},
402
+ "p387": {},
403
+ "p388": {},
404
+ "p389": {},
405
+ "p390": {},
406
+ "p391": {},
407
+ "p392": {},
408
+ "p393": {},
409
+ "p394": {},
410
+ "p395": {},
411
+ "p396": {},
412
+ "p397": {},
413
+ "p398": {},
414
+ "p399": {},
415
+ "p400": {},
416
+ "p401": {},
417
+ "p402": {},
418
+ "p403": {},
419
+ "p404": {},
420
+ "p405": {},
421
+ "p406": {},
422
+ "p407": {},
423
+ "p408": {},
424
+ "p409": {},
425
+ "p410": {},
426
+ "p411": {},
427
+ "p412": {},
428
+ "p413": {},
429
+ "p414": {},
430
+ "p415": {},
431
+ "p416": {},
432
+ "p417": {},
433
+ "p418": {},
434
+ "p419": {},
435
+ "p420": {},
436
+ "p421": {},
437
+ "p422": {},
438
+ "p423": {},
439
+ "p424": {},
440
+ "p425": {},
441
+ "p426": {},
442
+ "p427": {},
443
+ "p428": {},
444
+ "p429": {},
445
+ "p430": {},
446
+ "p431": {},
447
+ "p432": {},
448
+ "p433": {},
449
+ "p434": {},
450
+ "p435": {},
451
+ "p436": {},
452
+ "p437": {},
453
+ "p438": {},
454
+ "p439": {},
455
+ "p440": {},
456
+ "p441": {},
457
+ "p442": {},
458
+ "p443": {},
459
+ "p444": {},
460
+ "p445": {},
461
+ "p446": {},
462
+ "p447": {},
463
+ "p448": {},
464
+ "p449": {},
465
+ "p450": {},
466
+ "p451": {},
467
+ "p452": {},
468
+ "p453": {},
469
+ "p454": {},
470
+ "p455": {},
471
+ "p456": {},
472
+ "p457": {},
473
+ "p458": {},
474
+ "p459": {},
475
+ "p460": {},
476
+ "p461": {},
477
+ "p462": {},
478
+ "p463": {},
479
+ "p464": {},
480
+ "p465": {},
481
+ "p466": {},
482
+ "p467": {},
483
+ "p468": {},
484
+ "p469": {},
485
+ "p470": {},
486
+ "p471": {},
487
+ "p472": {},
488
+ "p473": {},
489
+ "p474": {},
490
+ "p475": {},
491
+ "p476": {},
492
+ "p477": {},
493
+ "p478": {},
494
+ "p479": {},
495
+ "p480": {},
496
+ "p481": {},
497
+ "p482": {},
498
+ "p483": {},
499
+ "p484": {},
500
+ "p485": {},
501
+ "p486": {},
502
+ "p487": {},
503
+ "p488": {},
504
+ "p489": {},
505
+ "p490": {},
506
+ "p491": {},
507
+ "p492": {},
508
+ "p493": {},
509
+ "p494": {},
510
+ "p495": {},
511
+ "p496": {},
512
+ "p497": {},
513
+ "p498": {},
514
+ "p499": {},
515
+ "p500": {},
516
+ "p501": {},
517
+ "p502": {},
518
+ "p503": {},
519
+ "p504": {},
520
+ "p505": {},
521
+ "p506": {},
522
+ "p507": {},
523
+ "p508": {},
524
+ "p509": {},
525
+ "p510": {},
526
+ "p511": {},
527
+ "p512": {}
528
+ },
529
+ "type": "object"
530
+ },
531
+ "expect": {
532
+ "outcome": "rejected",
533
+ "code": "limit-exceeded",
534
+ "schemaPath": "/properties"
535
+ }
536
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "contractVersion": "0.1-draft",
3
+ "kind": "schema-profile-vector",
4
+ "id": "schema-profile/semantic-recursion-precedence",
5
+ "description": "The earliest cyclic reference is selected by canonical document order rather than forward graph traversal order.",
6
+ "profile": "studio.profile/schema-property",
7
+ "schema": {
8
+ "additionalProperties": false,
9
+ "$defs": {
10
+ "a": { "$ref": "#/$defs/z" },
11
+ "b": { "$ref": "#/$defs/b" },
12
+ "z": { "$ref": "#/$defs/z" }
13
+ },
14
+ "type": "object"
15
+ },
16
+ "expect": {
17
+ "outcome": "rejected",
18
+ "code": "recursive-schema",
19
+ "schemaPath": "/$defs/b/$ref"
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "contractVersion": "0.1-draft",
3
+ "kind": "schema-profile-vector",
4
+ "id": "schema-profile/semantic-reference-precedence",
5
+ "description": "Forward graph traversal cannot hide an earlier unresolved reference at its canonical document location.",
6
+ "profile": "studio.profile/schema-property",
7
+ "schema": {
8
+ "additionalProperties": false,
9
+ "$defs": {
10
+ "a": { "$ref": "#/$defs/z" },
11
+ "b": { "$ref": "#/$defs/missing-b" },
12
+ "z": { "$ref": "#/$defs/missing-z" }
13
+ },
14
+ "type": "object"
15
+ },
16
+ "expect": {
17
+ "outcome": "rejected",
18
+ "code": "invalid-reference",
19
+ "schemaPath": "/$defs/b/$ref"
20
+ }
21
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "contractVersion": "0.1-draft",
3
+ "kind": "schema-profile-vector",
4
+ "id": "schema-profile/title-limit-boundary",
5
+ "description": "A title at exactly the published Unicode code-point ceiling remains admissible.",
6
+ "profile": "studio.profile/schema-property",
7
+ "boundary": {
8
+ "limit": "maxTitleLength",
9
+ "position": "at-limit",
10
+ "value": 1000
11
+ },
12
+ "schema": {
13
+ "additionalProperties": false,
14
+ "properties": {
15
+ "value": {}
16
+ },
17
+ "type": "object",
18
+ "title": "😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀"
19
+ },
20
+ "expect": {
21
+ "outcome": "accepted",
22
+ "instances": [
23
+ {
24
+ "value": {},
25
+ "valid": true
26
+ }
27
+ ]
28
+ }
29
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "contractVersion": "0.1-draft",
3
+ "kind": "schema-profile-vector",
4
+ "id": "schema-profile/title-limit",
5
+ "description": "A title one Unicode code point over the published ceiling is rejected.",
6
+ "profile": "studio.profile/schema-property",
7
+ "boundary": {
8
+ "limit": "maxTitleLength",
9
+ "position": "over-limit",
10
+ "value": 1001
11
+ },
12
+ "schema": {
13
+ "additionalProperties": false,
14
+ "properties": {
15
+ "value": {}
16
+ },
17
+ "type": "object",
18
+ "title": "😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀😀"
19
+ },
20
+ "expect": {
21
+ "outcome": "rejected",
22
+ "code": "limit-exceeded",
23
+ "schemaPath": "/title"
24
+ }
25
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "contractVersion": "0.1-draft",
3
+ "kind": "schema-profile-vector",
4
+ "id": "schema-profile/unresolved-reference",
5
+ "description": "A syntactically valid local reference must resolve to a schema position in the same document.",
6
+ "profile": "studio.profile/schema-property",
7
+ "schema": {
8
+ "type": "object",
9
+ "additionalProperties": false,
10
+ "properties": { "value": { "$ref": "#/$defs/missing" } }
11
+ },
12
+ "expect": {
13
+ "outcome": "rejected",
14
+ "code": "invalid-reference",
15
+ "schemaPath": "/properties/value/$ref"
16
+ }
17
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "contractVersion": "0.1-draft",
3
+ "kind": "schema-profile-vector",
4
+ "id": "schema-profile/unsafe-dependent-required",
5
+ "description": "An unsafe dependent-required member reports the array position that contains the rejected property name.",
6
+ "profile": "studio.profile/schema-property",
7
+ "schema": {
8
+ "type": "object",
9
+ "additionalProperties": false,
10
+ "dependentRequired": {
11
+ "value": ["constructor"]
12
+ },
13
+ "properties": {
14
+ "value": {
15
+ "type": "string"
16
+ }
17
+ }
18
+ },
19
+ "expect": {
20
+ "outcome": "rejected",
21
+ "code": "unsafe-member",
22
+ "schemaPath": "/dependentRequired/value/0"
23
+ }
24
+ }