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 futurevocalize) step; without a crystal installed, that map simply cannot run that step. - secryst crystals (
gem secryst·pip install secryst·npm i secrystresolve a model id throughmodels.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
| Variable | Meaning | Default |
|---|---|---|
SECRYST_INDEX | Index URL or path | interscript-ml models.yaml on GitHub |
SECRYST_CACHE | Artifact cache | ~/.cache/secryst |
Further reading
- secryst.org — crystal primer, API reference, model zoo
- IMF v1 specification — the normative contract text
- interscript-ml/SPEC.md — canonical source of that text
- interscript-ml-train — teachers