Skip to content

core: enforce exact public API signatures - #18

Merged
pzhin merged 1 commit into
mainfrom
codex/exact-public-api-manifest
Aug 22, 2026
Merged

core: enforce exact public API signatures#18
pzhin merged 1 commit into
mainfrom
codex/exact-public-api-manifest

Conversation

@pzhin

@pzhin pzhin commented Aug 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • freeze the complete pre-release public API in a checked-in signature manifest
  • compare public/protected constructors, methods, fields, generic signatures, modifiers, record components, and sealed permitted subclasses
  • apply the same exact check to compiled classes and the published binary JAR
  • document deliberate manifest regeneration and the post-0.1.0 Revapi/japicmp baseline route
  • keep the JavaDoc negative mutation classifier aligned with the exact-signature artifact gate

Verification

  • rebased onto main at 96cd182; the manifest includes the new WeightDomain API and PR reports mergeable=true
  • ./mvnw --batch-mode --no-transfer-progress clean verify on JDK 21: PASS (115 core tests, 5 example tests, artifact verification, coverage, and SpotBugs)
  • tools/verify-javadoc-gate.sh on JDK 25: PASS
  • GitHub Actions CI run #91: PASS, including JDK 17/21/25 on Ubuntu and Windows, JavaDoc negative mutation, jcstress, reproducibility, publication topology, benchmarks, and required-ci

@pzhin
pzhin force-pushed the codex/exact-public-api-manifest branch 2 times, most recently from 60e8c8b to c281a44 Compare August 22, 2026 20:52
Prevent accidental member additions and incompatible signature changes from bypassing the release gates. Keep the pre-release API contract reviewable and make both compiled classes and the published binary fail closed against the same baseline.
@pzhin
pzhin force-pushed the codex/exact-public-api-manifest branch from c281a44 to 2cb6176 Compare August 22, 2026 21:04
@pzhin
pzhin merged commit 287c907 into main Aug 22, 2026
12 checks passed
@pzhin
pzhin deleted the codex/exact-public-api-manifest branch August 22, 2026 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant