Files
OSGKeyboard/Tests/suite-manifest.json
T
Rocky 0f9280bd00 fix(keyboard): stabilize Flow startup under memory pressure
Delay competing Rime work, add extension memory telemetry and stress coverage, and refresh the 1.8 release assets and metadata for build 79.
2026-08-18 10:24:02 +08:00

252 lines
9.6 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"
]
},
"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",
"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",
"sync",
"polish",
"edit_last_input",
"cloud_asr",
"local_asr",
"utterance",
"flow",
"keyboard"
]
},
"api": {
"description": "Online API contracts + polish/LLM stubs",
"groups": ["cloud_asr", "polish"]
},
"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"]
}
}
}