Skip to content

refactor(platformadmin): add Modulith metadata parity, drop domain exemptions - #1056

Merged
yacosta738 merged 1 commit into
mainfrom
chore/platformadmin-modulith-metadata-parity
Sep 15, 2026
Merged

yacosta738 merged 1 commit into
mainfrom
chore/platformadmin-modulith-metadata-parity

Conversation

@yacosta738

Copy link
Copy Markdown
Contributor

Summary

Rebuilds the #1008 intent fresh on current main using the #1010 canonical pattern: Kotlin ModuleMetadata per package, Spring annotations off business types. platformadmin gains a root @ApplicationModule plus four named seams (domain, application, infrastructure, non-standard contracts kept as-is). notifications is confirm-only (untouched).

No behavior, API, schema, or migration change.

Changes

  • Create platformadmin/ModuleMetadata.kt root @ApplicationModule with allowedDependencies derived from verify() output (audit :: domain, identity :: application, identity :: domain, platform :: domain, publishing :: application, tenancy :: application)
  • Create domain/application/infrastructure ModuleMetadata.kt per tenancy pattern
  • Create application/contracts/ModuleMetadata.kt with @NamedInterface("contracts"); seam name kept
  • Strip @NamedInterface + import from InvitationIssued, DirectInvitationResent, AcceptUrlTemplate; delete DomainLayerExports.kt
  • Register platformadmin 4-seam set in ModularStructureTest
  • Delete the three name exclusions in HexagonalArchTest (both domain rules); ModuleMetadata/package-info predicates stay

Verification (all green, local)

  • KotlinSourceLayoutTest + find server/smp/src -name '*.java' = 0
  • ModularStructureTest (both tests) + ModularityVerificationTest
  • HexagonalArchTest + ComponentScanArchTest + Konsist trio (AggregateBoundary, IdentityOnlyAggregateCommunication, ValueObjectImmutability) + PlatformAdminMarkerCoverageTest
  • Detekt, SpotlessCheck
  • just backend-check (incl. Kover) — BUILD SUCCESSFUL
  • just backend-bdd-fast — BUILD SUCCESSFUL

TDD: registration + exemption removal were applied first and observed RED (exact-set mismatch platformadmin=[contracts, domain]; 3 annotation violations), then metadata + strips turned the suites GREEN.

Notes

  • identity :: domain edge is type-level via PrincipalIdentityLookup signatures (PrincipalIdentityFacts); no direct import in platformadmin sources.
  • No new suppressions, no baseline/config changes, no weakened tests.

Related #1008

@coderabbitai

coderabbitai Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 57 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 5b2dd1e3-36ad-4eab-b45c-7b51565eae55

📥 Commits

Reviewing files that changed from the base of the PR and between da92132 and 1407025.

📒 Files selected for processing (11)
  • server/smp/src/main/kotlin/com/profiletailors/smp/platformadmin/ModuleMetadata.kt
  • server/smp/src/main/kotlin/com/profiletailors/smp/platformadmin/application/ModuleMetadata.kt
  • server/smp/src/main/kotlin/com/profiletailors/smp/platformadmin/application/contracts/AcceptUrlTemplate.kt
  • server/smp/src/main/kotlin/com/profiletailors/smp/platformadmin/application/contracts/ModuleMetadata.kt
  • server/smp/src/main/kotlin/com/profiletailors/smp/platformadmin/domain/DirectInvitationResent.kt
  • server/smp/src/main/kotlin/com/profiletailors/smp/platformadmin/domain/DomainLayerExports.kt
  • server/smp/src/main/kotlin/com/profiletailors/smp/platformadmin/domain/InvitationIssued.kt
  • server/smp/src/main/kotlin/com/profiletailors/smp/platformadmin/domain/ModuleMetadata.kt
  • server/smp/src/main/kotlin/com/profiletailors/smp/platformadmin/infrastructure/ModuleMetadata.kt
  • server/smp/src/test/kotlin/com/profiletailors/smp/HexagonalArchTest.kt
  • server/smp/src/test/kotlin/com/profiletailors/smp/ModularStructureTest.kt

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@github-actions github-actions Bot added area:backend Changes in backend code (server/smp/** or shared/**) type:test Test files or test infrastructure changes labels Sep 15, 2026
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying profiletailors with  Cloudflare Pages  Cloudflare Pages

Latest commit: 1407025
Status: ✅  Deploy successful!
Preview URL: https://39718406.profiletailors-com.pages.dev
Branch Preview URL: https://chore-platformadmin-modulith.profiletailors-com.pages.dev

View logs

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying app-profile-tailors with  Cloudflare Pages  Cloudflare Pages

Latest commit: 1407025
Status: ✅  Deploy successful!
Preview URL: https://b1f2aa5b.app-profile-tailors.pages.dev
Branch Preview URL: https://chore-platformadmin-modulith.app-profile-tailors.pages.dev

View logs

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying profiletailors-admin with  Cloudflare Pages  Cloudflare Pages

Latest commit: 1407025
Status: ✅  Deploy successful!
Preview URL: https://64240e36.profiletailors-com-bx5.pages.dev
Branch Preview URL: https://chore-platformadmin-modulith.profiletailors-com-bx5.pages.dev

View logs

@sonarqubecloud

Copy link
Copy Markdown

@codecov

codecov Bot commented Sep 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@yacosta738
yacosta738 merged commit 791582c into main Sep 15, 2026
42 checks passed
@yacosta738
yacosta738 deleted the chore/platformadmin-modulith-metadata-parity branch September 15, 2026 08:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:backend Changes in backend code (server/smp/** or shared/**) type:test Test files or test infrastructure changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant