Skip to content

Local speech QA: real-engine offline, browser formats and performance acceptance #23

Open

Description

@nolanmak

Outcome

Prove local STT separately from cloud/native-agent operation and publish reproducible evidence.

Acceptance criteria

  • Shared synthetic fixtures cover English, technical phrases, noise, silence and maximum supported input.
  • Real pinned engine/model transcribes WAV and browser formats with external networking disabled after setup.
  • Record checksum/hardware/cold-warm latency/memory and evaluate proposed <=10% clean-English WER and <=3s p95 warm completion for 10s clips.
  • Deterministic tests prove cancellation/session changes cannot dispatch stale or duplicate turns.
  • Typecheck, build, unit/integration suites and relevant Playwright tests pass.
  • Real microphone/browser acceptance is recorded or explicitly outstanding; mocked agent tests are not described as a fully offline native-agent conversation.
  • Documentation distinguishes local transcription from independently selected TTS and Codex/Claude model routing.

Required TDD workflow

For each behavior: write and run a focused failing test; confirm the failure is for missing behavior; implement minimally; refactor while green. Record actual red/green commands and outcomes. Use deterministic fixture transports/processes for contracts plus a real pinned engine/model smoke test. No personal sessions or recordings as test fixtures.

Completion evidence

Record commit/PR, test commands, engine/model versions and checksums, Mac hardware, real-engine results, and any unverified manual-device gates. Do not mark unverified acceptance criteria complete.

Verified evidence and remaining work

Implementation PR #25. Real Whisper base.en on Apple M3/24 GiB passed external-network-denied adapter checks. Twenty synthetic 10-second clean-English clips measured 0.60% normalized WER and 0.138s raw-engine warm p95; these are synthetic-voice results, not representative human accuracy. Model SHA/version, scripts, transcripts, timings and limits are committed in docs/local-whisper-qa.md and .json. Both independently managed engines ran together; stop isolation and offline restart passed.

Physical microphone/browser-device or native hotkey/focus/paste and sleep/wake checks remain unperformed. HTTP cancellation prevents output but may leave the engine computing; no immediate compute-interruption claim is made. Noisy silence can hallucinate despite digital-silence guards. This QA issue remains open for those release acceptance gates.

Activity

  1. nolanmak commented on Oct 15, 2026

    @nolanmak
    OwnerAuthor

    Final review fixes are covered by regression tests: private supervisor-token handoff and nine passing lifecycle tests; success startup deadline allows cold macOS runners while the deliberate unready deadline remains 0.5 seconds.

    Re-ran the final managed helper through the application adapters with external networking denied: model start → real local WAV/WebM transcription → stop passed. The explicit setup command also downloaded the pinned model and verified its expected SHA-256 successfully. No personal recordings or native-agent sessions were used.

    Physical microphone/device acceptance remains open as listed in this issue. No immediate server-compute cancellation or noisy-silence accuracy claim is made.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions