Skip to content

feat(capture): add durable microphone sessions - #68

Merged
douglasjarquin merged 3 commits into
mainfrom
codex/issue-4-durable-capture
Aug 15, 2026
Merged

feat(capture): add durable microphone sessions#68
douglasjarquin merged 3 commits into
mainfrom
codex/issue-4-durable-capture

Conversation

@douglasjarquin

Copy link
Copy Markdown
Owner

Closes #4

Summary

  • Add a file-backed SessionStore with one Application Support directory per dictation.
  • Atomically persist session.json before capture and model audio.caf, raw.txt, and clean.txt paths.
  • Add AudioRecorder over AVAudioEngine input-node tap with mono linear PCM CAF capture, minimal buffer forwarding, and teardown on every terminal path.
  • Integrate start, stop, cancel, interruption, failure, timing, recovery, playback, and reveal behavior through DictationCoordinator.
  • Add focused contracts for atomic metadata, recovery, legal lifecycle, buffer forwarding, path safety, retention, playback, and 100 coordinator cycles.

Verification

  • swift run oigo-issue4-contract-tests
  • swift run oigo-issue3-contract-tests
  • swift run oigo-spike-contract-tests
  • swift build --product Oigo
  • plutil -lint Oigo.xcodeproj/project.pbxproj
  • plutil -lint Oigo/Info.plist
  • git diff --check

The available host is Command Line Tools only.
Bundled-app microphone/TCC capture, force-quit recovery, 30-minute live recording, Instruments memory measurement, and native AVAudioEngine 100-cycle evidence remain explicitly unverified.

@douglasjarquin
douglasjarquin merged commit 490121e into main Aug 15, 2026
1 check passed
@douglasjarquin
douglasjarquin deleted the codex/issue-4-durable-capture branch August 15, 2026 05:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[03/13 · MVP] Add durable microphone capture and crash-recoverable sessions

1 participant