Skip to content

[operator] Treat Sparkle no-update cycles as successful - #909

Merged
r3dbars merged 1 commit into
mainfrom
codex/operator-sparkle-no-update-cycle-20260530
May 31, 2026
Merged

r3dbars merged 1 commit into
mainfrom
codex/operator-sparkle-no-update-cycle-20260530

Conversation

@r3dbars

@r3dbars r3dbars commented May 30, 2026

Copy link
Copy Markdown
Owner

Summary

  • handle Sparkle finish-cycle code 1001 as a no-update success instead of update_check_finished:error
  • add a repo contract test so finish-cycle no-update errors stay ahead of the generic failure path

Verification

  • TRANSCRIPTED_DISABLE_FILE_LOGGER=1 bash build.sh --no-open
  • TRANSCRIPTED_DISABLE_FILE_LOGGER=1 bash run-tests.sh

@r3dbars

r3dbars commented May 30, 2026

Copy link
Copy Markdown
Owner Author

verdict: no-findings-but-human

findings: none. The Sparkle 1001 finish-cycle path now returns through the no-update success path before generic failure tracking, with a contract test guarding that ordering.

actions: no fix pushed.
current_head_sha: a097d5e
fix_commit: none
checks: repo-hygiene pass; gh pr view; gh pr diff --patch; gh pr checks; git diff --check origin/main...origin/codex/operator-sparkle-no-update-cycle-20260530; Observability/Test docs reviewed.

manual_merge_handoff:
head_sha: a097d5e
verdict: no-findings-but-human
blockers: draft PR; human signoff for Sparkle/update telemetry behavior
checks: repo-hygiene pass; PR metadata/diff/checks reviewed; diff-check clean; Observability docs reviewed

@r3dbars
r3dbars marked this pull request as ready for review May 31, 2026 01:57
@r3dbars
r3dbars merged commit f6ae05c into main May 31, 2026
1 check passed
@r3dbars
r3dbars deleted the codex/operator-sparkle-no-update-cycle-20260530 branch June 16, 2026 14:05
claude Bot pushed a commit that referenced this pull request Sep 24, 2026
…ip ci]

The 0.17 bump can't merge until WER is no worse and blank-audio dictation
stops aren't slower (PR #909 retries blank V3 decodes up to 5 times).

scripts/stt_fluidaudio_ab.sh builds transcripted-cli twice in git worktrees
under ~/stt-fluidaudio-ab: the baseline from origin/main (pre-bump source,
since 0.15.4 can't compile the new ASRConfig call) with FLUID_AUDIO_VERSION
0.15.4, the candidate from HEAD with 0.17.0. Builds are reused while their
inputs are unchanged. It refuses a baseline ref that already uses the 0.17
API and checks the version SwiftPM actually resolved.

scripts/stt_fluidaudio_ab.py then measures, reusing the STT shootout's
lecture download, caption parsing and WER scorer (read from git when the
shootout isn't in the checkout):
- WER: first 20 min of the lecture plus 10 caption-aligned ~45 s pieces
- stop time: silence 1/3/8 s, near-silence, low noise, room rumble, a
  0.5 s noise burst (gated), plus `say` clips (reported), ABBA rounds,
  median of CLI processingSeconds
Gate flags: --max-wer-delta-pp 0.5, --max-time-ratio 1.25,
--max-time-delta-ms 300. Writes result.json + report.md; last stdout line
is the result.json path.

scripts/test_stt_fluidaudio_ab.py covers the math, fixtures and a fake-CLI
end-to-end run, and drives the bash wrapper against a throwaway repo with
stubbed Mac tools. Runs on Linux.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SvYQfvK9JYWs3DB2fNkVNQ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant