The contract for Interscript's phonological layer — the normative definition of what a "hidden reading" model is, and the zoo that publishes models conforming to it.
This repo owns three things and nothing else:
- The
models.yamlindex — the stable URL every runtime resolves model ids against (with per-artifact sha256s and split-part support). - The IMF v1 model-zip format — the artifact contract:
metadata.yaml+ ONNX graphs + member sha256 manifest. The normative text is SPEC.md; the reference loader now lives in the Python crystal. - The model zoo + publish pipeline — teachers from secryst-train are distilled, gated (parity written into the artifact), and released as index entries here.
interscript deterministic transliteration maps + engines
(ruby · js · py) │ maps that need vocalization dispatch to a
│ crystal through stdlib adapters (optional)
▼
secryst crystals Ruby gem · pip install secryst · npm i secryst
(secryst org) implement IMF v1 + models.yaml — nothing else
│
▼
interscript-ml ◄────── models/zips resolve through this index
(THIS repo) ──────► golden sets: crystals diffed against each other
secryst-train teachers (arabic · persian · urdu + hebrew docs);
(secryst org) secryst's own product; students ship through the zoo
Dependency directions, stated once:
- interscript-ml depends on nothing. It is the contract: an index, a format, golden sets, and release tooling.
- Crystals depend only on the contract. A crystal has zero
interscript-core dependency — a TTS front-end can phonemize Khmer
with
pip install secrystand nothing else. - Engines depend on crystals only optionally. An engine without a crystal simply cannot execute maps that declare a vocalization step.
- Training is owned by secryst. Teachers live in secryst/secryst-train — the crystal family's own product. This repo publishes their distilled students through the export gate; it does not train anything.
| repo | role |
|---|---|
| interscript/interscript-ml | this — contract + zoo |
| secryst/secryst | Ruby crystal (the original, est. 2020) |
| secryst/secryst-py | Python crystal — reference, owns golden generation |
| secryst/secryst-ts | TypeScript crystal (npm secryst) |
| secryst/secryst.github.io | the crystals' documentation site |
| secryst/secryst-train | training monorepo — secryst-owned teachers |
| interscript/rababa · rababa-farsi · rababa-urdu | archived origins of the train monorepo (full history merged there) |
runtime/ in this repo is the frozen origin of the Python crystal —
kept for provenance; live code and releases are in secryst-py.
SECRYST_INDEX (index URL or path; default: models.yaml on this
repo's main) · SECRYST_CACHE (default ~/.cache/secryst). Cache hits
are re-verified against the index on every load.
License: BSD-3-Clause.