bindings shared infra#28
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
prep for rust, swift, ts