Docs

Phonological layer

Many writing systems underdetermine pronunciation. Undiacritized Arabic, nikud-less Hebrew, and unsegmented Thai cannot be transliterated unambiguously until the hidden vowels or phonemes are restored. That restoration is the phonological layer — optional, independent of the core map engine, and run by the secryst crystal family against the interscript-ml contract.

How the pieces fit

map (deterministic) ──secryst()──► crystal (ONNX)
                                      │
                                      ▼
                            interscript-ml contract
                            models.yaml · IMF v1 · goldens
  • interscript engines stay pure. A map that needs vocalization declares a secryst (or future vocalize) step; without a crystal installed, that map simply cannot run that step.
  • secryst crystals (gem secryst · pip install secryst · npm i secryst resolve a model id through models.yaml, download a sha256-verified IMF v1 zip, cache it under ~/.cache/secryst, and run greedy ONNX inference locally. No cloud, no telemetry.
  • interscript-ml is the contract only: the index, the format, the golden sets, and the model zoo. It depends on nothing. Crystals depend only on it.
  • interscript-ml-train produces the teachers whose distilled students enter the zoo.

Environment

VariableMeaningDefault
SECRYST_INDEXIndex URL or path interscript-ml models.yaml on GitHub
SECRYST_CACHEArtifact cache ~/.cache/secryst

Further reading