feat: finally nailed down phases 1-4

This commit is contained in:
2026-03-20 12:05:24 +01:00
parent 5aed0107c6
commit 1f12fac5e2
9 changed files with 492 additions and 19 deletions

View File

@@ -209,4 +209,28 @@ final class TokenPrefixCacheTests: XCTestCase {
XCTAssertEqual(snapshot.supersequenceHits, 0)
XCTAssertEqual(snapshot.lcpHits, 0)
}
func testComputeMemoryBudgetUsesFallbackWhenDeviceUnavailable() {
let budget = TokenPrefixCache.computeMemoryBudget(recommendedWorkingSetSize: nil)
XCTAssertEqual(budget, 512 * 1024 * 1024)
}
func testComputeMemoryBudgetClampsToMinimumFloor() {
let budget = TokenPrefixCache.computeMemoryBudget(recommendedWorkingSetSize: 512 * 1024 * 1024)
XCTAssertEqual(budget, 256 * 1024 * 1024)
}
func testComputeMemoryBudgetUsesTwentyPercentOfWorkingSet() {
let budget = TokenPrefixCache.computeMemoryBudget(recommendedWorkingSetSize: 8 * 1024 * 1024 * 1024)
XCTAssertEqual(budget, Int(Double(8 * 1024 * 1024 * 1024) * 0.20))
}
func testComputeMemoryBudgetClampsToMaximumCap() {
let budget = TokenPrefixCache.computeMemoryBudget(recommendedWorkingSetSize: 80 * 1024 * 1024 * 1024)
XCTAssertEqual(budget, 8 * 1024 * 1024 * 1024)
}
}