498f407585
Introduce optional Apple account-backed credits with scoped gateway access while preserving local and BYOK paths. Refresh assistant behavior, tests, privacy disclosures, docs, and the website for the 2.0 experience.
284 lines
11 KiB
JSON
284 lines
11 KiB
JSON
{
|
|
"$schema_comment": "OSGKeyboard test suite: each test class belongs to exactly one atomic group. Presets only compose groups (no duplicated class lists).",
|
|
"version": 1,
|
|
"defaults": {
|
|
"ios_scheme": "OSGKeyboard",
|
|
"ios_project": "OSGKeyboard.xcodeproj",
|
|
"ios_destination": "platform=iOS Simulator,name=iPhone 17",
|
|
"mac_scheme": "OSGKeyboardMac",
|
|
"mac_destination": "platform=macOS"
|
|
},
|
|
"groups": {
|
|
"config": {
|
|
"description": "App Group configuration, onboarding flags, ConfigurationStore, Keychain",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/AppGroupConfigurationTests",
|
|
"OSGKeyboardTests/AppGroupOnboardingStoreTests",
|
|
"OSGKeyboardTests/ConfigurationStoreTests",
|
|
"OSGKeyboardTests/KeychainTests",
|
|
"OSGKeyboardTests/ProviderToolRequestCoordinatorTests"
|
|
]
|
|
},
|
|
"account": {
|
|
"description": "Host-private session, Apple integrity protocol, account center, and referral links",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/AccountAPIClientTests",
|
|
"OSGKeyboardTests/AccountCenterViewModelTests",
|
|
"OSGKeyboardTests/AccountCreditPurchaseManagerTests",
|
|
"OSGKeyboardTests/AccountSecurityPrimitiveTests",
|
|
"OSGKeyboardTests/AccountSignInCoordinatorTests",
|
|
"OSGKeyboardTests/AccountSnapshotLoaderTests",
|
|
"OSGKeyboardTests/DeviceIntegrityTests"
|
|
]
|
|
},
|
|
"managed_gateway": {
|
|
"description": "Scope-limited grants and managed LLM transport",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardExtTests/ManagedGatewayTests"
|
|
]
|
|
},
|
|
"sync": {
|
|
"description": "iCloud KVS merge/sync for settings, local-only clipboard consent, dictionary, speech history, usage stats",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/SettingsCloudSyncTests",
|
|
"OSGKeyboardTests/PersonalDictionaryCloudSyncTests",
|
|
"OSGKeyboardTests/PersonalDictionaryMergeTests",
|
|
"OSGKeyboardTests/SpeechHistoryCloudSyncTests",
|
|
"OSGKeyboardTests/SpeechHistoryDayDeletionTests",
|
|
"OSGKeyboardTests/UsageStatisticsCloudSyncTests",
|
|
"OSGKeyboardTests/AIHistoryAndUsageTests"
|
|
]
|
|
},
|
|
"polish": {
|
|
"description": "Intelligent polish pipeline, prompt composer, validator, style packs, LLM HTTP client (stubbed)",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/IntelligentPolishTests",
|
|
"OSGKeyboardTests/PolishPromptComposerQuestionTests",
|
|
"OSGKeyboardTests/PolishOutputValidatorTests",
|
|
"OSGKeyboardTests/PolishStylePackTests",
|
|
"OSGKeyboardTests/LLMClientTests",
|
|
"OSGKeyboardTests/TranscriptLanguageDetectorTests",
|
|
"OSGKeyboardTests/AIModeLLMClientTests",
|
|
"OSGKeyboardTests/AIQuestionServiceTests",
|
|
"OSGKeyboardTests/AIClipboardPromptTests"
|
|
]
|
|
},
|
|
"edit_last_input": {
|
|
"description": "Long-press edit prompt, target validation, gestures, and Flow start transactions",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/EditLastInputPromptTests",
|
|
"OSGKeyboardTests/EditableInputReferenceTests",
|
|
"OSGKeyboardTests/FlowStartTransactionPolicyTests",
|
|
"OSGKeyboardTests/SpeechHistoryRevisionTests",
|
|
"OSGKeyboardTests/EditTransactionStoreTests",
|
|
"OSGKeyboardTests/RecordButtonGesturePolicyTests",
|
|
"OSGKeyboardExtTests/EditHintSchedulerTests"
|
|
]
|
|
},
|
|
"cloud_asr": {
|
|
"description": "Cloud ASR catalog/routing helpers, streaming fixtures/event parsers, HTTP clients, vocabulary sync (hermetic; live API is live_api)",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/CloudASRTests",
|
|
"OSGKeyboardTests/CloudASRStreamingHelpersTests",
|
|
"OSGKeyboardTests/CloudASRStreamingEventParsingTests",
|
|
"OSGKeyboardTests/CloudASRHTTPClientTests",
|
|
"OSGKeyboardTests/AlibabaVocabularySyncTests",
|
|
"OSGKeyboardTests/CloudASRServiceTests"
|
|
]
|
|
},
|
|
"local_asr": {
|
|
"description": "Local ASR catalog, bias adapter, download source order, PCM conversion, dictation controller stop contract",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/LocalASRModelCatalogTests",
|
|
"OSGKeyboardTests/LocalASRBiasAdapterTests",
|
|
"OSGKeyboardTests/LocalASRDownloadSourceSorterTests",
|
|
"OSGKeyboardTests/ASRConversionTests",
|
|
"OSGKeyboardTests/PreviewASRControllerStateTests"
|
|
]
|
|
},
|
|
"utterance": {
|
|
"description": "Chunked utterance pipeline, stitch/guard/fallback policies (Host pipeline vs Ext short-final recovery are different layers)",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/ChunkedUtterancePipelineTests",
|
|
"OSGKeyboardTests/UtteranceStreamChunkerTests",
|
|
"OSGKeyboardTests/UtteranceTranscriptStitcherTests",
|
|
"OSGKeyboardTests/UtteranceTranscriptGuardTests",
|
|
"OSGKeyboardTests/UtteranceBatchFallbackPolicyTests",
|
|
"OSGKeyboardTests/ProgressiveDictationTranscriptAccumulatorTests",
|
|
"OSGKeyboardTests/FlowASRPostProcessorTests",
|
|
"OSGKeyboardExtTests/FinalChunkRecoveryTests"
|
|
]
|
|
},
|
|
"flow": {
|
|
"description": "Flow handoff policy, App Group session bridge, budgets, tail drain, mic availability, keyboard↔host decision helpers",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/FlowHandoffPolicyTests",
|
|
"OSGKeyboardTests/FlowSessionBridgeTests",
|
|
"OSGKeyboardTests/FlowSessionPolicyTests",
|
|
"OSGKeyboardTests/FlowBudgetAndMergeTests",
|
|
"OSGKeyboardTests/FlowCaptureTailDrainTests",
|
|
"OSGKeyboardTests/FlowUtteranceEndCoordinatorTests",
|
|
"OSGKeyboardTests/FlowUtterancePCMStoreTests",
|
|
"OSGKeyboardTests/MicVoiceAvailabilityTests",
|
|
"OSGKeyboardTests/FlowKeyboardPoliciesTests",
|
|
"OSGKeyboardTests/FlowReliabilityTests",
|
|
"OSGKeyboardTests/AISessionStateTests"
|
|
]
|
|
},
|
|
"keyboard": {
|
|
"description": "Typing surface, clipboard privacy/storage policy, secure-field UI, English lexicon, Rime, cursor navigation",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardExtTests/EnglishTypingTests",
|
|
"OSGKeyboardTests/EnglishTypingOnDeviceTests",
|
|
"OSGKeyboardExtTests/CandidatePanelExpandTests",
|
|
"OSGKeyboardExtTests/ClipboardSuggestionLifecycleTests",
|
|
"OSGKeyboardExtTests/KeyboardStateTests",
|
|
"OSGKeyboardExtTests/KeyboardSurfaceStateTests",
|
|
"OSGKeyboardExtTests/KeyHitTestingTests",
|
|
"OSGKeyboardExtTests/LibrimeIntegrationTests",
|
|
"OSGKeyboardExtTests/PinyinNextKeyResolverTests",
|
|
"OSGKeyboardExtTests/RimeSchemaGeneratorTests",
|
|
"OSGKeyboardExtTests/RimePersonalDictionaryExporterTests",
|
|
"OSGKeyboardExtTests/TypingTouchTrackerTests",
|
|
"OSGKeyboardTests/AssistantFieldActionTests",
|
|
"OSGKeyboardTests/KeyboardTranslationConfigProtectionTests",
|
|
"OSGKeyboardTests/AIHintPoolTests",
|
|
"OSGKeyboardTests/AIHintKeywordExtractorTests",
|
|
"OSGKeyboardTests/AIAgentSkillLayoutTests",
|
|
"OSGKeyboardTests/AIUserSkillTests",
|
|
"OSGKeyboardTests/AIUserSkillStoreTests",
|
|
"OSGKeyboardTests/AIEventExtractionTests",
|
|
"OSGKeyboardTests/AIAddressExtractionTests",
|
|
"OSGKeyboardTests/AINoteExportTests",
|
|
"OSGKeyboardTests/ClipboardHistoryPolicyTests",
|
|
"OSGKeyboardTests/ClipboardHistoryStoreTests",
|
|
"OSGKeyboardTests/KeyboardExtensionMemoryBudgetTests"
|
|
]
|
|
},
|
|
"host_misc": {
|
|
"description": "Host deep links, tips, open-source license catalog (not on the PR critical path)",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/HostAppURLRegistryTests",
|
|
"OSGKeyboardTests/TipProductTests",
|
|
"OSGKeyboardTests/OpenSourceLicenseCatalogTests"
|
|
]
|
|
},
|
|
"pipeline_perf": {
|
|
"description": "Hermetic voice→polish stage timings (synthetic PCM, stub ASR/LLM; no mic/live network)",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/VoicePipelinePerformanceTests"
|
|
]
|
|
},
|
|
"mac": {
|
|
"description": "macOS host recorder, dictation VM, text insertion",
|
|
"platform": "mac",
|
|
"tests": [
|
|
"OSGKeyboardMacTests/MacAudioRecorderSnapshotStreamTests",
|
|
"OSGKeyboardMacTests/MacDictationViewModelTests",
|
|
"OSGKeyboardMacTests/MacTextInsertionServiceTests",
|
|
"OSGKeyboardMacTests/ProviderToolRequestCoordinatorTests"
|
|
]
|
|
},
|
|
"live_api": {
|
|
"description": "Optional live network and physical-device smoke; excluded from all/pr by design",
|
|
"platform": "ios",
|
|
"tests": [
|
|
"OSGKeyboardTests/FlowPhysicalAudioStressTests"
|
|
]
|
|
}
|
|
},
|
|
"presets": {
|
|
"all": {
|
|
"description": "Full iOS + Ext hermetic suite (includes host_misc + pipeline_perf; excludes mac and live_api)",
|
|
"groups": [
|
|
"config",
|
|
"account",
|
|
"managed_gateway",
|
|
"sync",
|
|
"polish",
|
|
"edit_last_input",
|
|
"cloud_asr",
|
|
"local_asr",
|
|
"utterance",
|
|
"flow",
|
|
"keyboard",
|
|
"host_misc",
|
|
"pipeline_perf"
|
|
]
|
|
},
|
|
"pr": {
|
|
"description": "Default CI / PR gate: critical path without host_misc, pipeline_perf, or mac",
|
|
"groups": [
|
|
"config",
|
|
"account",
|
|
"managed_gateway",
|
|
"sync",
|
|
"polish",
|
|
"edit_last_input",
|
|
"cloud_asr",
|
|
"local_asr",
|
|
"utterance",
|
|
"flow",
|
|
"keyboard"
|
|
]
|
|
},
|
|
"api": {
|
|
"description": "Online API contracts + polish/LLM stubs",
|
|
"groups": ["cloud_asr", "polish", "managed_gateway"]
|
|
},
|
|
"account": {
|
|
"description": "Account, Apple integrity, and referral-link contracts",
|
|
"groups": ["account"]
|
|
},
|
|
"managed": {
|
|
"description": "Managed gateway grant and provider transports",
|
|
"groups": ["managed_gateway", "cloud_asr"]
|
|
},
|
|
"asr": {
|
|
"description": "Cloud + local ASR + utterance stitching",
|
|
"groups": ["cloud_asr", "local_asr", "utterance"]
|
|
},
|
|
"polish": {
|
|
"description": "Polish-only",
|
|
"groups": ["polish"]
|
|
},
|
|
"edit": {
|
|
"description": "Long-press editing lifecycle and prompt contract only",
|
|
"groups": ["edit_last_input"]
|
|
},
|
|
"keyboard": {
|
|
"description": "Keyboard typing/Rime plus flow handoff/mic (keyboard-critical)",
|
|
"groups": ["keyboard", "flow"]
|
|
},
|
|
"flow": {
|
|
"description": "Flow session / handoff only",
|
|
"groups": ["flow"]
|
|
},
|
|
"sync": {
|
|
"description": "iCloud sync only",
|
|
"groups": ["sync"]
|
|
},
|
|
"perf": {
|
|
"description": "Hermetic voice→polish pipeline stage timings only",
|
|
"groups": ["pipeline_perf"]
|
|
},
|
|
"mac": {
|
|
"description": "macOS host tests only",
|
|
"groups": ["mac"]
|
|
}
|
|
}
|
|
}
|