test(ai): expand AI flow and clipboard semantic coverage

- Cover reply-variant decision paths, scene-detector abstention, and
  the merged reply center stance catalog.
- Lock in clipboard semantic analyzer thresholds, complaint-only
  suppression, and existing-skill routing.
- Add durable session, refresh, and managed-gateway reliability tests
  for the Apple account path.
- Verify personal-style prompt derivation, low-confidence ASR
  tendencies, and Polish style learning against real corpus evidence.
- Exercise the assistant keyboard and Polish styles UI flows in
  end-to-end UI tests.
This commit is contained in:
Rocky
2026-08-29 11:51:25 +08:00
parent 3c10d73d7f
commit b275b6b0d9
15 changed files with 1348 additions and 125 deletions
@@ -254,6 +254,21 @@ final class ManagedGatewayTests: XCTestCase {
XCTAssertEqual(taskKinds, cases.map { $0.1.rawValue })
}
func testManagedTaskKindsResolveToMatchingCapabilities() {
XCTAssertEqual(
ManagedLLMClient.Capability.resolve(taskKind: .dictationPolish),
.polish
)
XCTAssertEqual(
ManagedLLMClient.Capability.resolve(taskKind: .customSkill),
.assistant
)
XCTAssertEqual(
ManagedLLMClient.Capability.resolve(taskKind: .agentPlanning),
.agent
)
}
func testManagedHotwordSerializesSourceAndCurrentInformationIntent() async throws {
let now = Date(timeIntervalSince1970: 3_600)
let store = MemoryGrantStore(credentials(accessToken: "access", receivedAt: now))