Bytecode Compatibility
Patched artifacts preserve the bytecode level of the last released artifact unless an explicit exception is approved.
Structured Requirements
Patched Java artifacts must preserve the bytecode level of the last released artifact unless an exception is approved.
| Check | Severity | Evidence |
|---|---|---|
|
REL-002.CHECK-001 Bytecode level matches the prior released artifact |
blocking | artifact_digest, bytecode_level, reference_artifact |
Requirement
Patch providers MUST guarantee that patched Java artifacts are released at the correct bytecode version.
The bytecode level SHOULD be determined from the last released artifact, not solely from the fork’s build configuration.
Rationale
Old source trees do not always encode the runtime compatibility level that enterprise consumers rely on. Publishing a patch at the wrong bytecode level can break consumers even when source tests pass.
Acceptance check
The working group SHOULD define an automated publish-time check that compares bytecode level against the last released artifact for the same line.
Evidence
Release evidence SHOULD include the bytecode level, how it was determined, and whether the published artifact was checked before release.
Illustrative evidence
See OSERA Commit Evidence for legacy proof-of-concept illustrations. These historical examples do not establish conformance with the ratified pack. Current release examples use the OSERA-SP-0.1.0 naming conventions.