Skip to content

Fail closed when Grok STT coerces bool start to 1.0 - #146

Merged
cursor[bot] merged 2 commits into
mainfrom
cursor/grok-stt-start-end-2ccd
Sep 8, 2026
Merged

Fail closed when Grok STT coerces bool start to 1.0#146
cursor[bot] merged 2 commits into
mainfrom
cursor/grok-stt-start-end-2ccd

Conversation

@jmjava

@jmjava jmjava commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Problem

load_bundle_timing already requires JSON-number start / end (#134). Grok STT ingest still did float(w.get("start") or 0.0).

start: true became 1.0. Missing / null start became 0.0 and dumps the board. duration: true became 1.0. That payload is what timestamps --engine whisper writes into timing.json when ai.provider is grok.

Change

  • _stt_json_number requires int/float (not bool) for word/segment start / end and present duration
  • Missing duration still falls back to last word end
  • Explicit start: 0.0 stays 0

Gate

  • ruff check src/ tests/ green
  • pytest tests/ — 812 passed, 1 skipped
  • docgen benchmark meets src/docgen/benchmark_data/baseline.json (no clock change; no --update-baseline)

Out of scope

  • OpenAI whisper-1 SDK path (typed .start / .end)
  • Requiring end >= start

Milestone: milestones/grok-stt-start-end.md

Open in Web Open in Cursor 

cursoragent and others added 2 commits September 8, 2026 01:00
Grok STT used float(start or 0.0), so true became 1.0 and a missing
start dumped the board at t=0. Require JSON numbers before writing
timing.json.

Co-authored-by: jmjava <jmjava@gmail.com>
ruff green; pytest 812 passed, 1 skipped; docgen benchmark meets baseline.

Co-authored-by: jmjava <jmjava@gmail.com>
@jmjava
jmjava marked this pull request as ready for review September 8, 2026 01:01
@cursor
cursor Bot merged commit 05e8a52 into main Sep 8, 2026
6 checks 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.

2 participants