Skip to content

fix: bound Speech lifecycle terminal work - #112

Merged
douglasjarquin merged 6 commits into
mainfrom
codex/issue-78
Aug 18, 2026
Merged

fix: bound Speech lifecycle terminal work#112
douglasjarquin merged 6 commits into
mainfrom
codex/issue-78

Conversation

@douglasjarquin

Copy link
Copy Markdown
Owner

Closes #78

Summary

  • Bound Speech startup, finalization, saved-audio retry, cancellation, interruption, and application shutdown with monotonic terminal budgets.
  • Return control at deadlines without waiting inside a structured scope for noncooperative losing work.
  • Keep CAF files and committed canonical raw segments recoverable while preventing volatile preview promotion after incomplete finalization.
  • Fence late results, callbacks, retry commits, shutdown terminalization, metadata, HUD updates, insertion, and newer operations by operation identity and expected session state.
  • Track owned loser tasks until actual completion and reap retained transcription resources only after the registry is empty.

Verification

  • Exact head: 6c25d916843d5db28693a6968f86933e08403baa.
  • Branch: codex/issue-78.
  • swift build passed.
  • swift build --product Oigo passed.
  • The full local verify.yml command set passed, including the spike and issue 3 through issue 11 harnesses.
  • The issue [V1 Phase 0 · P0] Bound Speech startup, finalization, cancellation, retry, and shutdown #78 harness passed all 12 scenarios, including the direct retry CAS regression, the late retry loser regression, the coordinator-level shutdown-versus-completed-retry regression, and 100 normal plus 100 adversarial lifecycle cycles.
  • Issue [04/13 · MVP] Add on-device transcription and saved-audio retry #5 passed all 14 scenarios.
  • LSP diagnostics are clean for all changed source and contract files.
  • Five exact-SHA pre-PR review lanes passed: context, gate, code, QA, and security.

Native surface evidence

  • Fresh launch artifact: /tmp/oigo-issue78-native-final-sha.rrdJoX/launch.png.
  • The centered Welcome to Oigo Step 1 of 7 surface and native microphone prompt rendered coherently.
  • The app log was empty and no microphone, TCC, Accessibility, or other permission was selected or changed.
  • Microphone decision, later onboarding, live Speech capture, real finalization, saved-audio retry, interruption, shutdown interleavings, sleep or lock, relaunch, and long-run runtime remain INCONCLUSIVE because those host surfaces were unavailable.

Scope

@douglasjarquin
douglasjarquin merged commit 95f2892 into main Aug 18, 2026
1 check passed
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.

[V1 Phase 0 · P0] Bound Speech startup, finalization, cancellation, retry, and shutdown

1 participant