Skip to content

Complete Identity service replacement and fix Flyway configuration - #36

Merged
Amir-Golmoradi merged 5 commits into
mainfrom
amg-complete-identity-service
Oct 12, 2026
Merged

Amir-Golmoradi merged 5 commits into
mainfrom
amg-complete-identity-service

Conversation

@Amir-Golmoradi

Copy link
Copy Markdown
Member

Problem and result

The local OTP-retirement commit deleted payguard-otp-service, but its committed parent POM still selected that module and required Identity application files remained untracked. The pre-push hook validates a clean committed worktree, so Maven failed before it could run quality checks. This PR completes the existing Identity replacement and keeps the separately implemented Flyway configuration fix in its own commit.

It completes the source integration following PostgreSQL/Vault PR #35; it does not implement new authentication workflows.

Changes

  • Register Identity in the Maven reactor and include its required bootstrap, application contracts, delivery/audit/quota adapters, REST controller and existing tests. Preserve the owner's retirement commit and keep the retired step-up-token endpoint absent.
  • Restore OTP equality/hash stability by using the inherited immutable identity. Reject active verification before creation before hashing or counting attempts. The existing regression assertions are retained.
  • Rename only OtpId's private backing field to satisfy PMD; preserve value(), CustomerId's getValue(), case-sensitive prefixed identifiers and UUID audit IDs.
  • Read native FLYWAY_URL, FLYWAY_USER, FLYWAY_PASSWORD and FLYWAY_INIT_SQL during Maven plugin execution. Remove unresolved POM property references and reject omitted owner initialization. The supported Vault-managed migration helper keeps its own workflow.
  • Update database/build documentation and distinguish historical rehearsal results from verification of this committed integration.

Five unused future ID classes, CLAUDE.md, an unrelated ADR rename and protected local artifacts remain outside this publication. No quality rule or repository protection was disabled.

Validation

  • Clean committed source fd29d35: full Maven verify passed, 91 tests, zero failures/errors/skips. Spotless, Checkstyle, PMD, CPD and SpotBugs passed. Identity's 14 real PostgreSQL infrastructure cases and 11 application contracts passed.
  • The first clean run reproduced four failures across two existing domain regression classes; the production fixes resolved them without changing the assertions.
  • Normal pre-push hook passed on published head b230d03: Spotless, Checkstyle, install, PMD, SpotBugs and full verification, 91 tests with zero failures/errors/skips. No hook bypass or force push.
  • Three synthetic migration/export tests passed.
  • Disposable PostgreSQL 17.11 verified native Maven Flyway configuration: Loan V1 installed; five tables and two sequences belonged to loan_owner; omitted owner initialization was rejected. Only the newly created test containers/volumes were removed.
  • Changed tracked files were checked for protected local artifacts and actual local credential markers without exposing those values.

GitHub quality, database-security, image-build and CodeQL results must be assessed on this PR. Local checks do not substitute for CodeQL's required GitHub analysis.

See the repair log and the migration guide. Live Oracle cutover, new authentication/enrollment, missing financial adapters and durable external delivery remain separate work.

@Amir-Golmoradi
Amir-Golmoradi merged commit 1fcb3b8 into main Oct 12, 2026
5 checks passed
@Amir-Golmoradi
Amir-Golmoradi deleted the amg-complete-identity-service branch October 12, 2026 08: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