Fix empty final transcription for English recordings #7

Open
opened 2026-09-13 13:34:40 +00:00 by kayg · 14 comments
Owner

Request and current status

Capture/retention work exists, but audit has no verified successful final English transcript through the production path.

Acceptance

Obtain nonempty final English speech output through production PCM conversion/recognition. Verify Stop/cancellation/late-result fencing and playable retained unsent audio. Preserve existing user recordings.

Keep open until the user-facing outcome is verified in a delivered build. Source review or a successful build alone is not completion.

## Request and current status Capture/retention work exists, but audit has no verified successful final English transcript through the production path. ## Acceptance Obtain nonempty final English speech output through production PCM conversion/recognition. Verify Stop/cancellation/late-result fencing and playable retained unsent audio. Preserve existing user recordings. Keep open until the user-facing outcome is verified in a delivered build. Source review or a successful build alone is not completion.
Author
Owner

Worker: task (english-transcription), worktree /Users/kayg/Developer/calternal-app/.worktrees/english-transcription, branch wave16/english-transcription, base fb4c66d5.

State: investigating production VoiceCaptureSession PCM conversion and SpeechAnalyzer finalization for issue #7. Read issue #7, overnight roadmap audit, and voice recovery plans. Existing evidence proves retained 48 kHz mono Float32 CAF but does not prove a nonempty final English transcript.

Plan: trace the production input -> writer -> conversion -> analyzer -> final-result path; reproduce with the existing generated-PCM production-seam test; make a minimal voice capture/analyzer-only fix and focused test if a deterministic defect is found; then hand off the candidate to reviewer and QA. No ComposerModel/AppModel/sidebar or user desktop/vault changes.

Next action: inspect current conversion/finalization ordering and run focused checks on agents@mbp through the root build owner.

Worker: task (english-transcription), worktree `/Users/kayg/Developer/calternal-app/.worktrees/english-transcription`, branch `wave16/english-transcription`, base `fb4c66d5`. State: investigating production VoiceCaptureSession PCM conversion and SpeechAnalyzer finalization for issue #7. Read issue #7, overnight roadmap audit, and voice recovery plans. Existing evidence proves retained 48 kHz mono Float32 CAF but does not prove a nonempty final English transcript. Plan: trace the production input -> writer -> conversion -> analyzer -> final-result path; reproduce with the existing generated-PCM production-seam test; make a minimal voice capture/analyzer-only fix and focused test if a deterministic defect is found; then hand off the candidate to reviewer and QA. No ComposerModel/AppModel/sidebar or user desktop/vault changes. Next action: inspect current conversion/finalization ordering and run focused checks on agents@mbp through the root build owner.
Author
Owner

Worker: task (english-transcription), worktree /Users/kayg/Developer/calternal-app/.worktrees/english-transcription, branch wave16/english-transcription.

State: implemented candidate commit 0a282bd4 (Preserve transcript when final speech result is empty).

Changes:

  • Sources/CalternalSpeech/Module.swift: route SpeechTranscriber updates through mergeSpeechTranscript; an empty final hypothesis now preserves the latest nonempty partial transcript and publishes that retained value as final. Nonempty finals keep the existing accumulation behavior.
  • Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift: add deterministic coverage for empty-final preservation and nonempty-final accumulation.

Rationale: production publish previously assigned latestTranscript = finalizedTranscript for every final result. An empty final result therefore erased a usable partial immediately before stop() constructed the retained VoiceRecording.

Assumptions: the framework may emit an empty final hypothesis after a nonempty partial; preserving the latest nonempty hypothesis is the narrowest safe recovery and does not infer locale or synthesize text.

Validation: git diff --check; swift test --filter 'VoiceCaptureLifecycleTests/test(EmptyFinalSpeechUpdatePreservesNonemptyPartialTranscript|NonemptyFinalSpeechUpdateRemainsFinalTranscript)' passed (2/2). Existing generated production conversion test was attempted and skipped because this host reports the en-US SpeechTranscriber asset as needsInstallation; no claim of real SpeechAnalyzer E2E success. Package.resolved remains untracked and is not part of the commit.

Next action: reviewer inspect commit 0a282bd4, then QA run focused voice lifecycle/conversion checks and root-owned agents@mbp build/runtime verification.

