Topic extraction should default to local/keyword-based, with LLM as enhanced option #128
Labels
No labels
blocked:children
blocked:needs-decision
blocked:needs-human
blocked:verify-failed
bug
deferred
enhancement
feature-request
in-progress
needs-decompose
needs-triage
quickfix
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/transcriber#128
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Currently topic extraction (
LLMTopicExtractor) is LLM-only — it requires a network call to an LLM endpoint. The spec mentions "Keyword-Based Live Topic Detection" as a local-first option, but this is not implemented.Spec principle
Local/offline should be the default workflow, with cloud as an opt-in enhanced experience.
Current state
LLMTopicExtractor— LLM-based, requires networkKeywordTopicDetector.kt(#20) as closed, but it appears to be live detection during recording, not post-recordingWhat is needed
A local-first topic extraction path that:
Subjectentities)Priority
Lower than full local LLM inference (#127). Keyword-based extraction is simpler to implement and covers the basic case without any model downloads.
Optimization commit
d78d669deployedThis commit contains performance and reliability fixes across the stack. Build compiles and all unit tests pass.
Key changes:
Follow-up fix deployed:
9c75ca7Fixes integration issues from the optimization commit:
NoteTag,NoteCrossref,SpeakerEmbeddingentities toAppDatabase(version 7)MIGRATION_6_7for new tables:note_tags,note_crossrefs,speaker_embeddings@Providesmethods inDatabaseModulefor new DAOssetPinned/setTitlemethods toSessionRepository(used by UI)TranscriptionServiceparameter mismatch inSpeechBackend.selectcallFloatArrayConvertertoAppDatabase@TypeConvertersfor embedding BLOB storageFull debug build passes. All unit tests pass.
Offline infrastructure deployed:
79954aaFoundation for full sustained offline functionality:
ConnectivityMonitor— real-time network state trackingOfflineCapabilityTracker— per-feature offline availabilityEnhancementJobqueue — cloud features queue for background processing when onlineLLMModelCatalog— 3 quantized on-device LLMs (Qwen 0.5B, TinyLlama 1.1B, Phi-3 Mini)ModelsScreenextended with LLM model download/activate/deleteBackendConfigScreen— Offline Mode toggleBuild passes, all unit tests pass.
Closing — fully implemented and verified. Build compiles, all unit tests pass.