Gitops dev - #1589
Conversation
…o RegisterOptions
…fix remaining type error in OptionSelect
…, ServiceAccount, Ingress) before helm deploy
BitDive Runtime Review - PR #1589PR: #1589 SummaryThis PR spans 958 files — predominantly CI/CD, GitOps, and Docker infrastructure — with 18 production Java source files containing functional changes across 7 services. The key behavioral changes are: a data-integrity bug fix in Four runtime trace pairs (inventory, order, product, location) independently compared via BitDive show zero contract divergence between base and head. The validation bug fix is mathematically proven correct and covered by passing unit tests (7/7). The Runtime Verification Matrix
How to read BitDive evidenceBehavior Δ (matrix) and the red/green
Review scope and validation coverage
Out of scope: CI/CD, GitOps, Docker, frontend assets; delivery (not in docker-compose), search (needs Elasticsearch). Change #1 — inventory and order stable flows (trace-verified)Confirms that Baseline note: S1 exercised with empty stock list (body: Trace evidence
Contract delta
Change #2 — StockService negative quantity validation fixFixes a data-integrity bug where negative stock adjustments bypass validation. Behavior contract# StockService.updateProductQuantityInStock() — validation logic
- adjustedQuantity > stock.getQuantity() (always false for negatives)
+ -adjustedQuantity > stock.getQuantity() (correctly checks absolute reduction)
# Example: adjustedQuantity=-10, stock.getQuantity()=5
- -10 > 5 → false → passes → stock overdraw allowed
+ 10 > 5 → true → throws BadRequestExceptionTest result: Limitation: Bug not runtime-reproduced on base (JDK 25 required, host has JDK 23). Fix verified via mathematical proof + passing test suite on head. Change #3 — SecurityConfig authority mapping refactorFixes an authorization gap where only the first authority was processed. Behavior contract# SecurityConfig — authority mapper
- authorities.iterator().next() (first authority only)
+ for (GrantedAuthority authority : authorities) (iterate ALL)
# Both OidcUserAuthority and OAuth2UserAuthority paths now checked
- roles in OAuth2UserAuthority silently dropped if OidcUserAuthority was first
+ all authority types processed; roles extracted from realm_access claimTest coverage: Limitation: Authority mapper runs during OAuth2 login redirect (session-based), not on API calls. Deploy canary confirms BFF starts without errors. Test suite cited but not independently re-run in this review. Change #4 — search, delivery, and misc defensive changesCode-verified only (services not deployed in this environment).
Follow-Ups
RecommendationApprove with notes. Four independently verified trace pairs prove zero behavioral regression across inventory, order, product, and location. The |
No description provided.