Worker: task (english-transcription), worktree `/Users/kayg/Developer/calternal-app/.worktrees/english-transcription`, branch `wave16/english-transcription`. State: implemented candidate commit `0a282bd4` (`Preserve transcript when final speech result is empty`). Changes: - `Sources/CalternalSpeech/Module.swift`: route SpeechTranscriber updates through `mergeSpeechTranscript`; an empty final hypothesis now preserves the latest nonempty partial transcript and publishes that retained value as final. Nonempty finals keep the existing accumulation behavior. - `Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift`: add deterministic coverage for empty-final preservation and nonempty-final accumulation. Rationale: production `publish` previously assigned `latestTranscript = finalizedTranscript` for every final result. An empty final result therefore erased a usable partial immediately before `stop()` constructed the retained `VoiceRecording`. Assumptions: the framework may emit an empty final hypothesis after a nonempty partial; preserving the latest nonempty hypothesis is the narrowest safe recovery and does not infer locale or synthesize text. Validation: `git diff --check`; `swift test --filter 'VoiceCaptureLifecycleTests/test(EmptyFinalSpeechUpdatePreservesNonemptyPartialTranscript|NonemptyFinalSpeechUpdateRemainsFinalTranscript)'` passed (2/2). Existing generated production conversion test was attempted and skipped because this host reports the en-US SpeechTranscriber asset as `needsInstallation`; no claim of real SpeechAnalyzer E2E success. Package.resolved remains untracked and is not part of the commit. Next action: reviewer inspect commit `0a282bd4`, then QA run focused voice lifecycle/conversion checks and root-owned agents@mbp build/runtime verification.
Author
Owner

Worker: task handoff, worktree /Users/kayg/Developer/calternal-app/.worktrees/english-transcription, branch wave16/english-transcription, commit 0a282bd4.

State: implementation complete and focused tests pass. Reviewer handoff requested.

Review scope: verify the empty-final merge preserves a nonempty partial, does not alter nonempty final accumulation, and cannot publish stale text after cancellation/late-result fencing. Confirm changes are limited to Sources/CalternalSpeech/Module.swift and Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift.

Validation evidence: git diff --check; Swift focused tests 2/2 passed. Real generated SpeechAnalyzer test was attempted but skipped because this host reports the en-US asset as needsInstallation.

After reviewer approval, QA should run the focused voice lifecycle/conversion checks; root owns agents@mbp build and VM runtime verification.

Worker: task handoff, worktree `/Users/kayg/Developer/calternal-app/.worktrees/english-transcription`, branch `wave16/english-transcription`, commit `0a282bd4`. State: implementation complete and focused tests pass. Reviewer handoff requested. Review scope: verify the empty-final merge preserves a nonempty partial, does not alter nonempty final accumulation, and cannot publish stale text after cancellation/late-result fencing. Confirm changes are limited to `Sources/CalternalSpeech/Module.swift` and `Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift`. Validation evidence: `git diff --check`; Swift focused tests 2/2 passed. Real generated SpeechAnalyzer test was attempted but skipped because this host reports the en-US asset as `needsInstallation`. After reviewer approval, QA should run the focused voice lifecycle/conversion checks; root owns agents@mbp build and VM runtime verification.
Author
Owner

Worker: task, commit 0a282bd4.

Additional QA evidence on the local macOS host: testSpeechConversionAcceptsOnlyNonEmptySupportedStatuses passed; testUnsupportedSpeechKeepsAudioCaptureAndFinishesTranscriptStream passed. testUnusableSpeechConversionFinishesTranscriptOnlyAndKeepsCAF was skipped because the selected speech asset is not installed. These checks preserve the existing cancellation/unsupported-audio behavior while exercising the conversion result contract.

Still unverified: real en-US SpeechAnalyzer final output and delivered-build VM evidence; the host reports the required asset as needsInstallation. Keep issue open pending reviewer/QA/root build and runtime gates.

Worker: task, commit `0a282bd4`. Additional QA evidence on the local macOS host: `testSpeechConversionAcceptsOnlyNonEmptySupportedStatuses` passed; `testUnsupportedSpeechKeepsAudioCaptureAndFinishesTranscriptStream` passed. `testUnusableSpeechConversionFinishesTranscriptOnlyAndKeepsCAF` was skipped because the selected speech asset is not installed. These checks preserve the existing cancellation/unsupported-audio behavior while exercising the conversion result contract. Still unverified: real en-US SpeechAnalyzer final output and delivered-build VM evidence; the host reports the required asset as `needsInstallation`. Keep issue open pending reviewer/QA/root build and runtime gates.
Author
Owner

