Bugfix: Fix excessive api requests triggering genderdecoder - #2465
Bugfix: Fix excessive api requests triggering genderdecoder#2465ge94zec wants to merge 125 commits into
Bugfix: Fix excessive api requests triggering genderdecoder#2465Conversation
…computed re-runs on every title change
…or-not-shown' into bugfix/2321-title-compliance-error-not-shown
…or-not-shown' into bugfix/2321-title-compliance-error-not-shown
…egories-in-sidebar' into feat/2345-add-new-compliance-categories-in-sidebar
fix namings
…egories-in-sidebar' into feat/2345-add-new-compliance-categories-in-sidebar
|
📊 Client Test Coverage Too Low 🔍 View coverage locally: pnpm run test:ci
open build/test-results/vitest/coverage/index.html🌐 View coverage from GitHub: |
|
🤖 No OpenAPI or client changes needed. |
- split rule-based gender analysis from the AI endpoint - guard LLM compliance analysis on client and server - preserve gender scoring when AI is unavailable - prevent duplicate compliance issues - add consent and gender-analysis regression tests
|
📊 Client Test Coverage Too Low 🔍 View coverage locally: pnpm run test:ci
open build/test-results/vitest/coverage/index.html🌐 View coverage from GitHub: |
|
🤖 No OpenAPI or client changes needed. |
|
📊 Server Test Coverage Too Low 🔍 View coverage locally: ./gradlew test jacocoTestReport
open build/reports/jacoco/test/html/index.html🌐 View coverage from GitHub: |
fix server tests
|
📊 Client Test Coverage Too Low 🔍 View coverage locally: pnpm run test:ci
open build/test-results/vitest/coverage/index.html🌐 View coverage from GitHub: |
|
🤖 No OpenAPI or client changes needed. |
|
📊 Client Test Coverage Too Low 🔍 View coverage locally: pnpm run test:ci
open build/test-results/vitest/coverage/index.html🌐 View coverage from GitHub: |
|
🤖 No OpenAPI or client changes needed. |
az108
left a comment
There was a problem hiding this comment.
Two follow-ups that keep getting lost in old threads, re-raised as fresh comments so they're actually visible.
Everything else from my previous rounds is now resolved — I've gone through and closed out the threads that are genuinely done (the dedup fix, the wildcard imports, the shared originalText, the JavaDoc rewrite, the unused import, the ai_score rename, and the removed service test). The only other thing still open is the consent leak on job-creation-form.component.ts:1684.
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| Security | 2 high |
| Complexity | 1 medium |
🟢 Metrics 2 complexity
Metric Results Complexity 2
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
|
🤖 No OpenAPI or client changes needed. |
|
🤖 No OpenAPI or client changes needed. |
|
🤖 No OpenAPI or client changes needed. |
Remaining items @ge94zecEverything from my previous reviews is now resolved — 37 threads closed, and several of the fixes were better than what I proposed (moving Two things are still open, both on Cathy's threads: 1. Replace
|
I kept GenderBiasAnalysisService separate from AiService so the rule-based /api/jobs/analyze-gender-bias path remains available without AI consent and does not introduce a JobService ↔ AiService bean cycle. |
|
🤖 No OpenAPI or client changes needed. |
Status update — one item left @ge94zecUpdating my earlier summary, since one of the two items is now closed out and the discussion for it sits in a resolved thread where it is easy to miss. Closed since thenPackage placement of the gender-bias analysis — answered on Cathy's thread and resolved. Short version: The underlying split is still inconsistent though — Still openReplace This is the last outstanding item on the PR. Job job = jobRepository.findById(jobId).orElseThrow(() -> EntityNotFoundException.forId("Job", jobId));That also settles Cathy's naming point, since the method disappears rather than needing a better name. Worth re-running the analysis flow afterwards as it sits on the write path. Review stateAll 37 of my threads and 4 of Cathy's 5 are resolved. My |
Checklist
General
Server
Client
Motivation and Context
Closes: #2379
Description
This PR refactors and improves the gender bias analysis and across page reloads and api requests. It introduces a new INCLUSIVE / NON_INCLUSIVE classification and replaces the previous response DTO GenderResponse with BiasedIssues, simplifying data handling and decoupling bias detection from language.
Bias analysis is now persisted directly in the database using @ElementCollection with a Liquibase migration, and the server-side flow has been streamlined by refactoring services, improving how language-specific results are merged and stored. Additional repository changes prevent Hibernate reload issues.
On client-side, duplicate/numerous API requests during job creation are reduced through better deduplication and improved execution flow. The job creation flow now analyzes the genderDecoder and after that the source language while running translation and secondary analysis in the background.
Steps for Testing
Prerequisites:
Review Progress
Code Review
Manual Tests
Screenshots
Test Coverage
Client
Server
Last updated: 2026-08-17 21:39:26 UTC