@rathnasgala2/schemas 2.11.0 → 2.13.0

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 (408) hide show
  1. package/README.md +192 -84
  2. package/THIRD_PARTY_LICENSES.json +79 -106
  3. package/diagnostics/diagnostic-map.json +443 -405
  4. package/diagnostics/diagnostic-map.public-runtime-origins.json +5 -0
  5. package/docs/catalogs/app-routes.json +2 -1
  6. package/docs/catalogs/schema-inventory.json +33 -54
  7. package/examples/valid/adapter-capability/rules.json +11 -0
  8. package/examples/valid/artifact-manifest/rules.json +156 -177
  9. package/examples/valid/build-input/rules.json +67 -63
  10. package/examples/valid/build-provenance/rules.json +151 -172
  11. package/examples/valid/deployment-intent/rules.json +152 -148
  12. package/examples/valid/deployment-observation/rules.json +24 -20
  13. package/examples/valid/deployment-receipt/rules.json +152 -148
  14. package/examples/valid/navigation/rules.json +2 -4
  15. package/examples/valid/theme-contract/rules.json +4 -1
  16. package/fixtures/boundary/adapter-capability/rules.json +16 -0
  17. package/fixtures/boundary/artifact-manifest/rules.json +195 -202
  18. package/fixtures/boundary/build-input/rules.json +99 -86
  19. package/fixtures/boundary/build-provenance/rules.json +193 -202
  20. package/fixtures/boundary/deployment-intent/rules.json +186 -140
  21. package/fixtures/boundary/deployment-observation/rules.json +68 -18
  22. package/fixtures/boundary/deployment-receipt/rules.json +186 -140
  23. package/fixtures/boundary/navigation/rules.json +2 -17
  24. package/fixtures/boundary/theme-contract/rules.json +34 -0
  25. package/fixtures/invalid/adapter-capability/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
  26. package/fixtures/invalid/adapter-capability/UTF8_BYTE_LENGTH_INVALID/cases.json +11 -0
  27. package/fixtures/invalid/artifact-manifest/ASCII_BYTE_LENGTH_INVALID/cases.json +13 -0
  28. package/fixtures/invalid/artifact-manifest/INTEGER_RANGE_INVALID/cases.json +24 -0
  29. package/fixtures/invalid/artifact-manifest/REQUEST_FIELD_UNKNOWN/cases.json +19 -19
  30. package/fixtures/invalid/artifact-manifest/SCHEMA_CONSTANT_INVALID/cases.json +48 -48
  31. package/fixtures/invalid/artifact-manifest/SCHEMA_ENUM_INVALID/cases.json +11 -11
  32. package/fixtures/invalid/artifact-manifest/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  33. package/fixtures/invalid/artifact-manifest/SCHEMA_NEGATED_RULE_MATCHED/cases.json +0 -11
  34. package/fixtures/invalid/artifact-manifest/SCHEMA_PATTERN_INVALID/cases.json +0 -22
  35. package/fixtures/invalid/artifact-manifest/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1105 -1105
  36. package/fixtures/invalid/artifact-manifest/SCHEMA_STRING_TOO_LONG/cases.json +4 -6
  37. package/fixtures/invalid/artifact-manifest/SCHEMA_STRING_TOO_SHORT/cases.json +9 -11
  38. package/fixtures/invalid/artifact-manifest/SCHEMA_TYPE_INVALID/cases.json +22 -31
  39. package/fixtures/invalid/artifact-manifest/UTF8_BYTE_LENGTH_INVALID/cases.json +0 -11
  40. package/fixtures/invalid/build-input/INTEGER_RANGE_INVALID/cases.json +13 -0
  41. package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +32 -32
  42. package/fixtures/invalid/build-input/SCHEMA_CONSTANT_INVALID/cases.json +11 -11
  43. package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +11 -11
  44. package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +78 -78
  45. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +51 -18
  46. package/fixtures/invalid/build-provenance/ASCII_BYTE_LENGTH_INVALID/cases.json +13 -0
  47. package/fixtures/invalid/build-provenance/INTEGER_RANGE_INVALID/cases.json +22 -0
  48. package/fixtures/invalid/build-provenance/REQUEST_FIELD_UNKNOWN/cases.json +56 -56
  49. package/fixtures/invalid/build-provenance/SCHEMA_CONSTANT_INVALID/cases.json +37 -37
  50. package/fixtures/invalid/build-provenance/SCHEMA_ENUM_INVALID/cases.json +11 -11
  51. package/fixtures/invalid/build-provenance/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  52. package/fixtures/invalid/build-provenance/SCHEMA_NEGATED_RULE_MATCHED/cases.json +0 -11
  53. package/fixtures/invalid/build-provenance/SCHEMA_PATTERN_INVALID/cases.json +0 -22
  54. package/fixtures/invalid/build-provenance/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +927 -927
  55. package/fixtures/invalid/build-provenance/SCHEMA_STRING_TOO_LONG/cases.json +9 -11
  56. package/fixtures/invalid/build-provenance/SCHEMA_STRING_TOO_SHORT/cases.json +8 -10
  57. package/fixtures/invalid/build-provenance/SCHEMA_TYPE_INVALID/cases.json +20 -25
  58. package/fixtures/invalid/build-provenance/UTF8_BYTE_LENGTH_INVALID/cases.json +0 -11
  59. package/fixtures/invalid/deployment-intent/INTEGER_RANGE_INVALID/cases.json +24 -0
  60. package/fixtures/invalid/deployment-intent/REQUEST_FIELD_UNKNOWN/cases.json +30 -30
  61. package/fixtures/invalid/deployment-intent/SCHEMA_CONSTANT_INVALID/cases.json +41 -41
  62. package/fixtures/invalid/deployment-intent/SCHEMA_ENUM_INVALID/cases.json +11 -11
  63. package/fixtures/invalid/deployment-intent/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  64. package/fixtures/invalid/deployment-intent/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1209 -1209
  65. package/fixtures/invalid/deployment-intent/SCHEMA_STRING_TOO_LONG/cases.json +9 -0
  66. package/fixtures/invalid/deployment-intent/SCHEMA_STRING_TOO_SHORT/cases.json +9 -0
  67. package/fixtures/invalid/deployment-intent/SCHEMA_TYPE_INVALID/cases.json +22 -20
  68. package/fixtures/invalid/deployment-observation/INTEGER_RANGE_INVALID/cases.json +24 -0
  69. package/fixtures/invalid/deployment-observation/REQUEST_FIELD_UNKNOWN/cases.json +16 -16
  70. package/fixtures/invalid/deployment-observation/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  71. package/fixtures/invalid/deployment-observation/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +39 -39
  72. package/fixtures/invalid/deployment-observation/SCHEMA_STRING_TOO_LONG/cases.json +11 -0
  73. package/fixtures/invalid/deployment-observation/SCHEMA_STRING_TOO_SHORT/cases.json +11 -0
  74. package/fixtures/invalid/deployment-observation/SCHEMA_TYPE_INVALID/cases.json +11 -11
  75. package/fixtures/invalid/deployment-receipt/INTEGER_RANGE_INVALID/cases.json +24 -0
  76. package/fixtures/invalid/deployment-receipt/REQUEST_FIELD_UNKNOWN/cases.json +70 -70
  77. package/fixtures/invalid/deployment-receipt/SCHEMA_CONSTANT_INVALID/cases.json +36 -36
  78. package/fixtures/invalid/deployment-receipt/SCHEMA_ENUM_INVALID/cases.json +11 -11
  79. package/fixtures/invalid/deployment-receipt/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  80. package/fixtures/invalid/deployment-receipt/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +1304 -1304
  81. package/fixtures/invalid/deployment-receipt/SCHEMA_STRING_TOO_LONG/cases.json +9 -0
  82. package/fixtures/invalid/deployment-receipt/SCHEMA_STRING_TOO_SHORT/cases.json +9 -0
  83. package/fixtures/invalid/deployment-receipt/SCHEMA_TYPE_INVALID/cases.json +22 -20
  84. package/fixtures/invalid/navigation/SCHEMA_ARRAY_TOO_LONG/cases.json +0 -15
  85. package/fixtures/invalid/navigation/SCHEMA_CONSTANT_INVALID/cases.json +11 -0
  86. package/fixtures/invalid/navigation/SCHEMA_TYPE_INVALID/cases.json +0 -11
  87. package/fixtures/invalid/theme-contract/INTEGER_RANGE_INVALID/cases.json +11 -0
  88. package/fixtures/invalid/theme-contract/SCHEMA_FORMAT_INVALID/cases.json +0 -9
  89. package/fixtures/invalid/theme-contract/SCHEMA_STRING_TOO_LONG/cases.json +9 -0
  90. package/fixtures/invalid/theme-contract/SCHEMA_STRING_TOO_SHORT/cases.json +9 -0
  91. package/fixtures/manifest.json +3217 -2930
  92. package/fixtures/unknown-field/adapter-capability/rules.json +2 -0
  93. package/fixtures/unknown-field/artifact-manifest/rules.json +111 -114
  94. package/fixtures/unknown-field/build-input/rules.json +36 -32
  95. package/fixtures/unknown-field/build-provenance/rules.json +111 -114
  96. package/fixtures/unknown-field/deployment-intent/rules.json +109 -105
  97. package/fixtures/unknown-field/deployment-observation/rules.json +24 -20
  98. package/fixtures/unknown-field/deployment-receipt/rules.json +109 -105
  99. package/fixtures/unknown-field/navigation/rules.json +1 -3
  100. package/fixtures/unknown-field/theme-contract/rules.json +3 -0
  101. package/generated/browser/runtime-origins-validator-core.d.mts +10 -0
  102. package/generated/browser/runtime-origins-validator-core.mjs +35 -0
  103. package/generated/browser/validator-core.d.mts +10 -0
  104. package/generated/browser/validator-core.mjs +80 -0
  105. package/generated/typescript/contracts/artifact-manifest.d.ts +49 -48
  106. package/generated/typescript/contracts/build-input.d.ts +15 -15
  107. package/generated/typescript/contracts/build-provenance.d.ts +51 -50
  108. package/generated/typescript/contracts/deployment-intent.d.ts +6 -6
  109. package/generated/typescript/contracts/deployment-observation.d.ts +1 -1
  110. package/generated/typescript/contracts/deployment-receipt.d.ts +5 -5
  111. package/generated/typescript/contracts/navigation.d.ts +1 -1
  112. package/generated/typescript/index.js +11 -37
  113. package/openapi/http-catalog.json +14 -2
  114. package/openapi/openapi.yaml +527 -13
  115. package/package.json +19 -16
  116. package/sbom.cdx.json +23 -23
  117. package/schemas/adapter-capability.schema.json +5 -1
  118. package/schemas/appearance.schema.json +1 -1
  119. package/schemas/artifact-manifest.schema.json +15 -18
  120. package/schemas/build-input.schema.json +18 -11
  121. package/schemas/build-provenance.schema.json +15 -18
  122. package/schemas/deployment-intent.schema.json +13 -8
  123. package/schemas/deployment-observation.schema.json +10 -5
  124. package/schemas/deployment-receipt.schema.json +12 -7
  125. package/schemas/navigation.schema.json +5 -26
  126. package/schemas/theme-contract.schema.json +4 -2
  127. package/src/index.js +2 -2
  128. package/src/internal/browser-schema-validator.js +43 -0
  129. package/src/internal/format-validators.js +1 -1
  130. package/src/internal/gala-keywords.js +148 -0
  131. package/src/internal/validator-core.js +244 -108
  132. package/src/runtime-origins.js +18 -18
  133. package/types/index.d.ts +2 -2
  134. package/types/internal/browser-schema-validator.d.ts +16 -0
  135. package/types/internal/format-validators.d.ts +1 -1
  136. package/types/internal/gala-keywords.d.ts +68 -0
  137. package/types/internal/validator-core.d.ts +80 -1
  138. package/compatibility/compatibility.json +0 -594
  139. package/generated/java/src/main/java/io/gala/schema/generated/GalaSchemaRegistry.java +0 -67
  140. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityAdapterConfigurationCapabilities.java +0 -24
  141. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityAdapterIdentity.java +0 -20
  142. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityCapabilityDecision.java +0 -62
  143. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityCredentialEgressProfile.java +0 -35
  144. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityDestinationIdentity.java +0 -25
  145. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityDestinationProviderCoordinates.java +0 -19
  146. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityDocument.java +0 -52
  147. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityFilesystemProviderLimits.java +0 -32
  148. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityGithubActionsOidcOriginCatalog.java +0 -25
  149. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityHttpProviderLimits.java +0 -72
  150. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemAllowlist.java +0 -21
  151. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemAllowlistEntry.java +0 -28
  152. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemCapabilityEvidence.java +0 -42
  153. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemControlPublication.java +0 -26
  154. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemControlRow.java +0 -44
  155. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemFailureEvidence.java +0 -40
  156. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemObservationEvidence.java +0 -40
  157. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemPlatform.java +0 -25
  158. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemProbeSummary.java +0 -32
  159. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemProbeTranscript.java +0 -25
  160. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemReplacement.java +0 -22
  161. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityLocalFilesystemSurfaceIdentity.java +0 -20
  162. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityManagedExecutionBudget.java +0 -26
  163. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityPagesOidcCredentialEgress.java +0 -30
  164. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderCallClassBinding.java +0 -22
  165. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderCredentialEgress.java +0 -26
  166. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderCredentialHeader.java +0 -24
  167. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderDerivedHeader.java +0 -18
  168. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderFixedHeader.java +0 -18
  169. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilityProviderRequestTemplate.java +0 -39
  170. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneBinding.java +0 -32
  171. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneRequest.java +0 -26
  172. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneRequestCatalog.java +0 -31
  173. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesControlPlaneResponseCatalog.java +0 -20
  174. package/generated/java/src/main/java/io/gala/schema/generated/model/AdapterCapabilitySpacesWebsiteConfiguration.java +0 -24
  175. package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceColorMode.java +0 -19
  176. package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceDocument.java +0 -37
  177. package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceExtensionMap.java +0 -15
  178. package/generated/java/src/main/java/io/gala/schema/generated/model/AppearanceSemanticTokens.java +0 -15
  179. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestActionPinEvidence.java +0 -20
  180. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestArtifactLicenseConclusion.java +0 -21
  181. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestAssertedWorkload.java +0 -44
  182. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestBuildSandboxEvidence.java +0 -38
  183. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestDocument.java +0 -73
  184. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestFinding.java +0 -22
  185. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestAsset.java +0 -24
  186. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestCompositionIdentity.java +0 -25
  187. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestExcludedInput.java +0 -22
  188. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestIncludedSource.java +0 -22
  189. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestRedirect.java +0 -24
  190. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestRoute.java +0 -28
  191. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestSourceIdentity.java +0 -26
  192. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestManifestValidationEvidence.java +0 -22
  193. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestMeasurement.java +0 -20
  194. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestPackageIdentity.java +0 -22
  195. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestRenderPolicyIdentity.java +0 -20
  196. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestReproducibleBuildRecord.java +0 -56
  197. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestWorkflowCarrierEvidence.java +0 -26
  198. package/generated/java/src/main/java/io/gala/schema/generated/model/ArtifactManifestWorkflowFileEvidence.java +0 -26
  199. package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorDocument.java +0 -33
  200. package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorExtensionMap.java +0 -15
  201. package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorLocalizedAuthor.java +0 -20
  202. package/generated/java/src/main/java/io/gala/schema/generated/model/AuthorSocialLink.java +0 -19
  203. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputAdapterIdentity.java +0 -20
  204. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputAppearanceNormalized.java +0 -33
  205. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputAuthorNormalized.java +0 -31
  206. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputBuildPackages.java +0 -25
  207. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputColorMode.java +0 -19
  208. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputContentBuildRecord.java +0 -33
  209. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputContentFrontmatterNormalized.java +0 -44
  210. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputDestinationCapabilityProfile.java +0 -20
  211. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputDocument.java +0 -51
  212. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputLocalizedAuthor.java +0 -20
  213. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputModuleBuildSelection.java +0 -15
  214. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputNavigationItem.java +0 -23
  215. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputNavigationLeaf.java +0 -22
  216. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputNavigationNormalized.java +0 -21
  217. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputPackageIdentity.java +0 -22
  218. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputPublicationNormalized.java +0 -39
  219. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputRenderPolicyIdentity.java +0 -20
  220. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputRenderableBody.java +0 -26
  221. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputRepositorySnapshot.java +0 -22
  222. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputResolvedFile.java +0 -18
  223. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputResolvedMedia.java +0 -20
  224. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputSemanticTokens.java +0 -15
  225. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildInputSocialLink.java +0 -19
  226. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceActionPinEvidence.java +0 -20
  227. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceArtifactLicenseConclusion.java +0 -21
  228. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceAssertedWorkload.java +0 -44
  229. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceBuildSandboxEvidence.java +0 -38
  230. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceDocument.java +0 -69
  231. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceFinding.java +0 -22
  232. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestAsset.java +0 -24
  233. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestCompositionIdentity.java +0 -25
  234. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestExcludedInput.java +0 -22
  235. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestIncludedSource.java +0 -22
  236. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestRedirect.java +0 -24
  237. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestRoute.java +0 -28
  238. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestSourceIdentity.java +0 -26
  239. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceManifestValidationEvidence.java +0 -22
  240. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceMeasurement.java +0 -20
  241. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenancePackageIdentity.java +0 -22
  242. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceRenderPolicyIdentity.java +0 -20
  243. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceReproducibleBuildRecord.java +0 -56
  244. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceWorkflowCarrierEvidence.java +0 -26
  245. package/generated/java/src/main/java/io/gala/schema/generated/model/BuildProvenanceWorkflowFileEvidence.java +0 -26
  246. package/generated/java/src/main/java/io/gala/schema/generated/model/ContentFrontmatterDocument.java +0 -50
  247. package/generated/java/src/main/java/io/gala/schema/generated/model/ContentFrontmatterExtensionMap.java +0 -15
  248. package/generated/java/src/main/java/io/gala/schema/generated/model/ContentFrontmatterMediaRef.java +0 -20
  249. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationBasis.java +0 -20
  250. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationDetectionObservation.java +0 -33
  251. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationDetectionPlan.java +0 -44
  252. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentActivationDetectionProbe.java +0 -52
  253. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentAdapterIdentity.java +0 -20
  254. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentCancellationFinalizationEvidence.java +0 -41
  255. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDeadlineFinalizationEvidence.java +0 -39
  256. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDeadlineFinalizationStream.java +0 -22
  257. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDeploymentPolicyDecision.java +0 -75
  258. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDestinationIdentity.java +0 -25
  259. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDestinationMutationAuthority.java +0 -36
  260. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDestinationProviderCoordinates.java +0 -19
  261. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentDocument.java +0 -136
  262. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentExpectedRedirectHop.java +0 -23
  263. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentObservedVerificationHeader.java +0 -19
  264. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPackageIdentity.java +0 -22
  265. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesInterveningRunAttempt.java +0 -20
  266. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesReconciliationCommand.java +0 -48
  267. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesReconciliationRecovery.java +0 -41
  268. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPagesRunAttemptGapProof.java +0 -27
  269. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPublicGenerationMarkerPayload.java +0 -24
  270. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentPublicProbeObservation.java +0 -54
  271. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentRecognizedPriorRouteContract.java +0 -30
  272. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentRenderPolicyIdentity.java +0 -20
  273. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentReproducibleBuildRecord.java +0 -56
  274. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentSupersessionFinalizationEvidence.java +0 -45
  275. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentVerificationHeaderExpectation.java +0 -18
  276. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentIntentVerificationPlanTarget.java +0 -52
  277. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationActivationDetectionObservation.java +0 -33
  278. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationActivationDetectionProbe.java +0 -52
  279. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationAdapterIdentity.java +0 -20
  280. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationCancellationFinalizationEvidence.java +0 -41
  281. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDeadlineFinalizationEvidence.java +0 -39
  282. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDeadlineFinalizationStream.java +0 -22
  283. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDestinationIdentity.java +0 -25
  284. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDestinationProviderCoordinates.java +0 -19
  285. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationDocument.java +0 -57
  286. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationExpectedRedirectHop.java +0 -23
  287. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationObservedVerificationHeader.java +0 -19
  288. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationPackageIdentity.java +0 -22
  289. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationPublicProbeObservation.java +0 -54
  290. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationRecognizedPriorRouteContract.java +0 -30
  291. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationRenderPolicyIdentity.java +0 -20
  292. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationSupersessionFinalizationEvidence.java +0 -45
  293. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationVerificationHeaderExpectation.java +0 -18
  294. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentObservationVerificationPlanTarget.java +0 -52
  295. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationBasis.java +0 -20
  296. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationDetectionObservation.java +0 -33
  297. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationDetectionPlan.java +0 -44
  298. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptActivationDetectionProbe.java +0 -52
  299. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptAdapterIdentity.java +0 -20
  300. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptCancellationFinalizationEvidence.java +0 -41
  301. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeadlineFinalizationEvidence.java +0 -39
  302. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeadlineFinalizationStream.java +0 -22
  303. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentAttempt.java +0 -38
  304. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentFailure.java +0 -24
  305. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentObservation.java +0 -53
  306. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentPolicyDecision.java +0 -75
  307. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageEvidence.java +0 -36
  308. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageInput.java +0 -26
  309. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageObservationEvidenceReference.java +0 -18
  310. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDeploymentStageResult.java +0 -31
  311. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDestinationIdentity.java +0 -25
  312. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDestinationMutationAuthority.java +0 -36
  313. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDestinationProviderCoordinates.java +0 -19
  314. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptDocument.java +0 -105
  315. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptExpectedRedirectHop.java +0 -23
  316. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptFinding.java +0 -22
  317. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptObservedVerificationHeader.java +0 -19
  318. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPackageIdentity.java +0 -22
  319. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesInterveningRunAttempt.java +0 -20
  320. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesReconciliationCommand.java +0 -48
  321. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesReconciliationRecovery.java +0 -41
  322. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPagesRunAttemptGapProof.java +0 -27
  323. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPublicGenerationMarkerPayload.java +0 -24
  324. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptPublicProbeObservation.java +0 -54
  325. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptRecognizedPriorRouteContract.java +0 -30
  326. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptRenderPolicyIdentity.java +0 -20
  327. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptReproducibleBuildRecord.java +0 -56
  328. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptSupersessionFinalizationEvidence.java +0 -45
  329. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptVerificationHeaderExpectation.java +0 -18
  330. package/generated/java/src/main/java/io/gala/schema/generated/model/DeploymentReceiptVerificationPlanTarget.java +0 -52
  331. package/generated/java/src/main/java/io/gala/schema/generated/model/EventEnvelopeDocument.java +0 -46
  332. package/generated/java/src/main/java/io/gala/schema/generated/model/EventEnvelopeRegisteredEventPayload.java +0 -26
  333. package/generated/java/src/main/java/io/gala/schema/generated/model/LockDependencyEdge.java +0 -18
  334. package/generated/java/src/main/java/io/gala/schema/generated/model/LockDocument.java +0 -39
  335. package/generated/java/src/main/java/io/gala/schema/generated/model/LockLockedPackage.java +0 -26
  336. package/generated/java/src/main/java/io/gala/schema/generated/model/LockLockedTemplate.java +0 -28
  337. package/generated/java/src/main/java/io/gala/schema/generated/model/LockPackageIdentity.java +0 -22
  338. package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationDocument.java +0 -25
  339. package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationExtensionMap.java +0 -15
  340. package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationNavigationItem.java +0 -23
  341. package/generated/java/src/main/java/io/gala/schema/generated/model/NavigationNavigationLeaf.java +0 -23
  342. package/generated/java/src/main/java/io/gala/schema/generated/model/ProblemDocument.java +0 -37
  343. package/generated/java/src/main/java/io/gala/schema/generated/model/ProblemFieldError.java +0 -18
  344. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicGenerationMarkerDocument.java +0 -24
  345. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicRuntimeOriginsDocument.java +0 -44
  346. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationDocument.java +0 -41
  347. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationExtensionMap.java +0 -15
  348. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationFooterCard.java +0 -23
  349. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationPublicationProfile.java +0 -18
  350. package/generated/java/src/main/java/io/gala/schema/generated/model/PublicationSocialLink.java +0 -19
  351. package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryAssetRoot.java +0 -16
  352. package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryContentRoot.java +0 -23
  353. package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryDocument.java +0 -41
  354. package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryExtensionMap.java +0 -15
  355. package/generated/java/src/main/java/io/gala/schema/generated/model/RepositoryGeneratedRoot.java +0 -20
  356. package/generated/java/src/main/java/io/gala/schema/generated/model/TemplateCompositionDocument.java +0 -18
  357. package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractDocument.java +0 -53
  358. package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractPassiveAsset.java +0 -24
  359. package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractThemeBudgets.java +0 -20
  360. package/generated/java/src/main/java/io/gala/schema/generated/model/ThemeContractThemeToken.java +0 -22
  361. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/adapter-capability.schema.json +0 -2689
  362. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/appearance.schema.json +0 -226
  363. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/artifact-manifest.schema.json +0 -1063
  364. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/author.schema.json +0 -231
  365. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/build-input.schema.json +0 -866
  366. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/build-provenance.schema.json +0 -937
  367. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/content-frontmatter.schema.json +0 -241
  368. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/deployment-intent.schema.json +0 -2067
  369. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/deployment-observation.schema.json +0 -1654
  370. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/deployment-receipt.schema.json +0 -5546
  371. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/event-envelope.schema.json +0 -195
  372. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/lock.schema.json +0 -326
  373. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/navigation.schema.json +0 -229
  374. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/problem.schema.json +0 -194
  375. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/public-generation-marker.schema.json +0 -142
  376. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/public-runtime-origins.schema.json +0 -183
  377. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/publication.schema.json +0 -248
  378. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/repository.schema.json +0 -219
  379. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/template-composition.schema.json +0 -133
  380. package/generated/java/src/main/resources/io/gala/schema/generated/schemas/theme-contract.schema.json +0 -850
  381. package/generated/typescript/validator-core.cjs +0 -17
  382. package/openapi/generator/spring.json +0 -22
  383. package/openapi/generator/typescript-fetch.json +0 -19
  384. package/openapi/source/authentication.yaml +0 -557
  385. package/openapi/source/callbacks.yaml +0 -332
  386. package/openapi/source/components.yaml +0 -5670
  387. package/openapi/source/github.yaml +0 -351
  388. package/openapi/source/internal.yaml +0 -71
  389. package/openapi/source/membership-invitations.yaml +0 -203
  390. package/openapi/source/organizations.yaml +0 -11144
  391. package/openapi/source/root.yaml +0 -20
  392. package/openapi/source/self.yaml +0 -1940
  393. package/openapi/source/session.yaml +0 -308
  394. package/openapi/source/workloads.yaml +0 -744
  395. package/src/internal/build-artifact-semantics.js +0 -4391
  396. package/src/internal/deployment-record-semantics.js +0 -7567
  397. package/src/internal/deployment-stage-semantics.js +0 -1207
  398. package/src/internal/http-problem-contract.js +0 -35
  399. package/src/internal/managed-evidence-journal.js +0 -160
  400. package/src/internal/public-runtime-origins.js +0 -143
  401. package/src/internal/theme-composition-semantics.js +0 -2441
  402. package/types/internal/build-artifact-semantics.d.ts +0 -77
  403. package/types/internal/deployment-record-semantics.d.ts +0 -313
  404. package/types/internal/deployment-stage-semantics.d.ts +0 -108
  405. package/types/internal/http-problem-contract.d.ts +0 -4
  406. package/types/internal/managed-evidence-journal.d.ts +0 -26
  407. package/types/internal/public-runtime-origins.d.ts +0 -22
  408. package/types/internal/theme-composition-semantics.d.ts +0 -143