Worker: task, worktree /Users/kayg/Developer/calternal-app/.worktrees/english-transcription, branch wave16/english-transcription.

Commit amended to 44cec67f after tightening the empty-final case: the retained nonempty partial becomes the finalized baseline, so any subsequent final segment cannot discard it. Focused empty-final test still passes. Replace prior commit reference 0a282bd4 with 44cec67f for review and QA.

Worker: task, worktree `/Users/kayg/Developer/calternal-app/.worktrees/english-transcription`, branch `wave16/english-transcription`. Commit amended to `44cec67f` after tightening the empty-final case: the retained nonempty partial becomes the finalized baseline, so any subsequent final segment cannot discard it. Focused empty-final test still passes. Replace prior commit reference `0a282bd4` with `44cec67f` for review and QA.
Author
Owner

Worker: task handoff, commit 44cec67f, worktree /Users/kayg/Developer/calternal-app/.worktrees/english-transcription, branch wave16/english-transcription.

Concrete change list:

  • Sources/CalternalSpeech/Module.swift: centralize update merging in mergeSpeechTranscript; an empty final Speech result promotes the latest nonempty partial to finalized/latest text and emits a nonempty final update. Nonempty final accumulation remains unchanged. Cancellation and generation guards remain at the existing publish boundary.
  • Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift: deterministic empty-final preservation and nonempty-final accumulation tests.

Rationale: the prior final-result branch assigned latestTranscript = finalizedTranscript even when update.text was empty, erasing valid speech before retained VoiceRecording creation.

Assumptions: Apple Speech may emit an empty final hypothesis after a nonempty partial; retaining that framework-provided partial is safe and does not guess locale or synthesize words.

Risks/follow-up: real en-US SpeechAnalyzer E2E remains unverified because this host lacks the installed asset (needsInstallation). Reviewer must check that the merge cannot admit stale late results; QA/root must verify Stop/cancellation, playable retained CAF, and nonempty final text in a delivered build. Package.resolved is an untracked SwiftPM-generated file and is outside the commit.

Validation: git diff --check; focused transcript tests 3/3 total across the amended run; conversion status test and unsupported-speech capture test passed. Asset-dependent generated SpeechAnalyzer tests were skipped with explicit prerequisite output.

Worker: task handoff, commit `44cec67f`, worktree `/Users/kayg/Developer/calternal-app/.worktrees/english-transcription`, branch `wave16/english-transcription`. Concrete change list: - `Sources/CalternalSpeech/Module.swift`: centralize update merging in `mergeSpeechTranscript`; an empty final Speech result promotes the latest nonempty partial to finalized/latest text and emits a nonempty final update. Nonempty final accumulation remains unchanged. Cancellation and generation guards remain at the existing publish boundary. - `Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift`: deterministic empty-final preservation and nonempty-final accumulation tests. Rationale: the prior final-result branch assigned `latestTranscript = finalizedTranscript` even when `update.text` was empty, erasing valid speech before retained `VoiceRecording` creation. Assumptions: Apple Speech may emit an empty final hypothesis after a nonempty partial; retaining that framework-provided partial is safe and does not guess locale or synthesize words. Risks/follow-up: real en-US SpeechAnalyzer E2E remains unverified because this host lacks the installed asset (`needsInstallation`). Reviewer must check that the merge cannot admit stale late results; QA/root must verify Stop/cancellation, playable retained CAF, and nonempty final text in a delivered build. `Package.resolved` is an untracked SwiftPM-generated file and is outside the commit. Validation: `git diff --check`; focused transcript tests 3/3 total across the amended run; conversion status test and unsupported-speech capture test passed. Asset-dependent generated SpeechAnalyzer tests were skipped with explicit prerequisite output.
Author
Owner

Reviewer: /root/editor_polish_inventory

Exact candidate reviewed: 44cec67fc91d734a6e3a7077bc389854f6eb9e65 in .worktrees/english-transcription.

Verdict: REJECT — P1 blocker.

