The owner saved the translate refactor in WIP commit 233e3936
("chore(wip): save owner work in progress (2026-10-14)", parent 30907e66) and asked
for it to be moved onto master (7190786b) as its own change, reviewed on three axes
and merged only after the full verification gate.
Transferred verbatim with `git checkout 233e3936 -- <paths>` (no edits beyond the
fixes listed below, which are recorded in the transfer report):
backend/src/plugins/translate/** (61 files: module split of the LLM service and the
executor, batch classification/insert rows, executor delegates/dispatch/parallel,
llm prompting/records/recovery, scheduler execution, sql literals, sqllab
execution, target schema catalog, token constants, record outcomes/filter
forwarding, preview/prompt/sql/orchestrator modules, dictionary modules)
backend/src/models/translate.py + translate_identity.py, translate_job_runs.py,
translate_dictionary_preview.py, translate_metrics_languages.py (same 15 tables and
columns, split by domain behind a re-export facade; no migration needed)
backend/src/schemas/translate.py + translate_corrections.py, translate_dictionaries.py,
translate_jobs.py, translate_preview.py, translate_runs.py
backend/src/api/routes/translate/** (dictionary entries split out)
backend/tests/plugins/translate/** (5 new tests incl. import-boundary and terminal-state)
frontend/src/lib/components/translate/** (new Config* sections, CorrectionDictionaryPopup,
TranslationRunTerminalStatus, runOutcome helper, tests)
frontend/src/lib/api/translate/**, frontend/src/routes/translate/** (list, history,
dictionaries, job wizard and detail), translation stores and models, i18n translate.json
frontend/e2e translation specs + fixtures/helpers, vitest.translation.config.js,
playwright.translation-fixture.config.js
docs/tasks/2026-10-02-translation-*.md (7 plan/audit documents)
Fixes found while transferring (each has its own reasoning in the commit body below):
* tests/test_orchestrator_direct_db.py: the WIP replaced the silent direct_db ->
Superset fallback with a typed failure; the stale test asserted the old fallback and
is now pinned to the refusal (plus an end-to-end result assertion).
* docs/tasks/2026-10-02-translation-semantics-audit.md: the owner home path was
replaced with `$REPO_ROOT` so no personal path enters git.
Deliberately NOT transferred (not translate): settings refactor, dashboard-testing,
research scripts, docker/full-flow, .kilo, tools/, other docs.