[AGENT]
Summary
Design and implement an architecture for effectively long-running Chronote recordings across desktop and Discord without unbounded memory, disk, network, or AI-call backlog.
Product direction
The desired path is staged:
- Near term: compressed upload after stop for desktop recordings.
- Next: rolling upload and rolling transcription for desktop recordings.
- Long term: Discord meetings and desktop recordings should support effectively indefinite sessions by rolling artifacts, transcripts, summaries, and processing windows.
Current constraints
- Desktop recorder stores WAV sources locally until Stop.
- Desktop upload submits completed source files after capture stops.
- Desktop upload currently shares the 500 MB total upload cap.
- Desktop upload reads completed files into memory before POSTing.
- Discord meeting transcription can backlog behind global transcription concurrency and rate limits.
- Meeting end waits on pending transcription before notes generation.
Proposed scope
- Define bounded local storage rules for active recordings.
- Compress desktop audio during or immediately after capture.
- Add resumable/chunked upload semantics for desktop sources.
- Add rolling server-side processing units with durable status.
- Track queue depth, age, and per-meeting backlog.
- Decide when to generate rolling summaries versus final summaries.
- Define recovery behavior after desktop crash, network loss, backend restart, or worker restart.
- Revisit transcription concurrency/rate limits with production-safe configuration rather than hardcoded low limits.
Acceptance criteria
- A design exists for bounded long-running capture across desktop and Discord.
- Desktop no longer requires a full WAV file to remain below a single upload cap before any upload can start.
- Uploads can resume or recover without duplicating completed meetings.
- Transcription work can be processed incrementally without unbounded backlog.
- Meeting end latency is bounded or at least observable and recoverable.
- Metrics expose queue depth, queue age, and per-meeting processing lag.
- Tests cover chunk state transitions, retry/recovery, and final meeting assembly.
[AGENT]
Summary
Design and implement an architecture for effectively long-running Chronote recordings across desktop and Discord without unbounded memory, disk, network, or AI-call backlog.
Product direction
The desired path is staged:
Current constraints
Proposed scope
Acceptance criteria