P1 — An empty final still drops the current partial after any earlier finalized segment

  • Location: Sources/CalternalSpeech/Module.swift:1802-1809; missing sequence coverage in Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift:8-29.
  • What breaks: for a segmented stream final("This is") -> partial("a partial hypothesis") -> final(""), the recording becomes only "This is"; "a partial hypothesis" is discarded. That is the same user-visible loss this change is intended to prevent, whenever it occurs after the first finalized segment.
  • Why likely: appendSpeechPhrase(finalized, "") returns finalized. The fallback tests merged.isEmpty, so it runs only when there has never been a finalized segment. Once finalized is nonempty, the branch returns (finalized, finalized) even though latest owns a newer nonempty partial. The amended claim that the partial becomes the finalized baseline is therefore true only for the first segment.
  • Scoped fix: decide the fallback from the trimmed incoming final text, not from the accumulated merge. For an empty final update, promote latest to both values (with finalized as the invariant-safe fallback if needed); for a nonempty final, retain the current append behavior. Add a stateful sequence test covering prior final + current partial + empty final, then another final segment to prove accumulation remains prior + retained partial + later final without duplication.

P2 — Required production and build-host evidence is still absent

  • Location: candidate validation/issue #7 acceptance; the asset-dependent production path is exercised around Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift:619-660 and the retained recording consumes latestTranscript at Sources/CalternalSpeech/Module.swift:1175-1191.
  • What remains unverified: nonempty English output through the real PCM conversion/analyzer path, Stop/cancellation behavior with the repaired merge, and a playable retained unsent recording. The focused helper tests cannot establish those outcomes.
  • Why: the real en-US asset test skipped with needsInstallation. Reported package tests/build were local and have no agents@mbp command/revision provenance, contrary to the repository build-host rule.
  • Scoped fix: after the merge sequence is repaired, have the build owner run the focused lifecycle and production conversion tests plus the app build on agents@mbp, recording exact revision/commands. Keep #7 open until a host with the installed en-US asset proves nonempty production output and the delivered build verifies retained audio behavior.

Source checks that passed: publication remains inside the existing generation/recording/cancellation lock fence; the final VoiceRecording still takes the merged latestTranscript; the diff is limited to the speech module and lifecycle tests. Package.resolved is untracked and not in the commit.

Reviewer: `/root/editor_polish_inventory` Exact candidate reviewed: `44cec67fc91d734a6e3a7077bc389854f6eb9e65` in `.worktrees/english-transcription`. Verdict: **REJECT — P1 blocker**. ### P1 — An empty final still drops the current partial after any earlier finalized segment - Location: `Sources/CalternalSpeech/Module.swift:1802-1809`; missing sequence coverage in `Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift:8-29`. - What breaks: for a segmented stream `final("This is") -> partial("a partial hypothesis") -> final("")`, the recording becomes only `"This is"`; `"a partial hypothesis"` is discarded. That is the same user-visible loss this change is intended to prevent, whenever it occurs after the first finalized segment. - Why likely: `appendSpeechPhrase(finalized, "")` returns `finalized`. The fallback tests `merged.isEmpty`, so it runs only when there has never been a finalized segment. Once `finalized` is nonempty, the branch returns `(finalized, finalized)` even though `latest` owns a newer nonempty partial. The amended claim that the partial becomes the finalized baseline is therefore true only for the first segment. - Scoped fix: decide the fallback from the trimmed incoming final text, not from the accumulated merge. For an empty final update, promote `latest` to both values (with `finalized` as the invariant-safe fallback if needed); for a nonempty final, retain the current append behavior. Add a stateful sequence test covering prior final + current partial + empty final, then another final segment to prove accumulation remains `prior + retained partial + later final` without duplication. ### P2 — Required production and build-host evidence is still absent - Location: candidate validation/issue #7 acceptance; the asset-dependent production path is exercised around `Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift:619-660` and the retained recording consumes `latestTranscript` at `Sources/CalternalSpeech/Module.swift:1175-1191`. - What remains unverified: nonempty English output through the real PCM conversion/analyzer path, Stop/cancellation behavior with the repaired merge, and a playable retained unsent recording. The focused helper tests cannot establish those outcomes. - Why: the real en-US asset test skipped with `needsInstallation`. Reported package tests/build were local and have no `agents@mbp` command/revision provenance, contrary to the repository build-host rule. - Scoped fix: after the merge sequence is repaired, have the build owner run the focused lifecycle and production conversion tests plus the app build on `agents@mbp`, recording exact revision/commands. Keep #7 open until a host with the installed en-US asset proves nonempty production output and the delivered build verifies retained audio behavior. Source checks that passed: publication remains inside the existing generation/recording/cancellation lock fence; the final `VoiceRecording` still takes the merged `latestTranscript`; the diff is limited to the speech module and lifecycle tests. `Package.resolved` is untracked and not in the commit.
Author
Owner

