A diachronic language workbench for evolving Romance/Latin roots into:
- Temple Common (Kharvūnic)
- Boardroom Common
- Trade Common
The goal is reproducible linguistic evolution rather than ad hoc word invention. The default app path is now the consolidated v2 workbench.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtOn Windows, activate with:
.venv\\Scripts\\activatestreamlit run app.pyapp.py is the primary user-facing entry point. It uses EvolutionEngineV2 by default and includes the complete v2 workflow:
- evolve one word with visible diagnostics,
- inspect full lineage with rule IDs and explanations,
- compare Temple, Boardroom, and Trade forms side by side,
- save complete dictionary entries with collision warnings and history, while blocking weak/failing candidates from canonical save,
- run the diagnostic root corpus and inspect root health.
Legacy/development launchers remain in the repository for reference only:
app_v1.pyapp_v2.pyapp_workbench.pyapp_launcher.py
Do not treat those files as the primary app path.
python -m pytestThe test suite includes guards for the previous fake-success failure modes: ambulare must not silently return ambulare, and weak/failing candidates must not be canonical-saveable.
app.py— consolidated Streamlit v2 workbenchkharvunic/evolution_v2.py— serious v2 evolution enginekharvunic/diagnostics.py— unchanged/weak/failing evolution diagnosticskharvunic/diagnostic_runner.py— corpus-level root health checkskharvunic/workflows.py— v2 save workflow and dictionary persistencedata/rules_v2.csv— richer staged sound-change rule librarydata/diagnostic_roots.csv— diagnostic root corpusdata/dictionary.csv— canonical dictionarydata/dictionary_history.csv— audit trail for saved entries
Input:
ambulare
walk
temple
The app should show visible lineage: ambulare → amvulare → amvular → amvulār. It should never silently present an unchanged source form, or a weak candidate, as a successful canonical result.
Input:
misericordia
mercy
The Compare Registers page shows Temple, Boardroom, and Trade outputs together, with diagnostics for each register.