LocalOutcome.java
package network.ike.plugin.release.local;
/**
* Outcome of the {@link LocalPhase} — the local-only release work
* (POM rewrites, commit, tag, merge to main, post-release bump).
*
* <p>By the time this record is constructed, the irreversibility
* boundary at B18 ({@code git tag v<version>}) has passed and the
* release commit + tag + restore + merge + post-bump are all in
* place locally. Externally-visible work (deploys, push,
* GitHub Release) happens in later phases.
*
* <p>The handoff §6.3 anticipates additional fields
* ({@code releaseCommit}, {@code mergeCommit}, {@code postBumpCommit}
* SHAs, {@code stagingDir} for downstream site work). Those are
* added when consumers need them; for Commit 4 the flags below
* record which sub-steps ran.
*
* @param tag the created git tag (e.g., {@code "v25"})
* @param releaseCommitted whether a release commit was created on the
* {@code release/<version>} branch (false if resuming
* and the commit was already present)
* @param merged whether {@code release/<version>} was merged back to {@code main}
* @param postBumped whether {@code main} received the post-release bump commit
*/
public record LocalOutcome(String tag, boolean releaseCommitted, boolean merged, boolean postBumped) {
}