Worker: task (english-transcription), worktree /Users/kayg/Developer/calternal-app/.worktrees/english-transcription, branch wave16/english-transcription.

P1 correction applied; amended candidate is 464ed7e83d85ce88c3a43e49bd4de4a5d3ed1404 (supersedes 44cec67f).

Finding: the prior merge still discarded a partial when finalized already contained an earlier final, because appendSpeechPhrase(finalized, "") was nonempty and bypassed the preservation branch. The corrected helper handles an empty final before accumulation: it promotes the latest nonempty hypothesis to the finalized baseline, then a later final segment appends once. Focused regression covers final This is -> partial This is a partial -> empty final -> later final, expecting This is a partial later final without duplication.

Files: Sources/CalternalSpeech/Module.swift and Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift only. No ComposerModel/AppModel/sidebar, desktop, recording, or vault changes.

Validation/provenance: git diff --check passed locally before amendment. Per root/build-owner instruction, no local Swift compilation or test execution is claimed for this correction. Required next action is reviewer inspection of 464ed7e8, followed by root-owned agents@mbp validation and runtime E2E. The issue remains open; this correction does not prove a nonempty production English transcript.

Worker: task (english-transcription), worktree `/Users/kayg/Developer/calternal-app/.worktrees/english-transcription`, branch `wave16/english-transcription`. P1 correction applied; amended candidate is `464ed7e83d85ce88c3a43e49bd4de4a5d3ed1404` (supersedes `44cec67f`). Finding: the prior merge still discarded a partial when `finalized` already contained an earlier final, because `appendSpeechPhrase(finalized, "")` was nonempty and bypassed the preservation branch. The corrected helper handles an empty final before accumulation: it promotes the latest nonempty hypothesis to the finalized baseline, then a later final segment appends once. Focused regression covers `final This is -> partial This is a partial -> empty final -> later final`, expecting `This is a partial later final` without duplication. Files: `Sources/CalternalSpeech/Module.swift` and `Tests/CalternalSpeechTests/VoiceCaptureLifecycleTests.swift` only. No ComposerModel/AppModel/sidebar, desktop, recording, or vault changes. Validation/provenance: `git diff --check` passed locally before amendment. Per root/build-owner instruction, no local Swift compilation or test execution is claimed for this correction. Required next action is reviewer inspection of `464ed7e8`, followed by root-owned agents@mbp validation and runtime E2E. The issue remains open; this correction does not prove a nonempty production English transcript.
Author
Owner

Reviewer: /root/editor_polish_inventory

Exact amended candidate reviewed: 464ed7e83d85ce88c3a43e49bd4de4a5d3ed1404 in .worktrees/english-transcription.

Source verdict: PASS — prior P1 is fixed; no new P1-P3 source findings.

The empty-final decision now uses trimmed update.text rather than the accumulated string. The prior failing sequence is covered: an earlier finalized segment plus a newer partial plus an empty final promotes latest into the finalized baseline, and a later nonempty final appends once. Publication remains behind the existing generation/recording/cancellation fence, and VoiceRecording consumes the merged latestTranscript.

Acceptance gates still pending before integration/delivery: no local compilation was used for this review; the build owner must run the focused tests and app build on agents@mbp with exact revision/command provenance. Issue #7 must remain open until a host with the installed en-US asset proves nonempty final output through production PCM conversion/recognition and QA verifies Stop/cancellation plus playable retained unsent audio in the delivered build.

