Summary
Make api/aicr/v1/server.yaml an enforced v1 contract: valid, linted, matched to the running handlers, and gated against unintended breaking changes.
v1 scope decision
Freeze the REST contract that AICR actually ships at v1. The baseline must be committed before the v1 tag so the merge gate is enforceable during release preparation.
The gate must account for the documented ADR-022 staged artifact-version transition. Completing the later v0.23 retirement is not a prerequisite for freezing the current supported contract.
Scope
- Decide and document the supported
/v1/* and /v2/* endpoint families, including any deprecation boundary.
- Validate and lint the OpenAPI document in the merge gate.
- Commit the v1 REST baseline and compare changes against it.
- Fail on removed endpoints, removed or narrowed fields, new required request fields, and removed enum values unless an explicitly permitted compatibility transition applies.
- Add spec-to-handler conformance tests in both directions.
- Pin all gate tooling according to the repository's local-equals-CI policy.
Acceptance criteria
Out of scope
Summary
Make
api/aicr/v1/server.yamlan enforced v1 contract: valid, linted, matched to the running handlers, and gated against unintended breaking changes.v1 scope decision
Freeze the REST contract that AICR actually ships at v1. The baseline must be committed before the v1 tag so the merge gate is enforceable during release preparation.
The gate must account for the documented ADR-022 staged artifact-version transition. Completing the later v0.23 retirement is not a prerequisite for freezing the current supported contract.
Scope
/v1/*and/v2/*endpoint families, including any deprecation boundary.Acceptance criteria
.settings.yaml.Out of scope