Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ jobs:
uses: actions/attest-build-provenance@v1
continue-on-error: true
with:
subject-name: github.com/interscript/interscript-ml
subject-name: github.com/interscript/interscript-models
subject-digest: sha256:${{ github.sha }}

publish-hf:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
- run: |
python -m pip install --upgrade pip
pip install -e "./runtime[dev]"
- name: interscript-ml runtime tests (tiny-graph zips, golden e2e)
- name: interscript-models runtime tests (tiny-graph zips, golden e2e)
run: python -m pytest runtime/tests -v

metrics-provenance:
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# interscript-ml
# interscript-models

The **contract** for Interscript's phonological layer — the normative
definition of what a "hidden reading" model is, and the zoo that
Expand All @@ -24,8 +24,8 @@ This repo owns three things and nothing else:
| Benchmark | [Misraj/SadeedDiac-25](https://huggingface.co/datasets/Misraj/SadeedDiac-25) (auto-fetched) |
| Protocol CLI | `pip install interscript-ml-tools[sadeed]` ([PyPI](https://pypi.org/project/interscript-ml-tools/)) |
| Python runtime | `pip install secryst` ([PyPI](https://pypi.org/project/secryst/)) |
| Raw predictions, every frontier run | Release [`frontier-predictions-v1`](https://github.com/interscript/interscript-ml/releases/tag/frontier-predictions-v1) |
| Teachers + provenance labels | Release [`teachers-arabic-v1`](https://github.com/interscript/interscript-ml/releases/tag/teachers-arabic-v1) |
| Raw predictions, every frontier run | Release [`frontier-predictions-v1`](https://github.com/interscript/interscript-models/releases/tag/frontier-predictions-v1) |
| Teachers + provenance labels | Release [`teachers-arabic-v1`](https://github.com/interscript/interscript-models/releases/tag/teachers-arabic-v1) |
| Student artifacts | `models.yaml` (index-v5) — sha256-verified in every runtime |

interscript-sadeed-eval score --preds <file> --data Misraj/SadeedDiac-25
Expand All @@ -44,7 +44,7 @@ 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
interscript-models ◄────── models/zips resolve through this index
(THIS repo) ──────► golden sets: crystals diffed against each other
secryst-train teachers (arabic · persian · urdu + hebrew docs);
Expand All @@ -53,7 +53,7 @@ secryst-train teachers (arabic · persian · urdu + hebrew docs);

Dependency directions, stated once:

- **interscript-ml depends on nothing.** It is the contract: an index,
- **interscript-models 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
Expand All @@ -69,7 +69,7 @@ Dependency directions, stated once:

| repo | role |
|---|---|
| [interscript/interscript-ml](https://github.com/interscript/interscript-ml) | this — contract + zoo |
| [interscript/interscript-models](https://github.com/interscript/interscript-models) | this — contract + zoo |
| [secryst/secryst](https://github.com/secryst/secryst) | Ruby crystal (the original, est. 2020) |
| [secryst/secryst-py](https://github.com/secryst/secryst-py) | Python crystal — reference, owns golden generation |
| [secryst/secryst-ts](https://github.com/secryst/secryst-ts) | TypeScript crystal (npm `secryst`) |
Expand Down
154 changes: 77 additions & 77 deletions models.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion scripts/generate_release_notes.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
### Direct download
```
https://github.com/interscript/interscript-ml/releases/download/{task}-v{version}/{task}.onnx
https://github.com/interscript/interscript-models/releases/download/{task}-v{version}/{task}.onnx
```
Full distribution plan: see ``TODO.distribution/`` in the source repo.
Expand Down
2 changes: 1 addition & 1 deletion scripts/model_card.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ def render_card(model_id: str, entry: dict, variants: list[str],
"## Provenance",
"",
"Trained in the [Secryst training monorepo](https://github.com/secryst/secryst-train) "
"and published through the [interscript-ml](https://github.com/interscript/interscript-ml) "
"and published through the [interscript-ml](https://github.com/interscript/interscript-models) "
"distribution contract (models.yaml index, sha256-verified release assets, "
"parity-gated artifacts). The canonical download channel is GitHub Releases; "
"this repository is the Hugging Face mirror of the same bytes, pinned to the "
Expand Down
2 changes: 1 addition & 1 deletion scripts/publish_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

# GitHub hard-caps release assets at 2,147,483,648 bytes; split well below.
SPLIT_THRESHOLD = 2_000_000_000
DEFAULT_REPO = "interscript/interscript-ml"
DEFAULT_REPO = "interscript/interscript-models"


def canonical_filename(meta: dict) -> str:
Expand Down
2 changes: 1 addition & 1 deletion scripts/split_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
corrupt part is identified, not just "the download failed".
python scripts/split_release.py models/heb-diac/heb-diac-1.0-fp32.zip \
--url-base https://github.com/interscript/interscript-ml/releases/download/heb-diac-1.0
--url-base https://github.com/interscript/interscript-models/releases/download/heb-diac-1.0
"""

from __future__ import annotations
Expand Down
4 changes: 2 additions & 2 deletions scripts/update_npm_manifest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ manifest_path = Path("npm/models/manifest.json")
data = json.loads(manifest_path.read_text(encoding="utf-8"))
# Pull checksums from the GH Release API
api = f"repos/interscript/interscript-ml/releases/tags/{tag}"
api = f"repos/interscript/interscript-models/releases/tags/{tag}"
release = json.loads(subprocess.check_output(["gh", "api", api], text=True))
assets = {}
Expand All @@ -44,7 +44,7 @@ for asset in release.get("assets", []):
if name.endswith(".sha256"):
# Download the sidecar to read the digest
digest = subprocess.check_output(
["gh", "release", "download", tag, "--repo", "interscript/interscript-ml",
["gh", "release", "download", tag, "--repo", "interscript/interscript-models",
"--pattern", name, "--output", "-"], text=True
).strip().split()[0]
base = name[:-len(".sha256")]
Expand Down
Loading