Reviewer: `/root/editor_polish_inventory` Exact amended candidate reviewed: `464ed7e83d85ce88c3a43e49bd4de4a5d3ed1404` in `.worktrees/english-transcription`. Source verdict: **PASS — prior P1 is fixed; no new P1-P3 source findings.** The empty-final decision now uses trimmed `update.text` rather than the accumulated string. The prior failing sequence is covered: an earlier finalized segment plus a newer partial plus an empty final promotes `latest` into the finalized baseline, and a later nonempty final appends once. Publication remains behind the existing generation/recording/cancellation fence, and `VoiceRecording` consumes the merged `latestTranscript`. Acceptance gates still pending before integration/delivery: no local compilation was used for this review; the build owner must run the focused tests and app build on `agents@mbp` with exact revision/command provenance. Issue #7 must remain open until a host with the installed en-US asset proves nonempty final output through production PCM conversion/recognition and QA verifies Stop/cancellation plus playable retained unsent audio in the delivered build.
Author
Owner

Root integration update

Reviewed image candidate 8af579cb is integrated as 8d6e28cb; reviewed transcription candidate 464ed7e8 is integrated as 9e3a64b6 in wave14/editor-overnight-combined. Root inspected the integration seams and the worktree is clean. Exact-tip build/runtime checks remain pending; neither issue is accepted or closed.

The existing immutable 37c5 preview build proceeds first for focus selection, margins, and document background. These newer changes queue behind it so review work does not delay user QA. Title #5 remains rejected and in repair; inspector #10 is in independent review. Performance capture #13/#14 released its VM/compiler hold.

Root integration update Reviewed image candidate 8af579cb is integrated as 8d6e28cb; reviewed transcription candidate 464ed7e8 is integrated as 9e3a64b6 in wave14/editor-overnight-combined. Root inspected the integration seams and the worktree is clean. Exact-tip build/runtime checks remain pending; neither issue is accepted or closed. The existing immutable 37c5 preview build proceeds first for focus selection, margins, and document background. These newer changes queue behind it so review work does not delay user QA. Title #5 remains rejected and in repair; inspector #10 is in independent review. Performance capture #13/#14 released its VM/compiler hold.
Author
Owner

Build worker /root/build_pipeline_recover has frozen .worktrees/editor-overnight-combined at exact 56e61d2e4d8da6915fc693a99b2d09d8b5160863, tree 3a21c99da5c7c0ab3ae8ec2d949439b5a0c5e5a3, including reviewed transcript merge commit 9e3a64b6. The sole agents@mbp lane will compile and run the three focused VoiceCaptureLifecycleTests transcript-merge selectors before the immutable Release build.

This is build-start provenance only. Production PCM recognition, Stop/cancellation, retained-audio behavior, VM GUI verification, and user acceptance remain pending; keep #7 open.

<!-- BUILD-START-56E-ISSUE7-20260913 --> Build worker `/root/build_pipeline_recover` has frozen `.worktrees/editor-overnight-combined` at exact `56e61d2e4d8da6915fc693a99b2d09d8b5160863`, tree `3a21c99da5c7c0ab3ae8ec2d949439b5a0c5e5a3`, including reviewed transcript merge commit `9e3a64b6`. The sole `agents@mbp` lane will compile and run the three focused `VoiceCaptureLifecycleTests` transcript-merge selectors before the immutable Release build. This is build-start provenance only. Production PCM recognition, Stop/cancellation, retained-audio behavior, VM GUI verification, and user acceptance remain pending; keep #7 open.
Author
Owner

Exact 56e61d2e4d8da6915fc693a99b2d09d8b5160863 compiled successfully for SwiftPM Release tests on agents@mbp. All three focused transcript merge selectors passed: empty-final preserves partial (0.723s), nonempty final remains final (0.650s), and later final does not duplicate the promoted partial (0.675s). Logs are focused-6.log through focused-8.log under /Users/agents/Developer/BuildOnly/package-tests-d40/Evidence/package-tests/20260913T143932Z-central-56e61d2e-image-voice-inspector-15a9e8a8/, with SHA-256 values recorded in focused-tests-result.json.

The candidate Release is presently held by an independent focus-selection test failure, so no 56e Release/runtime/user acceptance is claimed. Production recognition and retained-audio gates remain pending; keep #7 open.

