Skip to content

Fix Instant Replacement vocabulary boost leak - #883

Merged
altic-dev merged 1 commit into
mainfrom
B/fix-instant-replacement-boost-leak
Aug 23, 2026
Merged

Fix Instant Replacement vocabulary boost leak#883
altic-dev merged 1 commit into
mainfrom
B/fix-instant-replacement-boost-leak

Conversation

@altic-dev

@altic-dev altic-dev commented Aug 21, 2026

Copy link
Copy Markdown
Owner

Description

Stops Basic Instant Replacements from entering Parakeet fuzzy vocabulary boosting. Only terms explicitly added under Custom Words Boosting are now passed into the boost vocabulary, while exact whole-word replacements remain unchanged.

Type of Change

  • 🐞 Bug fix
  • ✨ New feature
  • 💥 Breaking change
  • 🧹 Chore
  • 📝 Documentation update

Related Issue or Discussion

Closes #880

Testing

  • Tested on Intel Mac
  • Tested on Apple Silicon Mac
  • Tested on macOS version: 27.0
  • Ran linter locally: swiftlint --strict --config .swiftlint.yml Sources
  • Ran formatter locally: swiftformat --config .swiftformat Sources
  • Ran tests locally: focused regression tests, 2 passed
  • Built, signed, installed, and launched the private Fluid Intelligence app successfully

Screenshots / Video

  • No UI/visual changes; screenshots/video are not applicable.

Notes

The regression tests verify both invariants: similar words such as mean are not replaced by sean → Shaun, while an exact sean trigger still becomes Shaun.

@greptile-apps

greptile-apps Bot commented Aug 21, 2026

Copy link
Copy Markdown

Greptile Summary

The PR separates Basic Instant Replacements from explicit Parakeet vocabulary terms while preserving exact post-transcription replacement behavior.

  • Removes custom dictionary entries from vocabulary normalization.
  • Adds regression coverage for vocabulary isolation and exact whole-word replacement.

Confidence Score: 4/5

The PR is not yet safe to merge because pronunciation-trained corrections still lose the Parakeet decoding bias they previously received.

Training persists corrections only in customDictionaryEntries, while the revised resolved vocabulary consumes only explicit JSON boost terms, leaving the previously reported pronunciation-training regression outstanding.

Files Needing Attention: Sources/Fluid/Services/ParakeetVocabularyStore.swift

Reviews (2): Last reviewed commit: "fix instant replacement boost leak" | Re-trigger Greptile

Comment thread Sources/Fluid/Services/ParakeetVocabularyStore.swift
@altic-dev
altic-dev force-pushed the B/fix-instant-replacement-boost-leak branch from 33aa070 to ef7c25f Compare August 21, 2026 11:14
@github-actions

Copy link
Copy Markdown

FluidVoice PR build ready

Download FluidVoice-PR-883-ef7c25ff3d0e

The artifact contains the ad-hoc-signed app ZIP, Xcode archive, build manifest, and installation instructions. It expires 5 days after the build.

Install the app

  1. Extract the downloaded artifact, then extract FluidVoice-PR-883.app.zip.

  2. Move FluidVoice Fix Instant Replacement vocabulary boost leak #883.app into the /Applications folder.

  3. Open Terminal and remove the download quarantine marker:

    xattr -dr com.apple.quarantine "/Applications/FluidVoice #883.app"
    
  4. In Applications, Control-click FluidVoice Fix Instant Replacement vocabulary boost leak #883.app and choose Open.

  5. If macOS still blocks it, open System Settings → Privacy & Security, click Open Anyway, and confirm.

This build has its own app identity, so its permissions are separate from the release version of FluidVoice.

View workflow run

@altic-dev
altic-dev merged commit 426a3c4 into main Aug 23, 2026
6 checks passed
@altic-dev
altic-dev deleted the B/fix-instant-replacement-boost-leak branch August 23, 2026 00:02
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.

[BUG] Custom dictionary sometimes replaces incorrect words

1 participant