chore(archunit-rules): refresh stale PR-PLATFORM-5 stub comment (#325) #13

Merged
hibryda merged 1 commit from chore/archunit-rules-pom-comment-325 into main 2026-05-29 16:07:00 +02:00
Owner

Summary

Comment-only documentation fix to archunit-rules/pom.xml (follow-up #325).

The pom's top-of-file <!-- --> header comment carried a pre-#315 v1.0-scaffold placeholder:

"Consumers run the bundled rule against their own classpath in a JUnit5 test class that extends or copies the sample. Real impl + self-test lands in PR-PLATFORM-5."

That text is false. The real member-level @Version rule and its self-test shipped in #315 (main 4a76fff). Because the comment is published verbatim into the deployed archunit-rules-1.1.0-SNAPSHOT.pom, the autonomous PR reviewer — whose sandbox cannot inspect the resolved jar — kept reading the stale text and re-raising a MAJOR "still a stub" finding on every consumer PR (#319#325). Refreshing the comment removes that recurring false signal.

What changed

Replaced the stale comment with text describing the current state:

  • EntityVersionParity.entitiesMustCarryVersion() enforces ADR-0001 §1.4 — every JPA @Entity must carry a @Version field/accessor for optimistic-lock detection.
  • Inheritance-aware custom ArchCondition<JavaClass> over getAllFields()/getAllMethods() (since @Version is a field/method-target annotation never present on the class itself), with exclusions @Immutable / ..audit.. / ..replica.. and allowEmptyShould(true).
  • Implemented + self-tested in #315 (positive fixtures: field/inherited/accessor @Version + the 3 exclusions; negative fixture: an unversioned @Entity must violate). Consumers wire it via @AnalyzeClasses + @ArchTest (#319).

No <dependency>, <version>, or build-config edits — only the <!-- --> block.

Verification

  • mvn -B -pl archunit-rules -am validate → BUILD SUCCESS (pom parses)
  • mvn -B -pl archunit-rules testTests run: 2, Failures: 0, Errors: 0; 0 [WARNING] (rule 62)

Note

Re-publishing the SNAPSHOT to the Forgejo registry happens AFTER merge (the coordinating session handles it). This PR does not deploy.

Out-of-scope observation (NOT changed here)

archunit-rules/src/main/java/com/aim2be/platform/archunit/EntityVersionParity.java lines 37-39 carry the SAME stale "v1.0 scaffold: the rule body lands in PR-PLATFORM-5" claim in the class Javadoc. That source-level Javadoc does not ship in the deployed pom, so it does not drive the reviewer false-positive — left untouched to keep #325 strictly comment-in-pom-only. Worth a separate follow-up if a full sweep is desired.

## Summary Comment-only documentation fix to `archunit-rules/pom.xml` (follow-up #325). The pom's top-of-file `<!-- -->` header comment carried a pre-#315 v1.0-scaffold placeholder: > "Consumers run the bundled rule against their own classpath in a JUnit5 test class that extends or copies the sample. Real impl + self-test lands in PR-PLATFORM-5." That text is false. The real member-level `@Version` rule and its self-test shipped in **#315** (main `4a76fff`). Because the comment is published verbatim into the deployed `archunit-rules-1.1.0-SNAPSHOT.pom`, the autonomous PR reviewer — whose sandbox cannot inspect the resolved jar — kept reading the stale text and re-raising a MAJOR "still a stub" finding on every consumer PR (#319 → #325). Refreshing the comment removes that recurring false signal. ## What changed Replaced the stale comment with text describing the current state: - `EntityVersionParity.entitiesMustCarryVersion()` enforces ADR-0001 §1.4 — every JPA `@Entity` must carry a `@Version` field/accessor for optimistic-lock detection. - Inheritance-aware custom `ArchCondition<JavaClass>` over `getAllFields()`/`getAllMethods()` (since `@Version` is a field/method-target annotation never present on the class itself), with exclusions `@Immutable` / `..audit..` / `..replica..` and `allowEmptyShould(true)`. - Implemented + self-tested in #315 (positive fixtures: field/inherited/accessor `@Version` + the 3 exclusions; negative fixture: an unversioned `@Entity` must violate). Consumers wire it via `@AnalyzeClasses` + `@ArchTest` (#319). No `<dependency>`, `<version>`, or build-config edits — only the `<!-- -->` block. ## Verification - `mvn -B -pl archunit-rules -am validate` → BUILD SUCCESS (pom parses) - `mvn -B -pl archunit-rules test` → `Tests run: 2, Failures: 0, Errors: 0`; 0 `[WARNING]` (rule 62) ## Note Re-publishing the SNAPSHOT to the Forgejo registry happens AFTER merge (the coordinating session handles it). This PR does not deploy. ## Out-of-scope observation (NOT changed here) `archunit-rules/src/main/java/com/aim2be/platform/archunit/EntityVersionParity.java` lines 37-39 carry the SAME stale "v1.0 scaffold: the rule body lands in PR-PLATFORM-5" claim in the class Javadoc. That source-level Javadoc does not ship in the deployed pom, so it does not drive the reviewer false-positive — left untouched to keep #325 strictly comment-in-pom-only. Worth a separate follow-up if a full sweep is desired.
chore(archunit-rules): refresh stale PR-PLATFORM-5 stub comment (#325)
All checks were successful
im2be-platform-libs CI / mvn install (pull_request) Successful in 1m30s
im2be-platform-libs CI / mvn verify (main only) (pull_request) Has been skipped
ba09c38b87
The archunit-rules/pom.xml header comment was a pre-#315 v1.0-scaffold
placeholder stating the rule body + self-test would land in a future
PR-PLATFORM-5. That is false: the real member-level @Version rule
(EntityVersionParity.entitiesMustCarryVersion) and its positive/negative
self-test fixtures shipped in #315 (main 4a76fff). Because the comment is
published into the deployed archunit-rules-1.1.0-SNAPSHOT.pom, the
autonomous PR reviewer — whose sandbox cannot inspect the resolved jar —
kept reading the stale text and re-raising a MAJOR 'still a stub' finding
on every consumer PR (#319 -> #325). The new comment describes the current
state: ADR-0001 §1.4 enforcement via an inheritance-aware ArchCondition over
getAllFields()/getAllMethods(), exclusions @Immutable/..audit../..replica..,
allowEmptyShould(true), implemented + self-tested in #315, consumed via
@AnalyzeClasses + @ArchTest (#319).

Comment-only change. No dependency/version/build-config edits.

Verification:
- mvn -B -pl archunit-rules -am validate -> BUILD SUCCESS (pom parses)
- mvn -B -pl archunit-rules test -> Tests run: 2, Failures: 0, Errors: 0; 0 [WARNING]

hib-pr-reviewer review — PR #13 (affinity-intelligence-rework/im2be-platform-libs)

Round 1 — head ba09c38b8796, base main, trigger opened

TL;DR: NO_NEW_FINDINGS — No new findings this round.

Summary

[quorum-converged] A=0 = B=0. This PR updates a comment block in archunit-rules/pom.xml, replacing a stale stub reference to PR-PLATFORM-5 with an accurate summary of the implemented rule, its ADR reference, implementation details, and consumer wiring. The change is purely documentary — no production code, build config, or dependency declarations are modified.

CI status (head ba09c38b8796)

Overall: pending

2 checks: 2 pending

Check State Link
im2be-platform-libs CI / mvn verify (main only) (pull_request) pending details
im2be-platform-libs CI / mvn install (pull_request) pending details

Findings

No new findings this round.

Quorum converged on empty findings (A + B both returned 0).

Verdict

NO_NEW_FINDINGS


hib-pr-reviewer • round 1 • 0 findings • 2026-05-29T14:01:53.227Z → 2026-05-29T14:02:01.482Z • posted-as: pr-reviewer-bot • [bookkeeping fallback]

## hib-pr-reviewer review — PR #13 (affinity-intelligence-rework/im2be-platform-libs) **Round 1** — head `ba09c38b8796`, base `main`, trigger `opened` **TL;DR:** NO_NEW_FINDINGS — No new findings this round. ### Summary [quorum-converged] A=0 = B=0. This PR updates a comment block in `archunit-rules/pom.xml`, replacing a stale stub reference to PR-PLATFORM-5 with an accurate summary of the implemented rule, its ADR reference, implementation details, and consumer wiring. The change is purely documentary — no production code, build config, or dependency declarations are modified. ### CI status (head `ba09c38b8796`) **Overall: ⏳ pending** 2 checks: 2 pending | Check | State | Link | |---|---|---| | im2be-platform-libs CI / mvn verify (main only) (pull_request) | ⏳ pending | [details](/affinity-intelligence-rework/im2be-platform-libs/actions/runs/88/jobs/1) | | im2be-platform-libs CI / mvn install (pull_request) | ⏳ pending | [details](/affinity-intelligence-rework/im2be-platform-libs/actions/runs/88/jobs/0) | ### Findings **No new findings this round.** _Quorum converged on empty findings (A + B both returned 0)._ ### Verdict **NO_NEW_FINDINGS** --- <sub>hib-pr-reviewer • round 1 • 0 findings • 2026-05-29T14:01:53.227Z → 2026-05-29T14:02:01.482Z • posted-as: pr-reviewer-bot • [bookkeeping fallback]</sub>
hibryda deleted branch chore/archunit-rules-pom-comment-325 2026-05-29 16:07:00 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
affinity-intelligence-rework/im2be-platform-libs!13
No description provided.