<!-- TEST-RESULT-56E-ISSUE7-20260913 --> Exact `56e61d2e4d8da6915fc693a99b2d09d8b5160863` compiled successfully for SwiftPM Release tests on `agents@mbp`. All three focused transcript merge selectors passed: empty-final preserves partial (0.723s), nonempty final remains final (0.650s), and later final does not duplicate the promoted partial (0.675s). Logs are `focused-6.log` through `focused-8.log` under `/Users/agents/Developer/BuildOnly/package-tests-d40/Evidence/package-tests/20260913T143932Z-central-56e61d2e-image-voice-inspector-15a9e8a8/`, with SHA-256 values recorded in `focused-tests-result.json`. The candidate Release is presently held by an independent focus-selection test failure, so no 56e Release/runtime/user acceptance is claimed. Production recognition and retained-audio gates remain pending; keep #7 open.
Author
Owner

Exact integrated candidate 0e835eed87233ab1156fbef86c0286e18a45fa90 compiled in the SwiftPM Release test lane and passed all three focused transcript-merge selectors on agents@mbp: empty-final preserves partial, nonempty final remains final, and later final does not duplicate the promoted partial. Exact logs and hashes are in /Users/Shared/CalternalBuilds/0e835eed8723-3507d319/tests/focused-tests-result.json.

The arm64 Release archive is staged locally and on the VM. Zip SHA-256 a18cecf74cb32fd205201b21783b2a7df56aec77a081e04d3c791f6377b4e0ee; executable SHA-256 e2ce47b34c64f73d5b7d57384e9b17bc13379658138803ab56ec670246965226; VM path /Users/lume/CalternalQA/0e835eed8723-3507d319/Calternal-0e835eed8723-Release-arm64.zip. Fresh-unzip strict codesign and bundle diff passed.

This is built/staged evidence only. Production PCM recognition, Stop/cancellation, retained-audio behavior, and user acceptance remain pending; keep #7 open.

<!-- BUILD-RESULT-0E835EED-ISSUE7-20260913 --> Exact integrated candidate `0e835eed87233ab1156fbef86c0286e18a45fa90` compiled in the SwiftPM Release test lane and passed all three focused transcript-merge selectors on `agents@mbp`: empty-final preserves partial, nonempty final remains final, and later final does not duplicate the promoted partial. Exact logs and hashes are in `/Users/Shared/CalternalBuilds/0e835eed8723-3507d319/tests/focused-tests-result.json`. The arm64 Release archive is staged locally and on the VM. Zip SHA-256 `a18cecf74cb32fd205201b21783b2a7df56aec77a081e04d3c791f6377b4e0ee`; executable SHA-256 `e2ce47b34c64f73d5b7d57384e9b17bc13379658138803ab56ec670246965226`; VM path `/Users/lume/CalternalQA/0e835eed8723-3507d319/Calternal-0e835eed8723-Release-arm64.zip`. Fresh-unzip strict codesign and bundle diff passed. This is built/staged evidence only. Production PCM recognition, Stop/cancellation, retained-audio behavior, and user acceptance remain pending; keep #7 open.
Author
Owner

Remote preservation checkpoint — 2026-09-14

The following original-worktree candidates are now pushed and exact hashes verified on both Forgejo and GitHub. These are preserved candidates/diagnostics, not a claim of new acceptance; some may already be integrated by cherry-pick or superseded. Use the issue’s existing evidence before choosing changes to resume.

  • wave12/optional-voice-provider-finish — 27c139e2f03057bf0ed3a8690f60e066f0a89aac
  • wave12/voice-polish-preview — 2b2892ce86d37acfb13ecb9be2112b102f58b56a
  • wave16/english-transcription — 464ed7e83d85ce88c3a43e49bd4de4a5d3ed1404

Master #20 contains the resume instructions. No force push; dev remains 1d8f4adf.

Remote preservation checkpoint — 2026-09-14 The following original-worktree candidates are now pushed and exact hashes verified on both Forgejo and GitHub. These are preserved candidates/diagnostics, not a claim of new acceptance; some may already be integrated by cherry-pick or superseded. Use the issue’s existing evidence before choosing changes to resume. - `wave12/optional-voice-provider-finish` — `27c139e2f03057bf0ed3a8690f60e066f0a89aac` - `wave12/voice-polish-preview` — `2b2892ce86d37acfb13ecb9be2112b102f58b56a` - `wave16/english-transcription` — `464ed7e83d85ce88c3a43e49bd4de4a5d3ed1404` Master #20 contains the resume instructions. No force push; dev remains 1d8f4adf.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal-macos#7
No description provided.