1.3 KiB
Contract compatibility and rollback rules
The blocking tuple is (buildId, configSchemaVersion, apiContractVersion, assetManifestHash, releaseId). Versions are parsed numerically.
- additive changes preserve current required fields
- breaking changes require a major version bump
- persisted cache is discarded unless an explicit tested migration exists
- an incompatible config or API contract blocks product mount
- rollback restores HTML, assets, runtime config, API compatibility, and release manifest as one coherent set
The current apiContractVersion check proves release/config coherence, not
provider conformance by itself. The target multi-protocol contract set binds
REST/OpenAPI artifacts, GraphQL schema and persisted-operation manifests,
protobuf source/descriptors/codegen profiles, Connect/gRPC-Web provider profiles,
ProtoJSON/HttpRule/generated OpenAPI/gateway artifacts, runtime schema/mapper
registries, and server-state policy digests as defined in
API contract, Schema, Mapper, and Server State.
Browser Protobuf and REST Gateway compatibility is further split in
Protobuf browser transport and REST Gateway;
binary/JSON/HTTP-route compatibility gates are not interchangeable.