feat(api): consolidate versioned API and tagged release contracts - #488
Draft
seonghobae wants to merge 4 commits into
Draft
feat(api): consolidate versioned API and tagged release contracts#488seonghobae wants to merge 4 commits into
seonghobae wants to merge 4 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced Aug 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objective
Replace five parallel API/release contract pull requests with one exact current-main foundation that keeps operation identity, runtime version negotiation, v1 compatibility, byte-exact OpenAPI provenance, and tagged release evidence on the same authority line.
This PR advances issue #315 and release hardening, but does not claim complete route/DTO/schema parity, generated clients, naruon consumer certification, release publication, signing, deployment, or GA completion.
Exact candidate
main@06633a25109c62e24a7015ae04fb9f6e0a246f7e;773230ea6da50dcfe1d9ac4d800c443024c78a62;feat/versioned-api-release-contract-foundation-current-main;Preserved source authorities
The branch preserves the exact current-head source/test blobs from:
operationIdcontract;/api/v1/**runtime version negotiation;No stale ancestry, unrelated shared-file change, predecessor check result, or generated repair artifact was imported.
Integrated repairs
The former #426 and #427 contracts were disconnected: tagged release evidence did not generate or package the OpenAPI provenance record. This candidate repairs that gap.
The tag workflow now:
openapi-release-provenance.jsonfrom exact source SHA and exact OpenAPI bytes;release-manifest.sha256with the JAR, SBOM, license result, POM, source SHA, and tag;test_api_release_contract_foundation.pyadditionally proves the same current OpenAPI bytes satisfy unique operation identity, the checked-in v1 compatibility baseline, and the release provenance digest.Runtime/API invariants
operationId, or removing a documented response is breaking;Queue convergence
#337, #379, #381, #426, and #427 were closed as superseded by this exact current-main implementation owner after their source/test/workflow blobs were preserved. Their checks and reviews remain historical provenance and do not count for this candidate.
Scope boundary
Issue #315 remains open for complete controller/DTO/error/security parity, public schema completeness, generated SDKs, standalone+naruon consumer tests, deprecation/migration policy, event-contract versioning, and release publication/provenance signing.
Verification boundary
The branch was constructed from exact Git blobs because the execution environment could not resolve
github.comfor a local clone. No local Maven/Python result is claimed. Repository exact-head CI, Security Scan, SAST Semgrep, fuzz where emitted, workflow-contract tests, coverage, Javadocs, review threads, and qualifying independent approval are authoritative.Merge gate
Keep Draft until every exact-head required check is terminal-success and all valid findings are resolved. Move to Ready only after the combined API/release contract and full repository acceptance pass. Merge or auto-merge only after a qualifying independent non-author approval covers the unchanged exact head and ordinary protection accepts it. Any head/base movement invalidates prior evidence.