31 lines
1.3 KiB
JSON
31 lines
1.3 KiB
JSON
{
|
|
"api_major_version": "v1",
|
|
"consumer": "dotb-omni",
|
|
"contract_pack_version": "0.1.0",
|
|
"pinning": {
|
|
"consumer_check": "Run Omni consumer tests against the pinned fixtures/ directory",
|
|
"fixture_corpus": "fixtures/",
|
|
"provider_check": "uv run generate-contract-pack --check",
|
|
"required_before_implementation": true,
|
|
"unit": "contract_pack_version_and_ai_platform_git_commit"
|
|
},
|
|
"provider": "ai-platform",
|
|
"upgrade": {
|
|
"breaking": {
|
|
"rule": "Publish a new API major directory and contract pack version; never mutate a pinned pack in place.",
|
|
"verification": "Run provider and consumer fixture validation before changing the Omni pin."
|
|
},
|
|
"compatible_additive": {
|
|
"rule": "Keep the same major version and preserve existing required fields and enum values.",
|
|
"verification": "Validate current fixtures with the previous consumer schema and add a fixture for the new optional field."
|
|
},
|
|
"sequence": [
|
|
"Generate and review artifacts from Pydantic source of truth.",
|
|
"Run provider --check and fixture validation.",
|
|
"Publish the immutable pack and record its AI Platform Git commit.",
|
|
"Update Omni's pin and run consumer validation against the same corpus.",
|
|
"Promote the pin only after sandbox compatibility verification."
|
|
]
|
|
}
|
|
}
|