WorkspaceRoot.java

package network.ike.workspace;

/**
 * The workspace root's published Maven coordinates.
 *
 * <p>Persisted under the {@code workspace-root:} block in
 * {@code workspace.yaml} (schema 1.1+), populated by
 * {@code ws:scaffold-init -Dgroup=...} (ike-issues#183). Provides a single
 * source of truth for the aggregator artifact's
 * GAV so downstream goals — {@code ws:release-publish} (#185),
 * {@code ws:align-publish}, site deploy (#186) — can reference the
 * workspace root by real
 * coordinates rather than the legacy {@code local.aggregate:<name>:1.0.0-SNAPSHOT}
 * placeholder.
 *
 * <p>The {@code version} field is a single-segment monotonic counter, not
 * semver — it represents \"the Nth release of this workspace manifest,\"
 * nothing more (per {@code feedback_no_semver_assumption}).
 *
 * @param groupId    the Maven groupId for the workspace root POM
 * @param artifactId the Maven artifactId (typically matches the
 *                   workspace's directory name)
 * @param version    the current version, typically ending in
 *                   {@code -SNAPSHOT} between releases
 */
public record WorkspaceRoot(
        String groupId,
        String artifactId,
        String version
) {}