Skip to content

Add phonetic transcriptions to vocabulary practice - #121

Open
k-undurkhaan-2 wants to merge 2 commits into
opensourcefrom
codex/fix-118-vocabulary-phonetics
Open

Add phonetic transcriptions to vocabulary practice#121
k-undurkhaan-2 wants to merge 2 commits into
opensourcefrom
codex/fix-118-vocabulary-phonetics

Conversation

@k-undurkhaan-2

Copy link
Copy Markdown
Collaborator

Summary

  • enrich the bundled IELTS core vocabulary with deterministic ECDICT phonetics for 3,535 unique headwords
  • preserve optional phonetics across AppData persistence, imports and exports, progress restoration, sharing, and reading-highlight writes
  • backfill missing default-list phonetics without overwriting explicit values or unrelated stored fields
  • show escaped, accessible phonetics in recognition and feedback views while keeping spelling prompts hint-free
  • cover generator parity, persistence compatibility, malformed input, XSS, and the mobile file:// vocabulary flow

Validation

  • npm test --prefix developer — 73/73 JavaScript tests passed
  • python -m unittest discover -s developer/tests/py -p "test_*.py" — 20/20 tests passed
  • python developer/tests/ci/check_reading_data_integrity.py
  • python developer/tests/e2e/e2e_runner.py — 8/8 scenarios passed
  • focused mobile vocabulary file:// flow — 3/3 scenarios passed
  • node scripts/build-ielts-core-phonetics.mjs --check
  • node scripts/build-bundles.mjs --check
  • git diff --check

Closes #118

Enrich the bundled IELTS core vocabulary with deterministic ECDICT phonetics, preserve optional transcriptions across storage and import/export flows, and render them accessibly in recognition and feedback views.

Refs #118
@k-undurkhaan-2
k-undurkhaan-2 marked this pull request as ready for review August 20, 2026 12:49
Comment thread js/core/vocabStore.js Outdated
Treat only the historical full-width separator as the end of a reading-highlight phonetic field so valid ASCII semicolons remain intact. Extend the VocabStore regression through load, update, and merge paths.
@k-undurkhaan-2

Copy link
Copy Markdown
Collaborator Author

Final code audit report and handoff

Scope

Audit outcome

No unresolved reportable findings remain.

The audit initially found one P2 compatibility regression in the legacy reading-highlight phonetic projection. ECDICT phonetics may contain ASCII semicolons, while historical note fields were separated with the full-width . Commit 1c7e3e4f corrected the parser to preserve the ASCII semicolon content, added regression coverage through load/update/merge paths, and resolved the review thread.

The final patch was also checked for:

  • non-destructive default-list backfill and explicit-value precedence;
  • AppData merge, patch, progress restore, and v2 import behavior;
  • JSON/CSV import, progress backup, and shareable-list export;
  • recognition/feedback rendering, spelling-stage hint isolation, escaping, accessibility, and mobile wrapping;
  • reading-highlight compatibility and preservation of notes and learning state;
  • deterministic ECDICT enrichment, generated bundle parity, offline behavior, attribution, and payload budget.

Validation

  • GitHub CI verify: successful on the reviewed head
  • GitGuardian Security Checks: successful
  • focused VocabStore suite: 16/16 passed
  • complete JavaScript suite in CI: 73/73 passed
  • bundle drift check: all 14 outputs current
  • IELTS core coverage: 3,535/3,609 unique headwords
  • compact payload growth: 84,618 bytes, below the 150 KB budget
  • corpus migration replay: 17,048/17,048 non-empty ECDICT phonetics round-tripped; all 26 ASCII-semicolon values were preserved
  • source/bundle syntax checks and git diff --check: passed
  • GitHub merge state: CLEAN and MERGEABLE

Accepted boundaries

The MVP intentionally retains ECDICT's legacy/mixed phonetic notation, omits uncovered values cleanly, and does not add audio, remote APIs, accent switching, strict IPA normalization, or automatic phrase pronunciation.

Handoff

Implementation and code audit are complete at 1c7e3e4f. There are no pending review findings or required code changes from this audit. The pull request is ready for maintainer approval and merge into opensource; issue #118 can be closed according to the repository workflow after the merge is confirmed.

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