Skip to content

bindings shared infra#28

Merged
cjpais merged 7 commits into
mainfrom
bindings-shared-infra
Jun 13, 2026
Merged

bindings shared infra#28
cjpais merged 7 commits into
mainfrom
bindings-shared-infra

Conversation

@cjpais

@cjpais cjpais commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

prep for rust, swift, ts

cjpais and others added 7 commits June 13, 2026 08:52
generate.py (still the hash oracle) now also emits include/transcribe.abihash,
drift-gated by --check; the wheel install reads it instead of parsing
_generated.py, and stamps a language-neutral contract.json into _native/.
Backend kind/target classification moves to a shared cmake helper that
filters to current-configure targets — ggml's GGML_AVAILABLE_BACKENDS cache
is append-only, so stale entries could stamp backends the artifact lacks.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Cargo.toml / package.json join the equality set when their binding lands;
0.0.0 placeholders are parsed but not compared. Package.swift versions via
git tags, so it has no entry.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
cmake --install now produces a consumer prefix: headers + abihash +
libtranscribe (ggml's own rules supply the rest) and a machine-readable
link manifest — archive order, system libs/frameworks/flags, and the DL
module_dir to hand transcribe_init_backends. scripts/ci/link_smoke.{c,py}
compile a toy C consumer from nothing but the manifest, both postures;
this is what the Rust -sys build.rs will trust. docs/bindings.md documents
the three neutral artifacts.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
cpp-tests / cpp-tests-sanitized / provider-dl-vulkan move with their job
names (required checks carry over); python-bindings.yml keeps lint +
python-shared. New: link-smoke steps piggyback on the existing builds
(static on cpp-tests, shared/DL on provider-dl-vulkan — zero extra
compile), and posture-lint runs check_lane_mirror.py, making the
preset<->pyproject lane mirror structural (the 2026-06-12 unanchored-regex
wrong-posture bug class).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Each native wheel lane re-containers its repaired wheel's _native/ dir +
contract.json + licenses as transcribe-native-<tuple>.tar.gz — the bytes
npm platform packages / prebuilt-Rust will ship instead of rebuilding.
bundle-smoke proves the linux bundle outside any wheel (API package
--no-deps + TRANSCRIBE_LIBRARY, contract posture asserted); publish.yml
attaches versioned bundles to the release on tags.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Same shape as the transcribe-cpp placeholder; published manually.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Branch protection stays off for now (CJ, 2026-06-13).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cjpais cjpais merged commit 885935d into main Jun 13, 2026
7 checks passed
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.

1 participant