Skip to content

Add a local spelling dictionary - #6

Open
augiefra wants to merge 1 commit into
digimata:masterfrom
augiefra:contrib/local-dictionary
Open

Add a local spelling dictionary#6
augiefra wants to merge 1 commit into
digimata:masterfrom
augiefra:contrib/local-dictionary

Conversation

@augiefra

Copy link
Copy Markdown

Summary

Adds a local-only spelling dictionary and a native correction flow from the menu bar.

  • Create an empty ~/.config/parrot/dictionary.json on first use.
  • Apply deterministic replacements after Whisper transcription.
  • Reload the file for every dictation, so a saved correction needs no daemon restart.
  • Match whole Unicode words and preserve longer words.
  • Add Add dictionary correction… in the menu bar for a guided native form.
  • Keep all vocabulary and transcripts on the Mac; this does not retrain or call a remote model.

Validation

  • swift test — 3 dictionary tests passed, including a literal replacement containing $.
  • git diff --check passed.
  • The default dictionary is empty and the documentation/tests use neutral example terms.
  • No app bundle, signing identity, certificate, downloaded model, icon, personal dictionary, or user-specific vocabulary is included.

Coordination

This is functionally independent from #5, but both PRs add the shared Swift test target and touch the menu/README. If #5 lands first, I can rebase this PR to remove those small overlaps.

Contribution terms

The repository does not currently declare a LICENSE. I am offering these changes to the repository maintainer for review; a project license or contribution policy would make the intended redistribution terms explicit.

@augiefra
augiefra marked this pull request as ready for review July 30, 2026 07:13
@rretsiem

Copy link
Copy Markdown

Implemented in the current Parrot working tree:\n\n- Added the local dictionary at ~/.config/parrot/dictionary.json.\n- Added Unicode-safe whole-word replacement, conflict handling, atomic writes, restricted permissions, and soft failure for invalid files.\n- Applied corrections in the shared pipeline before enhancement and delivery, covering Whisper, Parakeet, and Apple Speech.\n- Added the native Add dictionary correction… menu action and documentation.\n\nVerification: swift build passed. swift test passed with 347 tests and 0 failures. Focused dictionary, pipeline, and menu tests also 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