diff --git a/docs/obsidian-review-8004-issuecomment-3839142330.md b/docs/obsidian-review-8004-issuecomment-3839142330.md
deleted file mode 100644
index 335da19..0000000
--- a/docs/obsidian-review-8004-issuecomment-3839142330.md
+++ /dev/null
@@ -1,139 +0,0 @@
-# Obsidian Review Bot Comment (PR #8004) — main 브랜치 기준
-
-- Source: https://github.com/obsidianmd/obsidian-releases/pull/8004#issuecomment-3839142330
-- GitHub main SHA: e544a0fb1f370c7a06bafc750c39452f5aca3b5f
-- Updated (UTC): 2026-02-03T05:29:19Z
-
----
-
-## Required Findings (main 브랜치 기준)
-
-> [!IMPORTANT]
-> 아래 링크는 **GitHub main 브랜치 커밋** 기준입니다.
-
----
-
-### 'audio.sampleRate' may use Object's default stringification format ('[object Object]') when stringified.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/infrastructure/api/SettingsValidator.ts#L299-L299](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/infrastructure/api/SettingsValidator.ts#L299-L299)
- 수정 주석: 객체가 될 수 있는 값은 String(...) 또는 JSON.stringify(...)로 명시 변환하고 타입을 좁힙니다.
-
-### 'value' may use Object's default stringification format ('[object Object]') when stringified.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/progress/StatusMessage.ts#L273-L273](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/progress/StatusMessage.ts#L273-L273)
- 수정 주석: 객체가 될 수 있는 값은 String(...) 또는 JSON.stringify(...)로 명시 변환하고 타입을 좁힙니다.
-
-### Use sentence case for UI text.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L395-L395](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L396-L396](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L396-L396)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L512-L512](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L512-L512)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L586-L586](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L623-L623](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L710-L710](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L759-L759](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L155-L155](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L155-L155)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L319-L319](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L319-L319)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L357-L357](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L357-L357)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L368-L368](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L368-L368)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L369-L369](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L369-L369)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L380-L380](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L380-L380)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L403-L403](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L403-L403)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L405-L405](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L405-L405)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L527-L527](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L527-L527)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTabOptimized.ts#L473-L473](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTabOptimized.ts#L473-L473)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTabOptimized.ts#L482-L482](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTabOptimized.ts#L482-L482)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTabRefactored.ts#L156-L156](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTabRefactored.ts#L156-L156)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L42-L42](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L42-L42)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L64-L64](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L64-L64)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L65-L65](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L65-L65)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L81-L81](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L81-L81)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L84-L84)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L96-L96](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L96-L96)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/DeepgramSettings.ts#L581-L581](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/DeepgramSettings.ts#L581-L581)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L83-L83](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L83-L83)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L84-L84)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L85-L85](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L85-L85)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L309-L309](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L309-L309)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-
----
-
-## Optional Findings (main 브랜치 기준)
-
-- (없음)
-
----
-
-## Original Review Comment
-
-```markdown
-Thank you for your submission, an automated scan of your plugin code's revealed the following issues:
-
-### Required
-
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/infrastructure/api/SettingsValidator.ts#L299-L299)
-'audio.sampleRate' may use Object's default stringification format ('[object Object]') when stringified.
-
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/progress/StatusMessage.ts#L273-L273)
-'value' may use Object's default stringification format ('[object Object]') when stringified.
-
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)[\[2\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L396-L396)[\[3\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L512-L512)[\[4\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)[\[5\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)[\[6\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)[\[7\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)[\[8\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L155-L155)[\[9\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L319-L319)[\[10\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L357-L357)[\[11\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L368-L368)[\[12\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L369-L369)[\[13\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L380-L380)[\[14\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L403-L403)[\[15\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L405-L405)[\[16\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTab.ts#L527-L527)[\[17\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTabOptimized.ts#L473-L473)[\[18\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTabOptimized.ts#L482-L482)[\[19\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SettingsTabRefactored.ts#L156-L156)[\[20\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L42-L42)[\[21\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L64-L64)[\[22\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L65-L65)[\[23\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L81-L81)[\[24\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L84-L84)[\[25\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/SimpleSettingsTab.ts#L96-L96)[\[26\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/DeepgramSettings.ts#L581-L581)[\[27\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L83-L83)[\[28\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L84-L84)[\[29\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L85-L85)[\[30\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/components/ProviderSettings.ts#L309-L309)[\[31\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)[\[32\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)[\[33\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)[\[34\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)[\[35\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)[\[36\]](https://github.com/asyouplz/SpeechNote/blob/e544a0fb1f370c7a06bafc750c39452f5aca3b5f/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
-Use sentence case for UI text.
-
-
-
----
-
-### Optional
-
-
-
----
-
-
-
-Do NOT open a new PR for re-validation.
-Once you have pushed some changes to your repository the bot will rescan within 6 hours
-If you think some of the required changes are incorrect, please comment with `/skip` and the reason why you think the results are incorrect.
-To run these checks locally, install the [eslint plugin](https://github.com/obsidianmd/eslint-plugin) in your project.
-Do NOT rebase this PR, this will be handled by the reviewer once the plugin has been approved.
-```
\ No newline at end of file
diff --git a/docs/obsidian-review-8004-issuecomment-3839840641.md b/docs/obsidian-review-8004-issuecomment-3840783932.md
similarity index 54%
rename from docs/obsidian-review-8004-issuecomment-3839840641.md
rename to docs/obsidian-review-8004-issuecomment-3840783932.md
index 48f4cef..9837cda 100644
--- a/docs/obsidian-review-8004-issuecomment-3839840641.md
+++ b/docs/obsidian-review-8004-issuecomment-3840783932.md
@@ -1,8 +1,8 @@
# Obsidian Review Bot Comment (PR #8004) — main 브랜치 기준
-- Source: https://github.com/obsidianmd/obsidian-releases/pull/8004#issuecomment-3839840641
-- GitHub main SHA: 18a62e8a59070f874384a7f35b2abcfca81cd44b
-- Updated (UTC): 2026-02-03T08:28:29Z
+- Source: https://github.com/obsidianmd/obsidian-releases/pull/8004#issuecomment-3840783932
+- GitHub main SHA: 7531c3d2410fa964d6023fde75db6b234b34542c
+- Updated (UTC): 2026-02-03T11:34:35Z
---
@@ -14,81 +14,81 @@
---
### 'audio.sampleRate' may use Object's default stringification format ('[object Object]') when stringified.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/infrastructure/api/SettingsValidator.ts#L299-L299](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/infrastructure/api/SettingsValidator.ts#L299-L299)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/infrastructure/api/SettingsValidator.ts#L299-L299](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/infrastructure/api/SettingsValidator.ts#L299-L299)
수정 주석: 객체가 될 수 있는 값은 String(...) 또는 JSON.stringify(...)로 명시 변환하고 타입을 좁힙니다.
### 'value' may use Object's default stringification format ('[object Object]') when stringified.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/progress/StatusMessage.ts#L273-L273](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/progress/StatusMessage.ts#L273-L273)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/progress/StatusMessage.ts#L273-L273](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/progress/StatusMessage.ts#L273-L273)
수정 주석: 객체가 될 수 있는 값은 String(...) 또는 JSON.stringify(...)로 명시 변환하고 타입을 좁힙니다.
### Use sentence case for UI text.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L395-L395](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L395-L395](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L512-L512](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L512-L512)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L512-L512](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L512-L512)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L586-L586](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L586-L586](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L623-L623](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L623-L623](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L710-L710](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L710-L710](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L759-L759](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L759-L759](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L155-L155](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L155-L155)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L155-L155](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L155-L155)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L319-L319](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L319-L319)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L319-L319](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L319-L319)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L357-L357](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L357-L357)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L357-L357](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L357-L357)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L368-L368](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L368-L368)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L368-L368](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L368-L368)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L369-L369](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L369-L369)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L369-L369](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L369-L369)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L380-L380](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L380-L380)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L380-L380](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L380-L380)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L403-L403](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L403-L403)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L403-L403](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L403-L403)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L405-L405](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L405-L405)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L405-L405](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L405-L405)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L473-L473](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L473-L473)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L473-L473](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L473-L473)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L482-L482](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L482-L482)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L482-L482](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L482-L482)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabRefactored.ts#L156-L156](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabRefactored.ts#L156-L156)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabRefactored.ts#L156-L156](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabRefactored.ts#L156-L156)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L42-L42](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L42-L42)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L42-L42](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L42-L42)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L64-L64](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L64-L64)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L64-L64](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L64-L64)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L65-L65](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L65-L65)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L65-L65](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L65-L65)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L81-L81](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L81-L81)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L81-L81](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L81-L81)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L84-L84)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L84-L84)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L96-L96](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L96-L96)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L96-L96](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L96-L96)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/DeepgramSettings.ts#L581-L581](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/DeepgramSettings.ts#L581-L581)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/DeepgramSettings.ts#L581-L581](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/DeepgramSettings.ts#L581-L581)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L83-L83](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L83-L83)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L83-L83](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L83-L83)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L84-L84)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L84-L84)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L85-L85](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L85-L85)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L85-L85](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L85-L85)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L309-L309](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L309-L309)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L309-L309](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L309-L309)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
-- [18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
+- [7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일하되, 고유명사 표기는 유지합니다.
---
@@ -106,13 +106,13 @@ Thank you for your submission, an automated scan of your plugin code's revealed
### Required
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/infrastructure/api/SettingsValidator.ts#L299-L299)
+[\[1\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/infrastructure/api/SettingsValidator.ts#L299-L299)
'audio.sampleRate' may use Object's default stringification format ('[object Object]') when stringified.
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/progress/StatusMessage.ts#L273-L273)
+[\[1\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/progress/StatusMessage.ts#L273-L273)
'value' may use Object's default stringification format ('[object Object]') when stringified.
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)[\[2\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L512-L512)[\[3\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)[\[4\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)[\[5\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)[\[6\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)[\[7\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L155-L155)[\[8\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L319-L319)[\[9\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L357-L357)[\[10\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L368-L368)[\[11\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L369-L369)[\[12\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L380-L380)[\[13\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L403-L403)[\[14\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTab.ts#L405-L405)[\[15\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L473-L473)[\[16\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabOptimized.ts#L482-L482)[\[17\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SettingsTabRefactored.ts#L156-L156)[\[18\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L42-L42)[\[19\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L64-L64)[\[20\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L65-L65)[\[21\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L81-L81)[\[22\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L84-L84)[\[23\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/SimpleSettingsTab.ts#L96-L96)[\[24\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/DeepgramSettings.ts#L581-L581)[\[25\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L83-L83)[\[26\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L84-L84)[\[27\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L85-L85)[\[28\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/components/ProviderSettings.ts#L309-L309)[\[29\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)[\[30\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)[\[31\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)[\[32\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)[\[33\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)[\[34\]](https://github.com/asyouplz/SpeechNote/blob/18a62e8a59070f874384a7f35b2abcfca81cd44b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
+[\[1\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)[\[2\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L512-L512)[\[3\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)[\[4\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)[\[5\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)[\[6\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)[\[7\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L155-L155)[\[8\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L319-L319)[\[9\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L357-L357)[\[10\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L368-L368)[\[11\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L369-L369)[\[12\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L380-L380)[\[13\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L403-L403)[\[14\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTab.ts#L405-L405)[\[15\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L473-L473)[\[16\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabOptimized.ts#L482-L482)[\[17\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SettingsTabRefactored.ts#L156-L156)[\[18\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L42-L42)[\[19\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L64-L64)[\[20\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L65-L65)[\[21\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L81-L81)[\[22\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L84-L84)[\[23\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/SimpleSettingsTab.ts#L96-L96)[\[24\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/DeepgramSettings.ts#L581-L581)[\[25\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L83-L83)[\[26\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L84-L84)[\[27\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L85-L85)[\[28\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/components/ProviderSettings.ts#L309-L309)[\[29\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)[\[30\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)[\[31\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)[\[32\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)[\[33\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)[\[34\]](https://github.com/asyouplz/SpeechNote/blob/7531c3d2410fa964d6023fde75db6b234b34542c/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
Use sentence case for UI text.
diff --git a/docs/obsidian-review-8004.md b/docs/obsidian-review-8004.md
deleted file mode 100644
index 4cda2ac..0000000
--- a/docs/obsidian-review-8004.md
+++ /dev/null
@@ -1,255 +0,0 @@
-# Obsidian Review Bot Comment (PR #8004) — main 브랜치 기준
-
-- Source: https://github.com/obsidianmd/obsidian-releases/pull/8004#issuecomment-3835510894
-- GitHub main SHA: e7e0e6b2ccb201005ce892843a88bccedd6c7318
-- Updated (UTC): 2026-02-03 01:53:45Z
-
----
-
-## Required Findings (main 브랜치 기준)
-
-> [!IMPORTANT]
-> 아래 링크는 **GitHub main 브랜치 커밋** 기준입니다.
-
----
-
-### 'audio.sampleRate' may use Object's default stringification format ('[object Object]') when stringified.
-- [src/infrastructure/api/SettingsValidator.ts#L288-L288](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/infrastructure/api/SettingsValidator.ts#L288-L288)
- 수정 주석: 객체가 될 수 있는 값은 String(...) 또는 JSON.stringify(...)로 명시 변환하고 타입을 좁힙니다.
-
-### Expected an error object to be thrown.
-- [src/infrastructure/api/providers/deepgram/DeepgramService.ts#L665-L665](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/infrastructure/api/providers/deepgram/DeepgramService.ts#L665-L665)
- 수정 주석: 문자열 대신 Error 인스턴스(예: new Error(...))를 throw하거나 기존 error를 그대로 재throw합니다.
-- [src/infrastructure/api/providers/deepgram/DeepgramServiceRefactored.ts#L229-L229](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/infrastructure/api/providers/deepgram/DeepgramServiceRefactored.ts#L229-L229)
- 수정 주석: 문자열 대신 Error 인스턴스(예: new Error(...))를 throw하거나 기존 error를 그대로 재throw합니다.
-
-### Disabling '@typescript-eslint/no-explicit-any' is not allowed.
-- [src/patterns/Singleton.ts#L69-L69](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/patterns/Singleton.ts#L69-L69)
- 수정 주석: eslint-disable를 제거하고 any 대신 명시적 타입/제네릭(예: unknown[])으로 대체합니다.
-- [src/patterns/Singleton.ts#L75-L75](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/patterns/Singleton.ts#L75-L75)
- 수정 주석: eslint-disable를 제거하고 any 대신 명시적 타입/제네릭(예: unknown[])으로 대체합니다.
-
-### Unused eslint-disable directive (no problems were reported from '@typescript-eslint/no-unsafe-argument').
-- [src/patterns/Singleton.ts#L80](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/patterns/Singleton.ts#L80)
- 수정 주석: 사용되지 않는 eslint-disable 주석을 삭제합니다.
-
-### Use sentence case for UI text.
-- [src/ui/formatting/FormatOptions.ts#L271-L271](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/formatting/FormatOptions.ts#L271-L271)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L395-L395](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L396-L396](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L396-L396)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L498-L498](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L498-L498)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L586-L586](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L589-L589](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L589-L589)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L623-L623](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L710-L710](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L724-L724](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L724-L724)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L759-L759](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L922-L922](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L922-L922)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/EnhancedSettingsTab.ts#L930-L930](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L930-L930)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L155-L155](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L155-L155)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L265-L265](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L265-L265)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L319-L319](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L319-L319)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L357-L357](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L357-L357)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L368-L368](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L368-L368)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L369-L369](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L369-L369)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L371-L371](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L371-L371)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L380-L380](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L380-L380)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L403-L403](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L403-L403)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L405-L405](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L405-L405)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTab.ts#L527-L527](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L527-L527)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTabOptimized.ts#L473-L473](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTabOptimized.ts#L473-L473)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTabOptimized.ts#L482-L482](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTabOptimized.ts#L482-L482)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SettingsTabRefactored.ts#L156-L156](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTabRefactored.ts#L156-L156)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SimpleSettingsTab.ts#L42-L42](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L42-L42)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SimpleSettingsTab.ts#L64-L64](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L64-L64)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SimpleSettingsTab.ts#L65-L65](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L65-L65)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SimpleSettingsTab.ts#L68-L68](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L68-L68)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SimpleSettingsTab.ts#L81-L81](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L81-L81)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SimpleSettingsTab.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L84-L84)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/SimpleSettingsTab.ts#L96-L96](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L96-L96)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ApiKeyValidator.ts#L73-L73](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ApiKeyValidator.ts#L73-L73)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/AudioSettings.ts#L41-L41](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/AudioSettings.ts#L41-L41)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/AudioSettings.ts#L64-L64](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/AudioSettings.ts#L64-L64)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/AudioSettings.ts#L65-L65](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/AudioSettings.ts#L65-L65)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/AudioSettings.ts#L114-L114](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/AudioSettings.ts#L114-L114)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/DeepgramSettings.ts#L581-L581](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/DeepgramSettings.ts#L581-L581)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/DeepgramSettings.ts#L617-L617](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/DeepgramSettings.ts#L617-L617)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L83-L83](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L83-L83)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L84-L84](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L84-L84)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L85-L85](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L85-L85)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L222-L222](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L222-L222)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L223-L223](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L223-L223)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L224-L224](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L224-L224)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L225-L225](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L225-L225)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L226-L226](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L226-L226)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L309-L309](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L309-L309)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L352-L352](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L352-L352)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L408-L408](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L408-L408)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L435-L435](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L435-L435)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ProviderSettings.ts#L438-L438](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L438-L438)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/components/ShortcutSettings.ts#L488-L488](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ShortcutSettings.ts#L488-L488)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L98-L98](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L98-L98)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L236-L236](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L236-L236)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L237-L237](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L237-L237)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L238-L238](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L238-L238)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L239-L239](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L239-L239)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L582-L582](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L582-L582)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L585-L585](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L585-L585)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L844-L844](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L844-L844)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L847-L847](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L847-L847)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainer.ts#L859-L859](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L859-L859)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L303-L303](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L303-L303)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L304-L304](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L304-L304)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L305-L305](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L305-L305)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/components/APIKeyManager.ts#L822-L822](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/APIKeyManager.ts#L822-L822)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L66-L66](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L66-L66)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L99-L99](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L99-L99)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L100-L100](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L100-L100)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L101-L101](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L101-L101)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L102-L102](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L102-L102)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L103-L103](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L103-L103)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-- [src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L883-L883](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L883-L883)
- 수정 주석: UI 문구를 sentence case(첫 단어만 대문자)로 통일합니다.
-
-### 'value' may use Object's default stringification format ('[object Object]') when stringified.
-- [src/ui/progress/StatusMessage.ts#L275-L275](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/progress/StatusMessage.ts#L275-L275)
- 수정 주석: 객체가 될 수 있는 값은 String(...) 또는 JSON.stringify(...)로 명시 변환하고 타입을 좁힙니다.
-
----
-
-## Optional Findings (main 브랜치 기준)
-
-- (없음)
-
----
-
-## Original Review Comment
-
-```markdown
-Thank you for your submission, an automated scan of your plugin code's revealed the following issues:
-
-### Required
-
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/infrastructure/api/SettingsValidator.ts#L288-L288)
-'audio.sampleRate' may use Object's default stringification format ('[object Object]') when stringified.
-
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/infrastructure/api/providers/deepgram/DeepgramService.ts#L665-L665)[\[2\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/infrastructure/api/providers/deepgram/DeepgramServiceRefactored.ts#L229-L229)
-Expected an error object to be thrown.
-
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/patterns/Singleton.ts#L69-L69)[\[2\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/patterns/Singleton.ts#L75-L75)
-Disabling '@typescript-eslint/no-explicit-any' is not allowed.
-
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/patterns/Singleton.ts#L80)
-Unused eslint-disable directive (no problems were reported from '@typescript-eslint/no-unsafe-argument').
-
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/formatting/FormatOptions.ts#L271-L271)[\[2\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L395-L395)[\[3\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L396-L396)[\[4\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L498-L498)[\[5\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L586-L586)[\[6\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L589-L589)[\[7\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L623-L623)[\[8\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L710-L710)[\[9\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L724-L724)[\[10\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L759-L759)[\[11\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L922-L922)[\[12\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/EnhancedSettingsTab.ts#L930-L930)[\[13\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L155-L155)[\[14\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L265-L265)[\[15\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L319-L319)[\[16\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L357-L357)[\[17\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L368-L368)[\[18\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L369-L369)[\[19\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L371-L371)[\[20\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L380-L380)[\[21\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L403-L403)[\[22\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L405-L405)[\[23\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTab.ts#L527-L527)[\[24\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTabOptimized.ts#L473-L473)[\[25\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTabOptimized.ts#L482-L482)[\[26\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SettingsTabRefactored.ts#L156-L156)[\[27\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L42-L42)[\[28\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L64-L64)[\[29\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L65-L65)[\[30\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L68-L68)[\[31\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L81-L81)[\[32\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L84-L84)[\[33\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/SimpleSettingsTab.ts#L96-L96)[\[34\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ApiKeyValidator.ts#L73-L73)[\[35\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/AudioSettings.ts#L41-L41)[\[36\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/AudioSettings.ts#L64-L64)[\[37\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/AudioSettings.ts#L65-L65)[\[38\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/AudioSettings.ts#L114-L114)[\[39\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/DeepgramSettings.ts#L581-L581)[\[40\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/DeepgramSettings.ts#L617-L617)[\[41\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L83-L83)[\[42\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L84-L84)[\[43\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L85-L85)[\[44\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L222-L222)[\[45\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L223-L223)[\[46\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L224-L224)[\[47\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L225-L225)[\[48\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L226-L226)[\[49\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L309-L309)[\[50\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L352-L352)[\[51\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L408-L408)[\[52\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L435-L435)[\[53\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ProviderSettings.ts#L438-L438)[\[54\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/components/ShortcutSettings.ts#L488-L488)[\[55\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L98-L98)[\[56\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L197-L197)[\[57\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L198-L198)[\[58\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L199-L199)[\[59\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L236-L236)[\[60\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L237-L237)[\[61\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L238-L238)[\[62\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L239-L239)[\[63\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L582-L582)[\[64\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L585-L585)[\[65\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L844-L844)[\[66\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L847-L847)[\[67\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainer.ts#L859-L859)[\[68\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L289-L289)[\[69\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L290-L290)[\[70\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L291-L291)[\[71\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L303-L303)[\[72\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L304-L304)[\[73\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts#L305-L305)[\[74\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/APIKeyManager.ts#L822-L822)[\[75\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L66-L66)[\[76\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L99-L99)[\[77\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L100-L100)[\[78\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L101-L101)[\[79\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L102-L102)[\[80\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L103-L103)[\[81\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/settings/provider/components/AdvancedSettingsPanel.ts#L883-L883)
-Use sentence case for UI text.
-
-[\[1\]](https://github.com/asyouplz/SpeechNote/blob/e7e0e6b2ccb201005ce892843a88bccedd6c7318/src/ui/progress/StatusMessage.ts#L275-L275)
-'value' may use Object's default stringification format ('[object Object]') when stringified.
-
-
-
----
-
-### Optional
-
-
-
----
-
-
-
-Do NOT open a new PR for re-validation.
-Once you have pushed some changes to your repository the bot will rescan within 6 hours
-If you think some of the required changes are incorrect, please comment with `/skip` and the reason why you think the results are incorrect.
-To run these checks locally, install the [eslint plugin](https://github.com/obsidianmd/eslint-plugin) in your project.
-Do NOT rebase this PR, this will be handled by the reviewer once the plugin has been approved.
-
-```
diff --git a/src/infrastructure/api/SettingsValidator.ts b/src/infrastructure/api/SettingsValidator.ts
index 4cfa8b5..ed37758 100644
--- a/src/infrastructure/api/SettingsValidator.ts
+++ b/src/infrastructure/api/SettingsValidator.ts
@@ -284,19 +284,31 @@ export class SettingsValidator {
) {
const sampleRateLabel = (() => {
if (typeof audio.sampleRate === 'number') {
- return String(audio.sampleRate);
+ return audio.sampleRate.toString();
}
if (typeof audio.sampleRate === 'string') {
return audio.sampleRate;
}
- if (audio.sampleRate !== null && typeof audio.sampleRate === 'object') {
- try {
- return JSON.stringify(audio.sampleRate);
- } catch {
- return '[unserializable]';
- }
+ if (typeof audio.sampleRate === 'boolean') {
+ return audio.sampleRate ? 'true' : 'false';
+ }
+ if (typeof audio.sampleRate === 'bigint') {
+ return audio.sampleRate.toString();
+ }
+ if (typeof audio.sampleRate === 'symbol') {
+ return audio.sampleRate.description ?? 'symbol';
+ }
+ if (audio.sampleRate === null) {
+ return 'null';
+ }
+ if (audio.sampleRate === undefined) {
+ return 'undefined';
+ }
+ try {
+ return JSON.stringify(audio.sampleRate);
+ } catch {
+ return '[unserializable]';
}
- return String(audio.sampleRate);
})();
errors.push({
field: 'audio.sampleRate',
diff --git a/src/ui/progress/StatusMessage.ts b/src/ui/progress/StatusMessage.ts
index a850646..dde567c 100644
--- a/src/ui/progress/StatusMessage.ts
+++ b/src/ui/progress/StatusMessage.ts
@@ -263,14 +263,20 @@ export class MessageStore {
private static formatParamValue(value: unknown): string {
if (value === null) return 'null';
- if (typeof value === 'object') {
- try {
- return JSON.stringify(value);
- } catch {
- return '[unserializable]';
- }
+ if (value === undefined) return 'undefined';
+
+ if (typeof value === 'string') return value;
+ if (typeof value === 'number') return Number.isNaN(value) ? 'NaN' : value.toString();
+ if (typeof value === 'boolean') return value ? 'true' : 'false';
+ if (typeof value === 'bigint') return value.toString();
+ if (typeof value === 'symbol') return value.description ?? 'symbol';
+ if (typeof value === 'function') return '[function]';
+
+ try {
+ return JSON.stringify(value);
+ } catch {
+ return '[unserializable]';
}
- return String(value);
}
/**
diff --git a/src/ui/settings/EnhancedSettingsTab.ts b/src/ui/settings/EnhancedSettingsTab.ts
index 02f1d2b..d0453b9 100644
--- a/src/ui/settings/EnhancedSettingsTab.ts
+++ b/src/ui/settings/EnhancedSettingsTab.ts
@@ -392,7 +392,7 @@ export class EnhancedSettingsTab extends PluginSettingTab {
.setDesc('Select the transcription service provider')
.addDropdown((dropdown) => {
dropdown
- .addOption('openai', 'OpenAI whisper')
+ .addOption('openai', 'Openai whisper')
.addOption('azure', 'Azure speech services')
.addOption('custom', 'Custom endpoint');
@@ -509,7 +509,7 @@ export class EnhancedSettingsTab extends PluginSettingTab {
if (api.provider === 'openai') {
new Setting(section)
.setName('Model')
- .setDesc('Select the OpenAI model')
+ .setDesc('Select the openai model')
.addDropdown((dropdown) => {
dropdown.addOption('whisper-1', 'Whisper v1');
dropdown.setValue(api.model);
@@ -583,9 +583,9 @@ export class EnhancedSettingsTab extends PluginSettingTab {
.setDesc('Select the audio format for recording')
.addDropdown((dropdown) => {
dropdown
- .addOption('webm', 'WebM (recommended)')
- .addOption('mp3', 'MP3')
- .addOption('m4a', 'M4A')
+ .addOption('webm', 'Webm (recommended)')
+ .addOption('mp3', 'Mp3')
+ .addOption('m4a', 'M4a')
.addOption('wav', 'Wav (lossless)');
dropdown.setValue(audio.format);
@@ -620,7 +620,7 @@ export class EnhancedSettingsTab extends PluginSettingTab {
// 샘플 레이트
new Setting(section)
.setName('Sample rate')
- .setDesc('Audio sample rate in Hz')
+ .setDesc('Audio sample rate in hertz')
.addDropdown((dropdown) => {
const rates = [8000, 16000, 22050, 44100, 48000];
rates.forEach((rate) => {
@@ -707,7 +707,7 @@ export class EnhancedSettingsTab extends PluginSettingTab {
new Setting(cacheSection)
.setName('Max cache size')
- .setDesc('Maximum cache size in MB')
+ .setDesc('Maximum cache size in megabytes')
.addSlider((slider) => {
slider
.setLimits(10, 500, 10)
@@ -756,7 +756,7 @@ export class EnhancedSettingsTab extends PluginSettingTab {
new Setting(perfSection)
.setName('Chunk size')
- .setDesc('File chunk size in MB')
+ .setDesc('File chunk size in megabytes')
.addSlider((slider) => {
slider
.setLimits(0.5, 10, 0.5)
diff --git a/src/ui/settings/SettingsTab.ts b/src/ui/settings/SettingsTab.ts
index 87a810a..5822aaa 100644
--- a/src/ui/settings/SettingsTab.ts
+++ b/src/ui/settings/SettingsTab.ts
@@ -152,7 +152,7 @@ export class SettingsTab extends PluginSettingTab {
dropdown
.addOption('auto', 'Auto (intelligent selection)')
- .addOption('whisper', 'OpenAI whisper')
+ .addOption('whisper', 'Openai whisper')
.addOption('deepgram', 'Deepgram')
.setValue(this.plugin.settings.provider || 'auto')
.onChange(async (value) => {
@@ -316,7 +316,7 @@ export class SettingsTab extends PluginSettingTab {
// API Endpoint
new Setting(containerEl)
.setName('API endpoint')
- .setDesc('OpenAI API endpoint (leave the default unless using a custom endpoint)')
+ .setDesc('Openai API endpoint (leave the default unless using a custom endpoint)')
.addText((text) =>
text
.setPlaceholder('https://api.openai.com/v1')
@@ -354,7 +354,7 @@ export class SettingsTab extends PluginSettingTab {
} catch (error) {
console.error('Error rendering Deepgram settings:', error);
deepgramContainer.createEl('p', {
- text: 'Error loading Deepgram settings.',
+ text: 'Error loading deepgram settings.',
cls: 'mod-warning',
});
}
@@ -365,8 +365,8 @@ export class SettingsTab extends PluginSettingTab {
private renderWhisperApiKey(containerEl: HTMLElement): void {
new Setting(containerEl)
- .setName('OpenAI API key')
- .setDesc('Enter your OpenAI API key for whisper transcription')
+ .setName('Openai API key')
+ .setDesc('Enter your openai API key for whisper transcription')
.addText((text) => {
text.setPlaceholder('Sk-...')
.setValue(this.maskApiKey(this.plugin.settings.apiKey || ''))
@@ -377,7 +377,7 @@ export class SettingsTab extends PluginSettingTab {
await this.plugin.saveSettings();
text.setValue(this.maskApiKey(value));
- new Notice('OpenAI API key saved.');
+ new Notice('Openai API key saved.');
}
});
@@ -400,9 +400,9 @@ export class SettingsTab extends PluginSettingTab {
private renderDeepgramApiKey(containerEl: HTMLElement): void {
new Setting(containerEl)
.setName('Deepgram API key')
- .setDesc('Enter your Deepgram API key for transcription')
+ .setDesc('Enter your deepgram API key for transcription')
.addText((text) => {
- text.setPlaceholder('Enter Deepgram API key...')
+ text.setPlaceholder('Enter deepgram API key...')
.setValue(this.maskApiKey(this.plugin.settings.deepgramApiKey || ''))
.onChange(async (value) => {
if (value && !value.includes('*')) {
diff --git a/src/ui/settings/SettingsTabOptimized.ts b/src/ui/settings/SettingsTabOptimized.ts
index 0315353..095fce6 100644
--- a/src/ui/settings/SettingsTabOptimized.ts
+++ b/src/ui/settings/SettingsTabOptimized.ts
@@ -470,7 +470,7 @@ class ApiSettingsSection extends SectionRenderer {
const section = this.container.createDiv('settings-section');
new Setting(section).setName('API').setHeading();
section.createEl('p', {
- text: 'OpenAI API 설정',
+ text: 'Openai API 설정',
cls: 'setting-item-description',
});
return section;
@@ -479,7 +479,7 @@ class ApiSettingsSection extends SectionRenderer {
private createApiKeyInput(section: HTMLElement): void {
const setting = new Setting(section)
.setName('API key')
- .setDesc('OpenAI API 키를 입력하세요. (sk-로 시작)');
+ .setDesc('Openai API 키를 입력하세요. (sk-로 시작)');
const inputContainer = setting.controlEl.createDiv('api-key-container');
const eventManager = this.eventManager;
diff --git a/src/ui/settings/SettingsTabRefactored.ts b/src/ui/settings/SettingsTabRefactored.ts
index 60c4ca2..96d3158 100644
--- a/src/ui/settings/SettingsTabRefactored.ts
+++ b/src/ui/settings/SettingsTabRefactored.ts
@@ -149,11 +149,11 @@ export class SettingsTabRefactored extends PluginSettingTab {
* API 설정 섹션 (개선된 버전)
*/
private createApiSection(containerEl: HTMLElement): void {
- const sectionEl = this.createSection(containerEl, 'API', 'OpenAI API 설정');
+ const sectionEl = this.createSection(containerEl, 'API', 'Openai API 설정');
const apiKeySetting = new Setting(sectionEl)
.setName('API key')
- .setDesc('OpenAI API 키를 입력하세요. (sk-로 시작)');
+ .setDesc('Openai API 키를 입력하세요. (sk-로 시작)');
const inputEl = apiKeySetting.controlEl.createEl('input', {
type: 'password',
diff --git a/src/ui/settings/SimpleSettingsTab.ts b/src/ui/settings/SimpleSettingsTab.ts
index 51ba62a..52b6825 100644
--- a/src/ui/settings/SimpleSettingsTab.ts
+++ b/src/ui/settings/SimpleSettingsTab.ts
@@ -39,7 +39,7 @@ export class SimpleSettingsTab extends PluginSettingTab {
this.debug('Adding options to dropdown...');
dropdown
.addOption('auto', 'Auto (intelligent selection)')
- .addOption('whisper', 'OpenAI whisper')
+ .addOption('whisper', 'Openai whisper')
.addOption('deepgram', 'Deepgram')
.setValue(this.plugin.settings.provider || 'auto')
.onChange(async (value) => {
@@ -61,8 +61,8 @@ export class SimpleSettingsTab extends PluginSettingTab {
// Auto 모드일 때는 양쪽 API 키 모두 표시
if (provider === 'auto' || provider === 'whisper') {
new Setting(containerEl)
- .setName('OpenAI API key')
- .setDesc('Enter your OpenAI API key for whisper')
+ .setName('Openai API key')
+ .setDesc('Enter your openai API key for whisper')
.addText((text) =>
text
.setPlaceholder('Sk-...')
@@ -78,10 +78,10 @@ export class SimpleSettingsTab extends PluginSettingTab {
if (provider === 'auto' || provider === 'deepgram') {
new Setting(containerEl)
.setName('Deepgram API key')
- .setDesc('Enter your Deepgram API key')
+ .setDesc('Enter your deepgram API key')
.addText((text) =>
text
- .setPlaceholder('Enter Deepgram API key...')
+ .setPlaceholder('Enter deepgram API key...')
.setValue(this.plugin.settings.deepgramApiKey || '')
.onChange(async (value) => {
this.plugin.settings.deepgramApiKey = value;
@@ -93,7 +93,7 @@ export class SimpleSettingsTab extends PluginSettingTab {
if (provider === 'deepgram') {
new Setting(containerEl)
.setName('Deepgram model')
- .setDesc('Select the Deepgram model to use')
+ .setDesc('Select the deepgram model to use')
.addDropdown((dropdown) =>
dropdown
.addOption('nova-2', 'Nova 2 (premium)')
diff --git a/src/ui/settings/components/DeepgramSettings.ts b/src/ui/settings/components/DeepgramSettings.ts
index 0d9bf63..aa35089 100644
--- a/src/ui/settings/components/DeepgramSettings.ts
+++ b/src/ui/settings/components/DeepgramSettings.ts
@@ -578,7 +578,7 @@ export class DeepgramSettings {
// Maximum chunk size
const chunkSizeSetting = new Setting(container)
.setName('Maximum chunk size')
- .setDesc('Maximum size per chunk in MB (recommended: 50MB)')
+ .setDesc('Maximum size per chunk in megabytes (recommended: 50 megabytes)')
.addSlider((slider) => {
slider
.setLimits(10, 100, 10)
diff --git a/src/ui/settings/components/ProviderSettings.ts b/src/ui/settings/components/ProviderSettings.ts
index 124b014..20d8ec7 100644
--- a/src/ui/settings/components/ProviderSettings.ts
+++ b/src/ui/settings/components/ProviderSettings.ts
@@ -80,9 +80,9 @@ export class ProviderSettings {
.setDesc('Choose a specific provider or use automatic selection')
.addDropdown((dropdown) => {
dropdown
- .addOption('auto', '🤖 Automatic (recommended)')
- .addOption('whisper', '🎯 OpenAI whisper')
- .addOption('deepgram', '🚀 Deepgram')
+ .addOption('auto', '🤖 automatic (recommended)')
+ .addOption('whisper', '🎯 openai whisper')
+ .addOption('deepgram', '🚀 deepgram')
.setValue(this.currentProvider)
.onChange(async (value) => {
if (this.isProviderValue(value)) {
@@ -111,8 +111,8 @@ export class ProviderSettings {
this.renderSingleApiKey(
apiKeysContainer,
'whisper',
- 'OpenAI API key',
- 'Enter your OpenAI API key (starts with sk-)',
+ 'Openai API key',
+ 'Enter your openai API key (starts with sk-)',
'sk-...'
);
@@ -121,7 +121,7 @@ export class ProviderSettings {
apiKeysContainer,
'deepgram',
'Deepgram API key',
- 'Enter your Deepgram API key',
+ 'Enter your deepgram API key',
'your-deepgram-api-key'
);
}
@@ -306,7 +306,7 @@ export class ProviderSettings {
private renderABTestDetails(containerEl: HTMLElement): void {
new Setting(containerEl)
.setName('Traffic split')
- .setDesc('Percentage of requests to send to whisper vs Deepgram')
+ .setDesc('Percentage of requests to send to whisper vs deepgram')
.addSlider((slider) => {
const currentSplit = this.plugin.settings.abTestSplit || 50;
diff --git a/src/ui/settings/provider/ProviderSettingsContainer.ts b/src/ui/settings/provider/ProviderSettingsContainer.ts
index b5082b3..8aed687 100644
--- a/src/ui/settings/provider/ProviderSettingsContainer.ts
+++ b/src/ui/settings/provider/ProviderSettingsContainer.ts
@@ -194,9 +194,9 @@ export class ProviderSettingsContainer {
.setDesc('Select how to choose the transcription provider')
.addDropdown((dropdown) => {
dropdown
- .addOption('auto', '🤖 Automatic (recommended)')
- .addOption('whisper', '🎯 OpenAI whisper only')
- .addOption('deepgram', '🚀 Deepgram only')
+ .addOption('auto', '🤖 automatic (recommended)')
+ .addOption('whisper', '🎯 openai whisper only')
+ .addOption('deepgram', '🚀 deepgram only')
.setValue(this.currentProvider)
.onChange(async (value) => {
if (this.isProviderSelection(value)) {
diff --git a/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts
index a5a005b..baa688d 100644
--- a/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts
+++ b/src/ui/settings/provider/ProviderSettingsContainerRefactored.ts
@@ -286,9 +286,9 @@ export class ProviderSettingsContainerRefactored extends BaseSettingsComponent {
'Select how to choose the transcription provider'
).addDropdown((dropdown) => {
dropdown
- .addOption('auto', '🤖 Automatic')
- .addOption('whisper', '🎯 OpenAI whisper')
- .addOption('deepgram', '🚀 Deepgram')
+ .addOption('auto', '🤖 automatic')
+ .addOption('whisper', '🎯 openai whisper')
+ .addOption('deepgram', '🚀 deepgram')
.setValue(this.state.get().currentProvider)
.onChange((value) => {
void this.handleProviderChange(value);