Skip to content

fix(release-management): match versioned dependency coordinates - #1961

Merged
potiuk merged 1 commit into
apache:mainfrom
MakerFlyFly:fix/category-x-gradle-coordinates-upstream
Nov 4, 2026
Merged

potiuk merged 1 commit into
apache:mainfrom
MakerFlyFly:fix/category-x-gradle-coordinates-upstream

Conversation

@MakerFlyFly

Copy link
Copy Markdown
Contributor

Summary

  • Permit a colon after a full denied group:artifact, so versioned Gradle declarations, lock entries and Maven dependency-tree coordinates produce the existing Category-X hard stop.
  • Preserve bare-artifact semantics and token boundaries. Cover the CLI result and regression matrix, and synchronize the tracked plugin copy through the required family-plugin generator.

Type of change

  • Python package (tools/*/ with pyproject.toml)

Test plan

  • Reproduced the defect on upstream 50aac71444d898abc246ec4f936bde9208de4655 in Windows and Linux.
  • Compared 22 CLI scenarios: only the four intended full-coordinate cases change from no hit to hit.
  • Windows Category-X tests: 12 passed.
  • Linux complete release-management suite: 725 passed.
  • Package ruff check, format check and mypy pass; mypy checked 64 source files.
  • prek run --all-files --skip workspace-pytest passes after the required plugin copy is regenerated.
  • prek run workspace-pytest --from-ref origin/main --to-ref HEAD and the actual commit hooks pass. Magpie pre-first-pr-check reports A-E pass, readiness ready, zero blocking items.

RFC-AI-0004 compliance

  • Vendor neutrality — matching remains local and backend-independent; examples are synthetic.

Linked issues

Closes #1959.

Audit provenance: MakerFlyFly/magpie#29, MakerFlyFly/magpie#30.

Notes for reviewers

  • The contributor has completed re-review of this four-file candidate and authorized upstream submission. The implementation was replayed on current upstream 50aac714 and committed with its normal hooks.
  • The original three files are identical to the reviewed fork commit 6d912c34. The fourth file is the tracked plugin copy generated by check-family-plugins --fix; it is byte-identical to the canonical matcher.
  • The candidate changes four existing files and preserves CLI arguments, JSON fields, successful-scan exit code 0, and bare-artifact behavior. It adds no file discovery or license classification.

Gen-AI disclosure: Codex (GPT-6) assisted with reproduction, implementation, tests and drafting. The contributor has completed re-review of the four-file upstream candidate, including its required generated plugin copy, and authorized submission.

A full deny coordinate followed by a colon was rejected by the suffix
boundary, so versioned Gradle and Maven declarations returned no hit.
Allow that delimiter only for coordinate terms while retaining the
existing bare-artifact and token boundaries.

Cover string declarations, lock entries, dependency trees, normalization,
manifest controls, false positives and the CLI hard-stop output.

Generated-by: Codex (GPT-6)
@github-actions github-actions Bot added family:tools tools/* substrate:release Tool substrate: release-artefact helpers (reproducible archive build, lint, comparison) labels Nov 1, 2026

@choo121600 choo121600 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me

@potiuk
potiuk merged commit b416a2d into apache:main Nov 4, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

family:tools tools/* substrate:release Tool substrate: release-artefact helpers (reproducible archive build, lint, comparison)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

release-prepare: Category-X scan misses versioned dependency coordinates

3 participants