Skip to content

fix(review): #4580 union-path facet skip, round 3 - #4710

Merged
WilcoLouwerse merged 1 commit into
developmentfrom
review/pr-4580-fixes-r4
Oct 20, 2026
Merged

WilcoLouwerse merged 1 commit into
developmentfrom
review/pr-4580-fixes-r4

Conversation

@WilcoLouwerse

Copy link
Copy Markdown
Contributor

Fixes for rjzondervan's round-2 review of #4580 (#4580 (review)). Merge into development, then re-request the review.

Findings → commits

Finding Commit What changed
🟡 The union-path referenceType skip has no test 6c025c4949 testUnionIntegrationReferencesAreNotLookedUpAsObjects calls getTermsFacetUnion() with a referenceType property and expects no name lookup; removing the skip turns it red.
🟢 The union path decides the skip from the first table's schema only 6c025c4949 New anyHoldsObjectReferences(): the lookup is skipped only when every schema of the union declares a referenceType for the column. testUnionKeepsTheLookupWhenAnySchemaHoldsObjectReferences pins the mixed union and is red on the first-schema-only check.
🟢 Labels for UUIDs held by referenceType properties change 6c025c4949 The @spec exclude text on holdsObjectReferences() says a UUID-shaped integration id is now labelled in full instead of its shortened form.

Not in this PR: the shared facet label cache (thread), pre-existing on beta and tracked in #4705.

Checks run on this branch

  • phpunit -c phpunit-unit-local.xml --filter Facet tests/Unit → OK, 139 tests (2 skipped)
  • mutation checks: removing the union skip, and restoring the first-schema-only check, each turn one new test red
  • composer phpcs → exit 0; phpmd with the baseline → no findings; phpstan on MagicFacetHandler.php → no errors
  • run-hydra-gates.sh --scope-to-diff --base origin/development → exit 0, 34 of 34 applicable gates ran

🤖 Generated with Claude Code

… across every schema

Threads:
#4580 (comment)
#4580 (comment)
#4580 (comment)

- getTermsFacetUnion() skipped the object-name lookup when the FIRST table's
  schema declared a referenceType for the column, so a union whose later
  schema holds real object references lost those names. The new
  anyHoldsObjectReferences() keeps the lookup unless every schema of the
  union declares a referenceType.
- testUnionIntegrationReferencesAreNotLookedUpAsObjects calls the union path
  with a referenceType property and expects no lookup; removing the skip
  turns it red. testUnionKeepsTheLookupWhenAnySchemaHoldsObjectReferences
  pins the mixed union; the first-schema-only check turns it red.
- The @SPEC exclude text on holdsObjectReferences() now says a UUID-shaped
  integration id is labelled in full instead of its shortened form.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/openregister @ 78da5f4

Check PHP Vue Security License Tests
lint ✅
phpcs ✅
phpmd ✅
psalm ✅
phpstan ✅
phpmetrics ✅
eslint ✅
stylelint ✅
build ✅
check-specs ✅
test-l10n ✅
test-l10n-parity ✅
format ✅
check-schema-l10n ✅
composer ✅ ✅ 173/173
npm ✅ ✅ 648/648
app:check-code ⏭️
info.xml ✅
REUSE ✅
lockfile sync ✅
PHPUnit ✅ 26676/26676 · 25 skipped
Newman ✅ 714/714
Playwright ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development.
Hydra gates ✅

Quality workflow — 2026-10-20 08:33 UTC

Download the full PDF report from the workflow artifacts.

@WilcoLouwerse
WilcoLouwerse merged commit 0943fb8 into development Oct 20, 2026
48 checks passed
@WilcoLouwerse
WilcoLouwerse deleted the review/pr-4580-fixes-r4 branch October 20, 2026 08:34
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