Skip to content

Build Wispr Flow voice inbox and capture handoff #13

Description

@WalksWithASwagger

Context

Wispr Flow is now the user's live dictation layer. WhisperForge needs a first-class inbox for pasted dictation, uploaded audio, imported transcripts, and raw notes so capture can feed durable knowledge work instead of being trapped in ad hoc text fields.

Source: docs/WHISPERFORGE-MASTER-PLAN-2026-05-18.md (wf-voice-inbox, Phase 1).

Linear: BC-221.

Acceptance Criteria

  • Add a capture inbox model with source type, created time, title, status, and linked run identifiers.
  • Add a fast paste/import path optimized for Wispr Flow output and other already-transcribed text.
  • Normalize captures before pipeline execution so audio, pasted transcript, and imported note flows share downstream metadata.
  • Persist capture metadata into local run artifacts and markdown/Notion export metadata where applicable.
  • Document the capture workflow in README or the roadmap docs.

Tests/Evals

  • Unit tests for capture metadata serialization and normalization.
  • Rendered UI smoke coverage if a visible inbox surface is added.
  • Manual fixture using pasted Wispr Flow-style text.

Verification

  • make test
  • venv/bin/python tests/ui_smoke.py
  • git diff --check

Agent Instructions

Keep this as a capture layer, not a live dictation clone. Match existing Streamlit UI patterns and store artifacts under the existing cache/run architecture.

Out of Scope

Do not build a system-wide dictation overlay, browser extension, or mobile app in this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:featureUser-facing feature delivery.priority:p0Critical or first-wave delivery work.repo:spektorAIWork in the WalksWithASwagger/spektorAI repository.review-readyAgent-created PR is ready for human review.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions