Skip to content

Suggest MiMa-informed Ship edits and fail closed on missing bumps - #142

Merged
russwyte merged 1 commit into
mainfrom
feat/modver-mima-suggest
Aug 28, 2026
Merged

Suggest MiMa-informed Ship edits and fail closed on missing bumps#142
russwyte merged 1 commit into
mainfrom
feat/modver-mima-suggest

Conversation

@russwyte

Copy link
Copy Markdown
Contributor

Third implementation slice of independent module versioning (independent-module-versioning.md PR 3).

When Ship rows are present, generate injects two Once jobs: modver-suggest (sticky PR comment) and modver-check (fail closed). Both self-compile. The human still writes the catalog number. CI never commits it.

JSON in core is now derived zio-json (0.10.0). MiniJson is gone. Pin inventory, GitHub snapshots, Action JSON, OSV, and zipx-affected.json use the same codecs.

What lands

  • Min-bump from injected MiMa results: early-semver 0.y → minor, 1.y → major, JS-only → patch, first publish → no floor, group max via minBumpOrd
  • ModverReport written to target/zipx-modver-report.json; check and suggest both read it
  • Sticky comment marker <!-- zipx-modver --> with an optional suggestion fence
  • zipxModverCompat / zipxModverCheck / zipxModverSuggest
  • Capability.modverCheck / modverSuggest injected into the builtin list before combineCapabilities when zipxShips is non-empty
  • mima-core 1.1.5 on the plugin classpath

Proof

core/testFull (696). Plugin compiles, including dogfood. scalafmtCheckAll green.

Follow-ups (PR 4+): propagate, Graph publish filtered by version-moved, docs/dogfood.

Min-bump report is a derived zio-json codec. Check and suggest Once jobs
are injected when Ship rows are present. MiniJson and the other hand-rolled
JSON dumps now use zio-json as well.
@russwyte
russwyte merged commit d3ecd88 into main Aug 28, 2026
8 checks passed
@russwyte
russwyte deleted the feat/modver-mima-suggest branch August 28, 2026 19:00
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