summaryrefslogtreecommitdiff
path: root/SPEC.md
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2026-07-24 14:15:05 +0200
committerYuval Adam <_@yuv.al>2026-07-24 14:15:05 +0200
commit8007c77e415130d9aab431e6b7199286bd3b7caf (patch)
tree5d6bda05738673518616e1af99c90c6ce4d612db /SPEC.md
parent31fa21fdd1c6bccec73ccabdb49316c9813b0a9b (diff)
Preserve recordings with dated transcripts
Diffstat (limited to 'SPEC.md')
-rw-r--r--SPEC.md10
1 files changed, 5 insertions, 5 deletions
diff --git a/SPEC.md b/SPEC.md
index d79ef59..2252541 100644
--- a/SPEC.md
+++ b/SPEC.md
@@ -51,7 +51,7 @@ The terminal-independent Python core now:
- invokes `transcribe-cli` as a cancellable child process;
- uses `parakeet-unified-en-0.6b-Q8_0.gguf` (approximately 698 MiB);
- parses JSONL batch output;
-- persists collision-safe UTF-8 transcript files atomically; and
+- persists UTF-8 transcripts and their WAV recordings together; and
- exposes the same core to the standalone terminal frontend and daemon.
Development can use runtime assets from the sibling `transcribe-parakeet` checkout. Installed assets default to `~/.local/bin/transcribe-cli` and `~/.local/share/parley/models/`. The current runtime binary links to CUDA 13 and Intel MKL libraries. Packaging must declare those host dependencies or later supply a more portable build.
@@ -212,8 +212,8 @@ Binary and model paths are configuration, not hard-coded repository assumptions.
### 6.3 Persistence
-- Save every successful transcript before insertion.
-- Use collision-safe names containing a local timestamp.
+- Save every successful transcript and its WAV recording before insertion.
+- Group recordings by local date and save each pair as `HH-MM-SS.txt` and `HH-MM-SS.wav`.
- Store user data under an XDG-appropriate data directory by default; support a configurable transcript directory.
- Write UTF-8 text with a final newline.
- Keep `LastTranscript` and its path available over D-Bus.
@@ -354,7 +354,7 @@ Secrets and portal restore tokens must not be exposed over D-Bus or written to l
## 11. Security and privacy
- Audio and text remain local unless the user explicitly copies or pastes them into another service/application.
-- Temporary audio is deleted after transcription, cancellation, or error unless a future diagnostic option explicitly retains it.
+- Audio from successful transcriptions is retained beside its transcript. Temporary audio is deleted after cancellation or error.
- The recording state must always be visibly indicated.
- Do not log transcript contents by default.
- Portal control is opt-in and revocable.
@@ -440,7 +440,7 @@ Exit criterion: all daemon states and failures are represented without blocking
- state-machine transitions and invalid calls;
- cancellation and child-process cleanup;
- JSONL parsing, including malformed/no-result/error rows;
-- collision-safe transcript paths and atomic persistence;
+- dated transcript and WAV pair persistence;
- D-Bus methods, properties, signals, and typed errors;
- insertion fallback selection;
- configuration migration/defaults;