Add executable provider runtime artifact contract - #1250
Conversation
|
This pull request is currently a draft. Reviews will not take place until the PR is marked as ready for review. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
d178ace to
6811dd0
Compare
Experimental stacked change
This is the 2A provider artifact layer of the experimental Apple runtime roadmap in #1246.
jd/experimental-apple-runtimexcode-select, Apple Intelligence enabled, and the system model downloaded.Why this layer exists
MeshLLM already has native runtime artifacts for backend libraries selected against the Skippy ABI. An Apple system-model integration is a different shape: it is a signed executable provider with its own process boundary, protocol version, model identities, platform requirements, entitlements, and lifecycle.
This PR gives executable providers a provider-neutral package, resolution, verification, download, and immutable-cache contract before the host supervisor and SDK bindings are added. Apple is the first consumer, but the contract does not embed Foundation Models semantics.
What changes
mesh-llm-provider-runtimecrate.provider-runtime.jsonbundle manifests andprovider-runtimes.jsonrelease indexes.<cache>/<artifact-id>/<version>/<os>-<arch>/.docs/design/PROVIDER_RUNTIMES.md.This layer deliberately does not launch or supervise the provider, bind it into SDK lifecycle APIs, or advertise it across a mesh. Those are the next stacked changes.
Try it
From the repository root:
Confirm the Golden Gate developer environment:
The selected path must be full Xcode/Xcode beta and the SDK must be 27.x.
Build the carrier-neutral Apple provider artifact:
Validate
provider-runtime.json, every declared file digest, and the executable bit using the shared Rust contract:Exercise the same artifact in every planned SDK carrier layout:
Expected summary:
{ "carriers": [ "cli_runtimes_apple", "jvm_ai_meshllm_apple-runtime_macos-arm64_runtime", "node_node_modules__mesh-llm_apple-runtime-darwin-arm64_runtime", "swift_MeshLLMAppleRuntime.bundle_Contents_Resources_runtime" ], "status": "pass" }To exercise the experimental parent runtime itself:
In another terminal:
curl -s http://127.0.0.1:11435/v1/models | jq just apple::restThe parent PR's
providers/apple/README.mdincludes captured Golden Gate output for a buffered completion, SSE streaming, usage accounting, and a REST tool execution.Generated artifacts are under
target/apple-runtime/package/, including the bundle, ZIP, SHA-256 sidecars, andprovider-runtimes.json.Validation
just buildjust with-lld cargo fmt --all -- --checkjust with-lld cargo test -p mesh-llm-provider-runtime— 11 passedjust with-lld cargo clippy -p mesh-llm-provider-runtime --all-targets -- -D warningsjust with-lld cargo package -p mesh-llm-provider-runtime --allow-dirty --no-verifyjust apple::carriers— CLI, Swift, Node, and JVM carrier layouts passedactionlint -config-file .github/actionlint.yamlshellcheck providers/apple/Packaging/package.sh providers/apple/QA/carriers.shci-crate-lists,publish-crates, andrelease-targetspython3 scripts/tests/test_publish_crates.py— 9 passedNext stack
2B will add the Rust host supervisor: resolve the artifact, enforce platform signing policy, launch and health-check the sidecar, forward requests, drain it, and terminate it with the owning MeshLLM instance. Later changes will bind that lifecycle into Rust, Swift, Node/Electron, and Kotlin/JVM before private-mesh routing is enabled.
Closes no issue; advances #1246.