Skip to content

Add Ship and ShipGroup catalog rows with fail-closed bump and publish sets - #140

Merged
russwyte merged 1 commit into
mainfrom
feat/ship-catalog-rows
Aug 28, 2026
Merged

Add Ship and ShipGroup catalog rows with fail-closed bump and publish sets#140
russwyte merged 1 commit into
mainfrom
feat/ship-catalog-rows

Conversation

@russwyte

Copy link
Copy Markdown
Contributor

First implementation slice of independent module versioning (independent-module-versioning.md PR 1).

zipx already owns inbound catalog rows (Lib / Plugin / Pin / Action). This adds the outbound collection: Ship (one sbt project, including matrix platform rows) and ShipGroup (several projects that share a number). Presence of any row is the later feature flag. This PR stops at core types and pure functions. No plugin settings, no planner, no generated YAML.

What lands

  • Ship / ShipGroup catalog literals, AsShips, ZipxCatalog.shipsOf, Catalog.ships
  • ModuleNode.matrixRoot (defaults to id so existing fixtures keep compiling)
  • Modver: membership (exactly one row per publishing root), fail-closed bump sets (None files refuse; .sbt does not explode), group lift, movedRows / filterUnpublished

Proof

core/testFull (686 tests). plugin/scripted and zipxWorkflowCheck are not in this PR's blast radius.

Follow-ups (PR 2+): plugin version := from Ship rows, MiMa suggest/check jobs, Graph publish filtered by version-moved.

… sets

Typed outbound version rows in ZipxVersions, collected like Lib/Pin/Action.
Pure Modver computes membership, group-lifted bump sets, and version-moved
publish sets without touching plugin settings or planner emission.
@russwyte
russwyte merged commit f17a2c0 into main Aug 28, 2026
8 checks passed
@russwyte
russwyte deleted the feat/ship-catalog-rows branch August 28, 2026 17:40
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