Function: groupStrandedEntries()
groupStrandedEntries(
entries,closedPeriodKeys,ctx):StrandedGroup[]
Defined in: src/server/services/strandedHours.ts:59
Group candidate entries into per-(contractor, assignment, pay period) stranded groups, keeping
only entries whose PAY period key is in closedPeriodKeys ("start|end" ISO pairs). Pure.
Membership is by payPeriodForDate, NOT the calendar period: outsourced pay settles by
ISO-week Sunday (ADR-0044), so a period's tail days belong to the NEXT period's run — flagging
those while that run is still open would double-pay them.
Parameters
entries
readonly StrandedEntryRow[]
closedPeriodKeys
ReadonlySet<string>