Epic / tracking issue. Long-running theme, not a single PR. Individual work items get their own issues/PRs and link back here.
Vision
API-tools is converging on pitch-accent marking (/api/MarkAccent/) as its primary purpose; the other endpoints (DictQuery, SentenceQuery, UsageQuery) see little use. The goal of this epic is to make the accent service standalone, with no runtime calls to external services, so it is robust, reproducible, low-latency, and deployable offline.
Why
The technical gap
OJAD did connected-speech contour: accent-phrase (アクセント句) segmentation, compound accent (複合語アクセント), particle attachment, and downstep. UniDic's aType is only lexical / dictionary-form pitch and cannot express phrasing, so the standalone replacement is a local prosody engine, not just aType.
Workstreams
Still open
- Repo split: spin the accent service into its own repo, leaving Dict/Sentence/Usage behind? Affects packaging and CD.
Out of scope (parked)
References
Vision
API-toolsis converging on pitch-accent marking (/api/MarkAccent/) as its primary purpose; the other endpoints (DictQuery,SentenceQuery,UsageQuery) see little use. The goal of this epic is to make the accent service standalone, with no runtime calls to external services, so it is robust, reproducible, low-latency, and deployable offline.Why
The technical gap
OJAD did connected-speech contour: accent-phrase (アクセント句) segmentation, compound accent (複合語アクセント), particle attachment, and downstep. UniDic's
aTypeis only lexical / dictionary-form pitch and cannot express phrasing, so the standalone replacement is a local prosody engine, not justaType.Workstreams
accent_marking_type(0/1/2)lexical_kernel(Fallback to UniDic aType-derived lexical pitch when OJAD is unavailable #61)Still open
Out of scope (parked)
DictQuery/SentenceQuery/UsageQuery, and their known bugs (DictQuery returns 404 for valid words (先生): EDRDG/JMdictDB markup changed name="e" → name="g" #54, Invalid symbols block the whole result parsing #57, Furigana parsing for date with number tend to drift #58). These stay external for now; revisit only if the repo-split decision pulls them along.References