fix scheduler affinity candidate selection

This commit is contained in:
fawney19
2026-04-30 16:27:24 +08:00
parent 558abfcfa3
commit 33aa70c22b
24 changed files with 1715 additions and 104 deletions
@@ -3,6 +3,7 @@ import { describe, expect, it } from 'vitest'
import {
formatUsageStreamLabel,
hasUsageFallback,
hasUsageRetry,
isUsageRecordFailed,
isUsageRecordSuccessful,
mapRequestStatusToTimelineStatus,
@@ -117,6 +118,12 @@ describe('usage status helpers', () => {
expect(hasUsageFallback(buildUsageRecord({ has_fallback: undefined }))).toBe(false)
})
it('uses explicit has_retry flag for retry filtering', () => {
expect(hasUsageRetry(buildUsageRecord({ has_retry: true }))).toBe(true)
expect(hasUsageRetry(buildUsageRecord({ has_retry: false }))).toBe(false)
expect(hasUsageRetry(buildUsageRecord({ has_retry: undefined }))).toBe(false)
})
it('prefers symmetric stream aliases when present', () => {
expect(formatUsageStreamLabel(buildUsageRecord({
is_stream: true,
@@ -27,6 +27,12 @@ export function hasUsageFallback(
return record.has_fallback === true
}
export function hasUsageRetry(
record: Pick<UsageRecord, 'has_retry'>
): boolean {
return record.has_retry === true
}
export function resolveUsageStreamModes(
record: Pick<
UsageRecord,