Skip to content

Prod - Flexi-talent updates#31

Merged
jmgasper merged 12 commits into
masterfrom
develop
Jul 15, 2026
Merged

Prod - Flexi-talent updates#31
jmgasper merged 12 commits into
masterfrom
develop

Conversation

jmgasper added 12 commits July 10, 2026 13:39
What was broken
Offer-rejected Flexi Talent member rows could show the assignment resolved end date as the completed timing, so rejected offers appeared to complete on a planned future end date.

Root cause
Flexi member list and history code reused the resolved assignment end date for every past completion-status assignment. Offer rejections do not write endDate, so their actual response time is the assignment updatedAt value.

What was changed
Updated the Flexi member terminal timestamp resolver and matching member-list SQL so OFFER_REJECTED assignments use updatedAt. Updated the DTO descriptions to describe the field as a terminal timestamp that includes offer rejection time.

Any added/updated tests
Added service tests covering offer-rejected member-list SQL timestamps and past-assignment ordering/history timestamps.
What was broken
The Flexi-Talent engagement summary count and the engagement list record count could diverge when the list was sorted by member count.

Root cause
The member-count list path calculated its total with separate raw SQL while the summary and name-sorted list used the shared Prisma bucket/search/ignored-project filters. That duplicated count logic could drift from the summary filters.

What was changed
Changed the member-count list path to calculate its total through the shared Prisma engagement where builder, while keeping raw SQL only for aggregate row ordering by assigned-member count.

Any added/updated tests
Updated Flexi engagement service tests to verify member-count lists use the shared count filters and still apply ignored-project, bucket, search, and sort filters to the paged SQL query.
What was broken
Flexi member detail and history could show a Selected assignment before an Assigned assignment when a member had both active statuses.

Root cause
Selected and Assigned assignments were both treated as current, then primary assignment and history ordering used end-date ordering before status priority.

What was changed
Added Assigned-before-Selected priority to Flexi member primary assignment selection, member history ordering, and the raw SQL member-list primary assignment rank.

Any added/updated tests
Added EngagementsService coverage for detail/history assigned priority and the member-list SQL status rank.
What was broken
Flexi Talent engagement totals included statuses outside the requested Active and Closed buckets, and member views could count assignments whose parent engagements were not Active or Closed.

Root cause
The Flexi engagement filters treated OPEN as active, CANCELLED as closed, and left the total bucket unfiltered. Member queries filtered assignment status and ignored projects, but did not require the parent engagement to be ACTIVE or CLOSED.

What was changed
Added shared Flexi engagement status rules for ACTIVE and CLOSED, applied them to engagement summary, list, and detail paths, and applied the same parent engagement filter to member summary, list, detail, and history paths. Updated the API DTO and README wording to match the new bucket semantics.

Any added/updated tests
Updated engagements service specs for Active, Closed, and Total bucket filters, member parent engagement filtering, raw SQL filters, and non-qualifying engagement detail access.
PM-5585: Restrict Flexi Talent buckets to active and closed
PM-5587: Prioritize assigned Flexi member assignments
PM-5588: Align Flexi engagement list counts
PM-5591: Use rejection time for Flexi members
@jmgasper jmgasper merged commit d2fbcae into master Jul 15, 2026
5 checks passed
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