Skip to content

Let Deep's check read full stops and capitals as speech-to-text guesses - #49

Closed
purinda wants to merge 1 commit into
mainfrom
deep-check-speech-forms
Closed

purinda wants to merge 1 commit into
mainfrom
deep-check-speech-forms

Conversation

@purinda

@purinda purinda commented Oct 1, 2026

Copy link
Copy Markdown
Member

Summary

Speech-to-text writes a full stop where the speaker paused, and capitalises letters spelled out and words it mishears. Deep's check (SelfRepair, in Swift and Rust) took both as the speaker's own, so it turned down right answers to real transcripts, and blocked many measured training pairs. Now it reads them as guesses:

  • Two-item lists. A full stop sets two things off as a colon does, and so does a comma when the lead counts them ("two things, …"). The Deep training validator no longer asks for a colon.
  • Corrections across a full stop. A cue that opens a sentence may correct the phrase the sentence before ends with ("…in the garage. Actually, the lobby." → "…in the lobby."). It may not take back a whole sentence ("I finished the report. Sorry, I was late." stays), a new clause, or "two chairs" with a bare "three". Corrected words said again may end their sentence ("not Sunday. Thursday.").
  • Capitals. Letters spelled out may be joined ("p r" → "PR"). A capitalised word may be respelled where the capital says nothing: written without one, or where a list item starts ("First, Madge the PR" → "1. Merge the PR"). A capital still guards a name everywhere else. Two words are never merged across a sentence end ("plan A. I think" is not "plan AI think").

docs/cleanup.md, design-notes.md and limitations.md describe the new behaviour and its limits.

Guard fixtures

  • Fixtures/cleanup/guard.jsonl has 64 new cases. Most lines change because each said word now records startsSentence.
  • Three earlier verdicts change, each to accepting the right answer:
    • "Paint the door red. Actually, blue." → "Paint the door blue."
    • two "Meet on Monday. Sorry, Tuesday. Bring two chairs. No, three. …" cases that had hit the limit of two corrections that go back. A new case keeps that limit: three such corrections stay rejected.

Test plan

  • Swift CleanupTests pass (xcodebuild test).
  • cargo test -p lt-cleanup: 195 pass, including the guard fixture replay.
  • cargo clippy -p lt-cleanup --all-targets -- -D warnings and cargo fmt --all -- --check are clean.

Not in this PR

  • The Deep adapter retraining on measured speech-to-text data, which is still being evaluated.
  • Gaps in the check found while measuring new adapters. Main has them too, and they're tracked separately.

🤖 Generated with Claude Code

Speech-to-text writes a full stop where the speaker paused, and
capitalises letters spelled out and words it mishears. Deep's check
(SelfRepair, in Swift and Rust) took both as the speaker's own, so it
turned down right answers to real transcripts. Now:

- Two things set off with a full stop are a list, as after a colon, and
  so are two after a comma when the lead counts them ("two things, …").
  The Deep training validator no longer asks for a colon.
- A cue after a full stop may correct the phrase the sentence before
  ends with ("…in the garage. Actually, the lobby."), but not a whole
  sentence, a new clause, or a bare number in place of "two chairs".
  Corrected words said again may end their sentence ("not Sunday.
  Thursday.").
- Letters spelled out may be joined ("p r" → "PR"), and a capitalised
  word may be respelled where the capital says nothing: written without
  one, or where a list item starts ("First, Madge the PR" → "1. Merge
  the PR"). A capital still guards a name everywhere else. Two words are
  never merged across a sentence end ("plan A. I think").

Guard fixtures: 64 new cases. Three earlier verdicts change, each to
accepting the right answer: "Paint the door red. Actually, blue." and
two multi-correction cases that had hit the limit of two corrections
that go back. The Swift CleanupTests and lt-cleanup's 195 tests pass;
clippy and rustfmt are clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@purinda

purinda commented Oct 3, 2026

Copy link
Copy Markdown
Member Author

Superseded by #58, which merged this work into main with the other changes behind candidate E. It shipped in 1.2.0.

@purinda purinda closed this Oct 3, 2026
@purinda
purinda deleted the deep-check-speech-forms branch October 3, 2026 04:45
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.

1 participant