feat(kon): add full transcript provenance — enriched schema, metadata pipeline, error log
Schema enrichment: - transcripts table: +engine, +model_id, +inference_ms, +sample_rate, +audio_channels, +format_mode, +remove_fillers, +british_english, +anti_hallucination - New error_log table: context, error_code, message, metadata (JSON) - 5 indices on frequently queried columns Metadata pipeline: - TranscriptMetadata struct in kon-core for full provenance capture - LocalEngine tracks loaded ModelId, returns TimedTranscript with inference_ms - std::time::Instant timing around transcribe-rs inference calls - Tauri transcription commands emit inference_ms in event payloads - InsertTranscriptParams accepts all provenance fields - log_error() for structured error logging to SQLite Every transcript is now fully reproducible from its stored metadata. 23 tests passing, clippy clean. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -84,10 +84,11 @@ pub async fn load_model(
|
||||
}
|
||||
|
||||
let engine = state.whisper_engine.clone();
|
||||
let mid = id.clone();
|
||||
tokio::task::spawn_blocking(move || {
|
||||
let model = kon_transcription::load_whisper(&model_file)
|
||||
.map_err(|e| e.to_string())?;
|
||||
engine.load(model);
|
||||
engine.load(model, mid);
|
||||
Ok::<_, String>(())
|
||||
})
|
||||
.await
|
||||
@@ -152,10 +153,11 @@ pub async fn load_parakeet_model(
|
||||
}
|
||||
|
||||
let engine = state.parakeet_engine.clone();
|
||||
let mid = id.clone();
|
||||
tokio::task::spawn_blocking(move || {
|
||||
let model = kon_transcription::load_parakeet(&dir)
|
||||
.map_err(|e| e.to_string())?;
|
||||
engine.load(model);
|
||||
engine.load(model, mid);
|
||||
Ok::<_, String>(())
|
||||
})
|
||||
.await
|
||||
|
||||
Reference in New Issue
Block a user