{"record":{"id":"1aaf72588da33dec","repo":"Hmbown/CodeWhale","slug":"expected-speech-command","errorCode":null,"errorMessage":"expected speech command","messagePattern":"expected speech command","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/tui/src/lib.rs","lineNumber":7837,"sourceCode":"    #[test]\n    fn speech_command_parses_cli_passthrough_smoke() {\n        let cli = Cli::try_parse_from([\n            \"codewhale-tui\",\n            \"speech\",\n            \"hello\",\n            \"--model\",\n            \"tts\",\n            \"--format\",\n            \"pcm\",\n            \"--output-dir\",\n            \"audio\",\n            \"--voice\",\n            \"Mia\",\n        ])\n        .expect(\"speech command parses\");\n\n        let Some(Commands::Speech(args)) = cli.command else {\n            panic!(\"expected speech command\");\n        };\n        assert_eq!(args.text, \"hello\");\n        assert_eq!(\n            infer_speech_model(args.model.as_deref(), false, false),\n            \"mimo-v2.5-tts\"\n        );\n        assert_eq!(\n            normalize_speech_format(&args.format).as_deref(),\n            Some(\"pcm16\")\n        );\n        assert_eq!(args.output_dir, Some(PathBuf::from(\"audio\")));\n        assert_eq!(args.voice.as_deref(), Some(\"Mia\"));\n    }\n}\n\n/// Test API connectivity by making a minimal request\nasync fn test_api_connectivity(config: &Config) -> Result<()> {\n    use crate::client::DeepSeekClient;","sourceCodeStart":7819,"sourceCodeEnd":7855,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/433685b2024e7bc4c99e1e2e326bcad39b4d9d65/crates/tui/src/lib.rs#L7819-L7855","documentation":"Test-only panic in speech_command_parses_cli_passthrough_smoke: Cli::try_parse_from succeeded but the parsed subcommand was not Commands::Speech, meaning the 'speech' CLI verb is not registered or maps to a different command enum variant.","triggerScenarios":"Thrown at crates/tui/src/lib.rs:7837 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Register the Speech variant on the Commands enum used by the TUI Cli","Check clap derive attributes so 'speech' routes to Commands::Speech","Verify the subcommand name string matches the enum variant's clap naming"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"433685b2024e7bc4c99e1e2e326bcad39b4d9d65","analyzedAt":"2026-09-15T12:24:24.634Z","contentChangedAt":"2026-09-15T12:24:24.634Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}