Compose tools behind a small factory

The inspected factory mounts Keyfall, Ukrainian text-to-speech tooling, an interpreter, Kazkolib, Lviv flashcards, and Prompt Logic. Each module receives explicit paths and context rather than discovering arbitrary workstation resources.

Lviv opens a flashcard store and a seed deck, while its generation worker is created with automatic startup disabled. Ukrainian language tools receive dictionary and reference-audio locations through their constructors. This makes runtime dependencies easier to inspect.

Do not imply unavailable features work

The hosted interpreter returns an explicit unavailable response for live interpretation until realtime and encrypted-credential adapters exist. Saved recordings remain available. Automatic flashcard generation is similarly gated while manual editing and study are retained.

The shared category runtime stores mutable data through a service-scoped bridge and detects stale writes. Credentials and local data are excluded from the release source.

The learning factory supplies separate locations for recordings, dictionary assets, generated pronunciation models, and flashcard data. Those paths make ownership and migration needs concrete.

Retain the useful path

The extraction preserves manual editing, study, and saved work while leaving unsupported realtime and background capabilities visibly unavailable. Each module can gain a dedicated adapter without widening every other module's permissions. That makes staged migration possible without disguising a deterministic or saved result as newly generated output.