package/README.md CHANGED
@@ -10,10 +10,39 @@ contracts, the eleven composition/build/deployment contracts (SCHEMA-2.10.0 adds
10
10
  `build-provenance`, `urn:gala:metadata:build-provenance:2.0.0`, a pure addition
11
11
  nested identically at `artifact-manifest`'s internal `#/$defs/buildProvenance`
12
12
  and published standalone for direct validation), and the three platform
13
- contracts (`problem`, `event-envelope`, and `public-runtime-origins`). Every
14
- root embeds the identical complete 20-scalar `$defs` library. The package also
15
- carries the deterministic full valid, boundary, invalid-with-code,
16
- unknown-field, and adversarial fixture corpus. S0-T03 owns the internal semantic
13
+ contracts (`problem`, `event-envelope`, and `public-runtime-origins`).
14
+
15
+ **URN namespace rule (SCH-M8):** every root's `$id` is
16
+ `urn:gala:schema:<contract>:2.0.0` except `build-provenance`, which is
17
+ `urn:gala:metadata:<contract>:2.0.0`. `urn:gala:metadata:` is for a root whose
18
+ canonical home is as a record _embedded in_ another root's envelope
19
+ (`build-provenance` is `artifact-manifest`'s `#/$defs/buildProvenance`,
20
+ published standalone only so the API can validate the record directly at the
21
+ workload boundary) and that is published standalone purely as a secondary,
22
+ already-embedded convenience -- not for every root that happens to describe
23
+ metadata-shaped content in general (`artifact-manifest` itself is
24
+ metadata-shaped too, and stays `urn:gala:schema:`, because it has no other
25
+ root's envelope it is first and foremost a member of).
26
+ `src/internal/validator-core.js` special-cases this one root's namespace at
27
+ `contractFromSchemaId`; the next metadata-shaped root should apply this same
28
+ test before picking a namespace, so the exception does not grow without a rule
29
+ behind it. Every `$defs` name shared by more than one root is byte-identical
30
+ everywhere it appears (`npm run schemas:shared-defs:check`, SCH-C3); a name
31
+ whose meaning deliberately differs by root role is not shared -- it gets a
32
+ distinct name instead (`authoredAdapterIdentity` vs. `adapterIdentity`,
33
+ `manifestRenderPolicyIdentity` vs. `recordRenderPolicyIdentity`). The package
34
+ also carries the deterministic full valid, boundary, invalid-with-code,
35
+ unknown-field, and adversarial fixture corpus. Of the adversarial corpus's
36
+ fourteen categories, four (`path-traversal`, `reserved-extension-keys`,
37
+ `unknown-schema-major`, `unsafe-urls`) are enforced by the shipped validator
38
+ itself and are asserted against `validateGalaDocument`/`validateGalaFormat`, not
39
+ a test-only reimplementation; the other ten document a _consumer's_
40
+ responsibility (render-time sanitization, filesystem resolution, a real
41
+ repository's file listing, YAML parser configuration, and the like) that no JSON
42
+ Schema validator operating on one already-parsed instance value can decide on
43
+ its own -- see `scripts/validator-parity.mjs`'s
44
+ `CONTRACT_LEVEL_ADVERSARIAL_CATEGORIES`/`CONSUMER_LEVEL_ADVERSARIAL_CATEGORIES`
45
+ for the exact split and the reason for each. S0-T03 owns the internal semantic
17
46
  validators and active domain-separated digest profiles required by DEC-097
18
47
  through DEC-099; S0-T04 adds DEC-100 through DEC-102. S0-T05 exposes the
19
48
  fail-closed `validateGalaDocument` API and validates the complete committed
@@ -24,42 +53,42 @@ committed exact-result snapshot rejects mutually shared extra diagnostics. The
24
53
  same gate also executes 1,995 shared DEC-099 scalar vectors, including all 766
25
54
  pinned Unicode 17 grapheme-conformance rows, and raw RFC 8785 number and string
26
55
  spellings that have not first been normalized by Node. S0-T06 generates strict
27
- TypeScript root types and validators plus Java 21 records and Networknt registry
28
- wiring for the exact 20 roots. The schema inventory adds the separately owned
29
- OpenAPI contract as the twenty-first identity, and the compatibility catalog
30
- closes 46 initial producer/consumer pairings. Both catalogs carry DEC-091's
31
- domain-separated `sourceDesignRevision`. S0-T07 materializes the reviewed
32
- OpenAPI 3.1 source fragments, deterministic bundle, and digest-bound HTTP
33
- catalog for exactly 75 MVP operations plus `/internal/health` (76 catalog rows;
34
- 71 at S0-T07, plus the two SCHEMA-2.8.0 reads and the two SCHEMA-2.10.0
35
- publication-destination reads/writes). The bundle includes the accepted DEC-097
36
- receipt-exchange and deployment-receipt amendments and serializes the fixed
37
- OpenAPI Generator 7.25.0 option sets. Every operation also declares its tenant
38
- scope, lifecycle and activation guards, maps every reachable problem, and
39
- carries schema-validated nominal and problem examples. S0-T08 projects the exact
40
- 19 admitted transition families into 77 independently identified event actions
41
- (SCHEMA-2.11.0 adds the `github_installation` family so the worker-only
42
- compare-and-set writer can retire into the sole aggregate gateway). Each action
43
- binds its aggregate and organization or publication scope, exact
44
- predecessor/target states, the closed DEC-101 payload, the transactional outbox
45
- producer, and a non-empty registered consumer set. S5-T00 materializes document
46
- 07's closed 15-component App semantic catalog and document 14's 20-entry MVP App
47
- route registry (S5 brief section 4) as `docs/catalogs/app-components.json` and
48
- `docs/catalogs/app-routes.json`, with every `apiOperationIds` entry validated
49
- against `openapi/openapi.yaml`, every `componentIds`/`contentKeyIds` entry
50
- validated against the component catalog, and `capabilityKeys` projected from
51
- `openapi/http-catalog.json`. S4-T01 adds the separately generated `fixtures/s4/`
52
- deployment/certification consumer-fixture family (deployment-intent,
53
- deployment-observation, deployment-receipt, public-generation-marker, and
54
- adapter-capability rows for `local-directory`, `github-pages`, and `do-spaces`)
55
- alongside the existing `fixtures/s2/` family, each with its own manifest.
56
- LOCAL-21 admits a 21st App route, `/invitations/accept` (`routeId`
57
- `invitations.accept`), an ordinary `SESSION_REQUIRED` `APP` route (not
58
- `TRANSACTIONAL_LINK`: it is served by the App origin after sign-in, unlike the
59
- deferred `/t/**` template family) that calls
60
- `postMembershipInvitationsByTokenAccept`; its non-enumerating failure states
61
- collapse onto that operation's single declared `INVALID_SOURCE_STATE` problem,
62
- which covers an expired, already-used or unknown token alike.
56
+ TypeScript root types and validators for the exact 20 roots (the codegen path
57
+ also generated a Java 21 records/Networknt registry tree until SCH-C4/SCH-H5
58
+ removed it as unconsumed -- see "Package layout"). The schema inventory adds the
59
+ separately owned OpenAPI contract as the twenty-first identity and carries
60
+ DEC-091's domain-separated `sourceDesignRevision`. S0-T07 materializes the
61
+ reviewed OpenAPI 3.1 source fragments, deterministic bundle, and digest-bound
62
+ HTTP catalog for exactly 76 MVP operations plus `/internal/health` (77 catalog
63
+ rows; 71 at S0-T07, plus the two SCHEMA-2.8.0 reads, the two SCHEMA-2.10.0
64
+ publication-destination reads/writes, and the SCHEMA-2.13.0 repository create).
65
+ The bundle includes the accepted DEC-097 receipt-exchange and deployment-receipt
66
+ amendments and serializes the fixed OpenAPI Generator 7.25.0 option sets. Every
67
+ operation also declares its tenant scope, lifecycle and activation guards, maps
68
+ every reachable problem, and carries schema-validated nominal and problem
69
+ examples. S0-T08 projects the exact 19 admitted transition families into 77
70
+ independently identified event actions (SCHEMA-2.11.0 adds the
71
+ `github_installation` family so the worker-only compare-and-set writer can
72
+ retire into the sole aggregate gateway). Each action binds its aggregate and
73
+ organization or publication scope, exact predecessor/target states, the closed
74
+ DEC-101 payload, the transactional outbox producer, and a non-empty registered
75
+ consumer set. S5-T00 materializes document 07's closed 15-component App semantic
76
+ catalog and document 14's 20-entry MVP App route registry (S5 brief section 4)
77
+ as `docs/catalogs/app-components.json` and `docs/catalogs/app-routes.json`, with
78
+ every `apiOperationIds` entry validated against `openapi/openapi.yaml`, every
79
+ `componentIds`/`contentKeyIds` entry validated against the component catalog,
80
+ and `capabilityKeys` projected from `openapi/http-catalog.json`. S4-T01 adds the
81
+ separately generated `fixtures/s4/` deployment/certification consumer-fixture
82
+ family (deployment-intent, deployment-observation, deployment-receipt,
83
+ public-generation-marker, and adapter-capability rows for `local-directory`,
84
+ `github-pages`, and `do-spaces`) alongside the existing `fixtures/s2/` family,
85
+ each with its own manifest. LOCAL-21 admits a 21st App route,
86
+ `/invitations/accept` (`routeId` `invitations.accept`), an ordinary
87
+ `SESSION_REQUIRED` `APP` route (not `TRANSACTIONAL_LINK`: it is served by the
88
+ App origin after sign-in, unlike the deferred `/t/**` template family) that
89
+ calls `postMembershipInvitationsByTokenAccept`; its non-enumerating failure
90
+ states collapse onto that operation's single declared `INVALID_SOURCE_STATE`
91
+ problem, which covers an expired, already-used or unknown token alike.
63
92
 
64
93
  SCHEMA-2.7.1 (LOCAL-50) adds the optional operation-level vendor extension
65
94
  `x-gala-conditional-capability-keys`: an array of `{capabilityKey, condition}`
@@ -152,7 +181,8 @@ Pages-conditional `required` set (deploy-phase evidence the artifact-build step
152
181
  produces after authorization, not before), and the schema description states
153
182
  that the intent's `capabilityDecisionDigest` is computed over the issuance-phase
154
183
  record only -- a `required`-set relaxation on a record root is MINOR, not MAJOR,
155
- under this package's stated compatibility policy (every 2.9.x-valid
184
+ under this package's stated compatibility policy (`docs/COMPATIBILITY.md`,
185
+ mechanically enforced by `npm run compatibility:check`; every 2.9.x-valid
156
186
  `capabilityDecision` record, Pages included, stays valid, since 2.9.x always
157
187
  supplied both fields where 2.10.0 now only asks for them optionally). The
158
188
  package adds its twentieth JSON Schema root, `build-provenance`
@@ -197,7 +227,7 @@ server-derived members. `destinationIdentity` gains an optional closed
197
227
  it has always answered, `repository-changes:plan` names the two digests its
198
228
  confirm is fenced on, and no `format: date-time` member in the bundle carries a
199
229
  `pattern` any longer -- a generated `OffsetDateTime` cannot carry one, and the
200
- requirement moves into each member's description while the nineteen JSON Schema
230
+ requirement moves into each member's description while all twenty JSON Schema
201
231
  roots keep enforcing it. Two reads join the contract --
202
232
  `GET .../publications/{publicationId}/reviews` (keyset, optional `state` filter,
203
233
  rows of the new `ReviewSummary`, which the single review read is now defined as)
@@ -256,7 +286,6 @@ npm run events:generate
256
286
  npm run events:check
257
287
  npm run app-catalogs:generate
258
288
  npm run app-catalogs:check
259
- npm run compatibility:check
260
289
  npm run licenses:check
261
290
  npm run sbom:check
262
291
  npm run browser-safety:check
@@ -264,33 +293,59 @@ npm pack --dry-run
264
293
  ```
265
294
 
266
295
  `npm run verify` checks deterministic schema, diagnostic-map, exact parity
267
- expectation, generated TypeScript/Java, schema-inventory, and compatibility
268
- generation; verifies the deterministic OpenAPI bundle/catalog; builds
269
- declarations; and runs formatting, lint, type, architecture, duplication,
270
- workflow-pin, test, full cross-language parity, license, SBOM, and critical
271
- vulnerability gates. `codegen:check` performs two isolated clean builds and
272
- requires both generated trees and the committed tree to be byte-identical.
296
+ expectation, and generated TypeScript/Java/schema-inventory generation; verifies
297
+ the deterministic OpenAPI bundle/catalog; builds declarations; and runs
298
+ formatting, lint, type, architecture, duplication, workflow-pin, test, full
299
+ cross-language parity, license, SBOM, and critical vulnerability gates.
300
+ `codegen:check` performs two isolated clean builds and requires both generated
301
+ trees and the committed tree to be byte-identical.
302
+
303
+ ## CI and Dependabot
304
+
305
+ `ci.yml` runs on every pull request and on push to `main`. A pull request opened
306
+ by `dependabot[bot]` runs no CI job by default -- every job needs a `gate` job
307
+ whose condition skips it for that actor. To run CI on a Dependabot PR anyway
308
+ (for example, before merging it by hand), add the `ci:run` label to the pull
309
+ request and re-run the workflow.
273
310
 
274
311
  ### Browser safety
275
312
 
276
313
  The `.` export (`validateGalaDocument`/`GALA_SCHEMA_IDS`, `src/index.js`) is
277
314
  consumed at runtime by the App's Vite dev/build pipeline, so it must run in a
278
- browser: no `node:*` import, and no `Buffer`/`process` reference, may be
279
- reachable from it. Two gates enforce this:
315
+ browser: no `node:*` import, no `Buffer`/`process` reference, and no
316
+ `eval()`/`Function()`/non-literal dynamic `import()` may be reachable from it.
317
+
318
+ Both `.` and `./runtime-origins` bind precompiled Ajv standalone ESM validators
319
+ (`generated/browser/validator-core.mjs` and
320
+ `generated/browser/runtime-origins-validator-core.mjs`, from
321
+ `codegen/generate-contracts.ts`'s `generateBrowserValidatorCore`), with real
322
+ Gala format and `x-gala-*` keyword semantics compiled directly into the
323
+ generated validator functions' source. Neither export calls `ajv.compile()` or
324
+ otherwise invokes `new Function()` at import or at validation time, so a
325
+ consumer does not need `'unsafe-eval'` in its Content-Security-Policy to load or
326
+ use either export. `src/internal/schema-validator.js` still builds a real,
327
+ runtime-compiled Ajv registry, but only `scripts/validator-parity.mjs` (the
328
+ Node-only fixture and cross-language parity tooling) uses it.
329
+
330
+ Two gates enforce browser safety:
280
331
 
281
332
  - `npm run browser-safety:check` (`scripts/check-browser-safety.mjs`, wired into
282
333
  `npm run build`/`npm run verify`) statically walks the `.`,
283
- `./runtime-origins` and `./digest-profiles` exports' import graphs and fails
284
- on any reachable Node-builtin import or `Buffer`/`process` reference. The same
285
- walk weighs each entry point's package-owned module closure — the reachable
286
- `.js` sources plus the `.json` documents they import, which is what a bundler
287
- inlines — and fails `./runtime-origins` if it exceeds its declared
288
- 1,250,000-byte cap. `./generated/typescript` is a declared export subpath but
289
- is intentionally excluded from this walk: it is generated output that loads a
290
- CommonJS structural-validator core via `node:module`'s `createRequire`, and
291
- every consumer today reaches it only through `import type` (erased at compile
292
- time, never entering a runtime browser bundle) — making that subpath itself
293
- browser-safe is a separate codegen change.
334
+ `./runtime-origins` and `./digest-profiles` exports' import graphs (`.js`,
335
+ `.mjs` and `.json` files alike) and fails on any reachable Node-builtin
336
+ import, `Buffer`/`process` reference, `eval()`/`Function()`/`new Function()`
337
+ call, or dynamic `import()` with a non-literal specifier. The same walk weighs
338
+ each entry point's package-owned module closure — the reachable sources plus
339
+ the `.json` documents they import, which is what a bundler inlines — and fails
340
+ `./runtime-origins` if it exceeds its declared 1,250,000-byte cap.
341
+ `./generated/typescript` is a declared export subpath but is intentionally
342
+ excluded from this walk: `validateGeneratedDocument` now delegates directly to
343
+ `.`'s exact precompiled validator (SCH-M5, no more CommonJS structural core,
344
+ no more `node:module`'s `createRequire`), so its runtime is already plain ESM
345
+ with no reachable Node builtin, but every consumer today reaches it only
346
+ through `import type` (erased at compile time, never entering a runtime
347
+ browser bundle), so it has no declared closure byte cap yet — that is a
348
+ follow-up once a real runtime consumer exists.
294
349
  - `npm test` (via `test/browser-smoke.test.js`) spawns
295
350
  `scripts/browser-smoke.mjs` under `node --experimental-vm-modules`, which
296
351
  links the real `.` export's ESM source inside a genuine jsdom-realm `vm`
@@ -304,10 +359,14 @@ reachable from it. Two gates enforce this:
304
359
  (browser-safe byte helpers) and `src/internal/sha256.js` (a pure-JS synchronous
305
360
  SHA-256, verified byte-identical to `node:crypto`'s `createHash('sha256')`,
306
361
  needed because `crypto.subtle.digest` is Promise-only and many call sites here
307
- are synchronous). Modules not reachable from `.` (`frozen-envelope.js`,
308
- `build-artifact-semantics.js`, `theme-composition-semantics.js`,
309
- `deployment-record-semantics.js`) remain Node-only and keep using
310
- `node:*`/`Buffer` freely.
362
+ are synchronous). `frozen-envelope.js` (a real export, Node-only by design) is
363
+ not reachable from `.` and keeps using `node:*`/`Buffer` freely; the
364
+ DEC-097/098/099 semantic validators (`build-artifact-semantics.js`,
365
+ `theme-composition-semantics.js`, `deployment-record-semantics.js`,
366
+ `deployment-stage-semantics.js`, `managed-evidence-journal.js`) have no export
367
+ at all and live in `scripts/internal-semantics/` (SCH-H6), not `src/`, so they
368
+ are Node-only repository tooling by construction rather than shipped product
369
+ code that happens to be unreachable.
311
370
 
312
371
  The public package API is intentionally small:
313
372
 
@@ -406,30 +465,56 @@ remediation, and documentation URL fields without including authored values.
406
465
  ## Package layout
407
466
 
408
467
  - `src/` — JavaScript ESM runtime package surface, checked from JSDoc;
409
- `index.js` is the 19-contract `.` export and `runtime-origins.js` the narrow
410
- single-contract browser export, both bound through
411
- `internal/validator-core.js`; `digest-profiles.js` is the read-only
468
+ `index.js` is the twenty-contract `.` export (through
469
+ `internal/browser-schema-validator.js`) and `runtime-origins.js` the narrow
470
+ single-contract browser export, both bound to precompiled standalone
471
+ validators (SCH-C2) through `internal/validator-core.js`'s
472
+ `createPrecompiledValidatorSuite`; `internal/schema-validator.js` is the
473
+ separate runtime-compiled (`ajv.compile()`) registry used only by the
474
+ Node-only fixture and parity tooling; `digest-profiles.js` is the read-only
412
475
  `./digest-profiles` re-export of `internal/digest-profiles.js`;
413
476
  `frozen-envelope.js` is the Node-only `./frozen-envelope` re-export of
414
477
  `internal/frozen-envelope.js`.
415
478
  - `types/` — declaration output emitted from `src/`.
416
- - `schemas/` — 19 committed Draft 2020-12 contracts.
479
+ - `schemas/` — 20 committed Draft 2020-12 contracts.
480
+ - `compatibility/baseline-schemas/` — the last-released `schemas/*.schema.json`,
481
+ refreshed only at release time (`npm run compatibility:baseline:update`);
482
+ `npm run compatibility:check` diffs the current committed schemas against it
483
+ and fails on a breaking change per `docs/COMPATIBILITY.md` (SCH-C5).
417
484
  - `diagnostics/` — generated shared rule-to-diagnostic normalization map, its
418
485
  per-contract narrow projections (today `public-runtime-origins`, for the
419
- narrow browser export), and the exact whole-result parity snapshot.
486
+ narrow browser export), and `parity-expectations.json` (SCH-M17): the
487
+ JS-computed expected result for every parity case. `npm run parity:check`
488
+ (which spawns the Java harness) diffs the Java-computed actual result against
489
+ this file, which is genuine cross-language evidence. Plain `npm test` never
490
+ spawns Java, so `test/t05-parity-corpus.test.js`'s use of the same file is a
491
+ same-language regression snapshot -- JS re-checked against its own prior
492
+ committed output -- not cross-language coverage by itself; do not read a green
493
+ fast test suite as proof of Java parity.
420
494
  - `examples/valid/` — canonical valid roots and rule-level accepted vectors.
495
+ Exported as `./examples/*` (SCH-H7): the sibling `template` repo already
496
+ resolved this directory by walking the installed package, so this declares the
497
+ contract that already existed instead of leaving it undeclared.
421
498
  - `fixtures/` — boundary, invalid-with-code, unknown-field, and adversarial
422
499
  vectors plus their coverage manifest; `fixtures/s2/` and `fixtures/s4/` are
423
500
  separately bound, generated consumer-fixture families with their own
424
- manifests.
501
+ manifests. Exported as `./fixtures/*` (SCH-H7), for the same reason.
425
502
  - `codegen/` — TypeScript deterministic generator and the hash-bound DEC-091
426
503
  design manifest reconstructed from the accepted merged design snapshot.
427
- - `generated/typescript/` — strict root types and ESM API around the deliberate
428
- Ajv standalone CommonJS structural core.
429
- - `generated/java/` — Java 21 root/nested records, exact schema resources, and
430
- Networknt registry wiring for a caller-supplied Gala semantic dialect.
431
- - `docs/catalogs/schema-inventory.json` — exact 19 JSON Schema roots plus the
504
+ - `generated/browser/` — the real Ajv standalone ESM validator cores `.` and
505
+ `./runtime-origins` bind (SCH-C2): real Gala format and `x-gala-*` keyword
506
+ semantics compiled directly into the generated functions' source, no runtime
507
+ `ajv.compile()`.
508
+ - `generated/typescript/` — strict root types and an ESM API
509
+ (`validateGeneratedDocument`) that delegates directly to the `.` export's
510
+ exact precompiled validator; it no longer also runs a separate, weaker
511
+ standalone structural core in parallel (SCH-M5) -- that used a second 2.73 MB
512
+ Ajv standalone CommonJS core whose result could never disagree with the exact
513
+ one, so it added no assertion and doubled the work.
514
+ - `docs/catalogs/schema-inventory.json` — exact 20 JSON Schema roots plus the
432
515
  materialized OpenAPI identity.
516
+ - `docs/COMPATIBILITY.md` — the compatibility policy `compatibility:check`
517
+ enforces mechanically.
433
518
  - `catalog-sources/internal-event-actions.json` — reviewed 19-family transition,
434
519
  aggregate, scope, producer, and consumer source ledger.
435
520
  - `docs/catalogs/internal-event-actions.json` — generated digest-bound catalog
@@ -447,20 +532,43 @@ remediation, and documentation URL fields without including authored values.
447
532
  validated against `openapi/openapi.yaml`, and `capabilityKeys` projected from
448
533
  `openapi/http-catalog.json`.
449
534
  - `openapi/source/` — reviewed, complete OpenAPI root, component, and path
450
- fragments grouped by the first literal resource token.
451
- - `openapi/openapi.yaml` — deterministic OpenAPI 3.1 bundle for the exact 73 MVP
535
+ fragments grouped by the first literal resource token. A build input, not part
536
+ of the npm payload (SCH-H7: `!openapi/source/` in `package.json`'s `files`) --
537
+ a consumer reads the materialized `openapi/openapi.yaml` instead.
538
+ - `openapi/openapi.yaml` — deterministic OpenAPI 3.1 bundle for the exact 76 MVP
452
539
  operations plus health.
453
540
  - `openapi/http-catalog.json` — generated digest-bound method/path/purpose and
454
541
  capability inventory, including `conditionalCapabilityKeys` (SCHEMA-2.7.1) and
455
542
  the per-operation `assuranceClass`/`actionGrant` pair (SCHEMA-2.8.0); it is
456
543
  not a parallel transport authority.
457
544
  - `openapi/generator/` — serialized Spring and TypeScript Fetch options for
458
- OpenAPI Generator 7.25.0.
459
- - `compatibility/` — closed compatibility schema and the executable initial
460
- 21-contract, 46-pairing release authority (SCHEMA-2.10.0).
545
+ OpenAPI Generator 7.25.0. Also a build input excluded from the npm payload
546
+ (SCH-H7).
461
547
  - `scripts/` — repository verification and supply-chain tooling.
462
- - `parity/java/` — test-only checksum-pinned Gradle 8.8/Java 21 Networknt
463
- harness; it is not part of the npm package payload.
548
+ - `scripts/internal-semantics/` — the DEC-097/098/099 semantic validators
549
+ (`build-artifact-semantics.js`, `theme-composition-semantics.js`,
550
+ `deployment-record-semantics.js`, `deployment-stage-semantics.js`,
551
+ `managed-evidence-journal.js`) plus two small build-time helpers
552
+ (`public-runtime-origins.js`, `http-problem-contract.js`); moved out of `src/`
553
+ (SCH-H6) because none of them has a declared export or any consumer outside
554
+ their own `test/t03-*.test.js` and the fixture/OpenAPI generators -- they are
555
+ repository tooling, not shipped product code.
556
+ - `parity/java/` — test-only checksum-pinned Gradle 8.14.5/Java 21 Networknt
557
+ harness; it is not part of the npm package payload. It is also not a Java
558
+ consumer's starting point: a Java consumer of this package generates its own
559
+ request/response types from `openapi/openapi.yaml` (the `api` repository does
560
+ this with the OpenAPI Generator Gradle plugin). A Java consumer that wants
561
+ Ajv-equivalent JSON Schema _validation_, not just generated types, must
562
+ reproduce this harness's own Networknt configuration --
563
+ `formatAssertionsEnabled(true)`, `ECMAScriptRegularExpressionFactory`, and the
564
+ `gala-*` format/`x-gala-*` keyword implementations in
565
+ `parity/java/src/main/java/io/gala/schema/parity/Gala*.java` -- since the
566
+ package does not ship a self-configuring Java registry (SCH-C4/SCH-H5: the
567
+ package previously shipped one, `generated/java/**`, that accepted a
568
+ caller-supplied `SchemaRegistryConfig` and so silently validated weaker than
569
+ Ajv whenever that config omitted this pinning; it had no consumer in any
570
+ sibling repository and was removed rather than fixed, since a Java consumer
571
+ needing this list can read it here).
464
572
  - `parity/*.json` — shared scalar and raw RFC 8785 number inputs consumed by
465
573
  both parity implementations without transmitting expected results to Java;
466
574
  `parity/digest-record-vectors.json` (SCHEMA-2.9.0, shipped and exported) is