Skip to content

ci(WO71): conformance matrix — frozen fixtures byte-exact in CI - #40

Merged
ronaldtse merged 2 commits into
mainfrom
wo71-conformance-matrix
Oct 21, 2026
Merged

ronaldtse merged 2 commits into
mainfrom
wo71-conformance-matrix

Conversation

@ronaldtse

Copy link
Copy Markdown
Contributor

Adds tests_ml/test_conformance.py (the frozen-fixture contract: CONFORMANCE_VECTORS + SECRYST_E2E_ZIP, byte-exact under single-row-greedy via interscript.ml.Model) and a conformance-matrix CI job downloading fixtures from interscript-models Releases with the index sidecar verified. urd-g2p (split parts) joins via the resolver in a later pass.

A conformance-matrix job downloads the frozen vectors + model zips
from the models Releases (index sidecar verified) and replays each
fixture byte-exactly through interscript.ml. urd-g2p (split parts)
joins via the resolver in a later pass.
Comment on lines +32 to +65
name: Conformance matrix (frozen fixtures)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: pip install -e ".[dev]"
- name: Download fixtures (GitHub Releases channel)
run: |
mkdir -p fixtures && cd fixtures
BASE="https://github.com/interscript/interscript-models/releases/download"
curl -fsSL -o models-index.yaml "$BASE/index-v12/models-index.yaml"
curl -fsSL -o models-index.yaml.sha256 "$BASE/index-v12/models-index.yaml.sha256"
echo "$(cat models-index.yaml.sha256)" | sha256sum -c
for v in urd-diac-base fas-diac-base urd-g2p-base; do
curl -fsSL -O "$BASE/index-v12/$v-vectors.json"
done
# the two single-zip models; urd-g2p (split parts) resolves
# via the runtime resolver in a later matrix pass
for m in urd-diac-base-1.0 fas-diac-base-1.0; do
url=$(sed -n "/^ $m:/,/^ [a-z]/p" models-index.yaml | grep -m1 'url:' | awk '{print $2}')
curl -fsSL -o "$m.zip" "$url"
done
- name: Run the matrix
run: |
for pair in "urd-diac-base-1.0 urd-diac-base" "fas-diac-base-1.0 fas-diac-base"; do
set -- $pair
echo "::group::$1"
SECRYST_E2E_ZIP="$PWD/fixtures/$1.zip" \
CONFORMANCE_VECTORS="$PWD/fixtures/$2-vectors.json" \
pytest tests_ml/test_conformance.py -v
echo "::endgroup::"
done
@ronaldtse
ronaldtse merged commit e89c2e2 into main Oct 21, 2026
6 of 7 checks passed
@ronaldtse
ronaldtse deleted the wo71-conformance-matrix branch October 21, 2026 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants