Refactor transcript file handling to use JSON metadata

This commit changes the way transcriptions are stored and accessed.
Instead of using plain text files (`.transcript.txt`), transcriptions
will now be part of a JSON metadata file (`<stem>.json`). This allows
for richer metadata to be stored alongside the transcript, such as
duration, and provides a more robust mechanism for tracking
transcription states.

The changes include:
- Updating documentation and code to reflect the new `.json` file
  extension.
- Modifying file handling logic to read and write JSON metadata.
- Adjusting tests to accommodate the new file format.
This commit is contained in:
2026-04-27 13:08:36 +02:00
parent 66b3b7e4c8
commit c15590f3e0
10 changed files with 78 additions and 46 deletions
+4 -4
View File
@@ -319,10 +319,10 @@ mod tests {
}
/// Seed a `<stem>.json` next to a (presumed already-touched)
/// `<stem>.m4a`. Variant is `Transcript::Silent` because these
/// tests historically used an empty `.transcript.txt`, which
/// mapped to `TranscriptState::Silent`. Tests that need real
/// content call `seed_meta_with` with the desired variant.
/// `<stem>.m4a`. Variant is `Transcript::Silent` — these tests
/// only care that the recording is in *some* terminal state
/// (transcribed), not what was actually said. Tests that need
/// real content call `seed_meta_with` with the desired variant.
async fn seed_meta(case_dir: &std::path::Path, stem: &str) {
crate::paths::write_recording_meta_sync(
case_dir,