You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(app): add None LLM provider and graceful protocol generation fallback
Add "None (Transcript Only)" option to the LLM Provider picker, allowing
users to skip protocol generation entirely and save only raw transcripts.
When an LLM provider (Claude CLI or OpenAI API) fails, the pipeline now
saves the transcript and marks the job as done with a warning instead of
failing. Transcript saving and audio copying are decoupled from protocol
generation so they always succeed regardless of LLM availability.
- Add `.none` case to ProtocolProvider enum
- Split PipelineQueue: transcript/audio save always runs, LLM is optional
- Catch protocol generation errors gracefully (warn, don't fail)
- Add transcriptPath to PipelineJob for transcript-only job access
- Rename Settings picker label to "LLM Provider"
- Update roadmap: mark fallback as done, add re-process item
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/roadmap.md
+12-5Lines changed: 12 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -125,17 +125,24 @@ Several pipeline failures are logged but not surfaced to the user:
125
125
- Show a warning badge on completed jobs that had degraded results
126
126
- Add a "warnings" field to `PipelineJob` to track what was skipped/degraded
127
127
128
-
### Protocol generation fallback
128
+
### Protocol generation fallback — DONE
129
+
130
+
**Status:** Implemented
131
+
132
+
If the configured LLM provider (Claude CLI or OpenAI API) fails, the pipeline now saves the raw transcript and marks the job as done with a warning instead of failing the entire job. A "None (Transcript Only)" provider option is also available for users who don't want LLM summarization.
133
+
134
+
### Re-process transcript-only jobs with LLM
129
135
130
136
**Status:** Not started
131
137
**Priority:** Medium
132
138
133
-
If the configured protocol provider (Claude CLI or OpenAI API) fails, the entire job fails with no recovery. Both providers implement the same `ProtocolGenerating` protocol.
139
+
When a job completes as transcript-only (either because the LLM provider was set to "None" or because protocol generation failed), users cannot re-process it with an LLM later without manually importing the audio again.
134
140
135
141
**Implementation approach:**
136
-
- Allow configuring a secondary/fallback provider in Settings
137
-
- Wrap `protocolGeneratorFactory()` call in `PipelineQueue.processNext()` with a try/catch that attempts the fallback provider
138
-
- Log which provider succeeded so the user knows
142
+
- Add a "Generate Protocol" button on completed transcript-only jobs in the menu bar UI
143
+
- Re-enter the pipeline at the protocol generation stage (transcript already saved)
144
+
- Use the currently configured LLM provider (may differ from original run)
145
+
- Need to store/locate the saved transcript path to avoid re-transcription
0 commit comments