Add semantic domain, citation form, and lexeme form tasks - #2616
Conversation
Adds three new provide-missing tasks to the FwLite viewer guided data-entry workflow: - Missing Semantic domain (sense) - Missing Citation form <ws> (entry) - Missing Lexeme form <ws> (entry) The citation/lexeme form tasks introduce the first entry-level task generator (makeEntryTasks). Semantic domain uses a custom value/complete check since it is an array field rather than a writing-system string. Test fixtures now look tasks up by id instead of positional index so they survive reordering of the generators. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (10)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughChangesThe task service now creates semantic-domain and vernacular entry tasks. Tests cover the new task types and ID-based lookup. Eight locale catalogs add the corresponding task messages. Task coverage
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to Completed entry tasks are excluded by the existing entry query filters, and no merge-blocking issue remains. Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 2 files. (8 skipped: 8 unsupported.) ✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
Per-writing-system entry task that shows both the lexeme form and citation form fields and filters on both being empty. A headword is considered present when either form has a value (citation form wins, matching the headword convention), so isComplete/getSubjectValue check both fields rather than a single one. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The provide-missing task prompts now switch on the writing system's isAudio flag, so audio writing systems prompt "Record a ..." rather than "Type a ...". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The close (X) button in the task subject drawer sat centered under the progress bar; position it absolutely in the top-right corner instead. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Anchor the close (X) button to the drawer content rather than the header so it sits up in line with the grabber handle. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

A user and requested more filters for tasks, especially around audio for headwords and semantic domains:

Per our team meeting we added headword:

entries show up only when both lexeme form and citation form are empty.
AI-generated summary
Adds three new provide-missing tasks to the FwLite viewer guided data-entry workflow (
frontend/viewer/src/project/tasks/):makeSenseTasks. Because semantic domains are an array (not a writing-system string), it uses a customgetSemanticDomainsValuehelper for the done-screen chip and anisCompletecheck of "has ≥1 domain". Filter:Senses=null|Senses.SemanticDomains=null.<ws>(entry) — per vernacular writing system. Filter:CitationForm[<ws>]=.<ws>(entry) — per vernacular writing system. Filter:LexemeForm[<ws>]=.The citation/lexeme form tasks introduce the first entry-level task generator (
makeEntryTasks);subjects()and the editor primitives already supportedsubjectType: 'entry'and these fields, so no UI or backend changes were needed.listTasks()now yields entry → sense → example tasks.Test fixtures now look tasks up by
idinstead of positional index, so they survive reordering of the generators (the new semantic-domain task shifts the array).New user-visible strings were extracted into all locale catalogs via
pnpm i18n:extract.Note: The Missing Citation form task will surface entries whose citation form is deliberately blank (equal to the lexeme form), so its todo count may look large. Working as intended; flagging in case it proves noisy.
A Missing Translation task (example sentences) was considered but left for a follow-up PR, since it requires a new server-side gridify filter for
Senses.ExampleSentences.Translations.Test plan
vitest—tasks-service.test.ts15/15 pass (7 new cases across the three tasks)svelte-check— 0 errorseslint— cleanpnpm i18n:extract— new strings extracted into all 8 locale catalogs