Save the current implementation and README, status, and known-issue documentation at the user-requested stop. No completed release or deployment is claimed. Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: GPT-6 Codex <noreply@openai.com>
2.0 KiB
Public native ABI provenance
The adapter uses the public C API of Extism1.41.0, not a copied SDK implementation, reflection or private symbol access. Root retrieved the following official versioned files; the local copies were read to check allocation/function ownership:
| Source | SHA256 |
|---|---|
| Extism header | 69A790998BC21A3BBDCBB02DC7D1C4862B62EDAB60B98139831EACEA21E5CA1E |
| runtime/src/sdk.rs | C6AF172AE8F7DE438EB98453E578FEF1894B90D3E3697F254A2D140D4679EE2A |
| runtime/src/function.rs | AC8DA752796E41D3C0283D169054C17868DB4299F951C0825955620425E3B40A |
Extism's compiled-plugin constructor takes the Rust Function value from each passed C wrapper; the wrapper still requires extism_function_free. The Java slot retains its JNA callback strongly, frees the common compiled plugin after its active instance is gone, then frees the wrapper exactly once. Constructor error strings are freed without copying/logging their text. This source reasoning needs actual native qualification; it is not evidence that a different binary honors the same ABI.
The pinned fixed guest is the sibling wasm-runtime, with its independently maintained Cargo.lock, source/licensing provenance and private JSON ABI. The supervisor checks actual native/Wasm file hashes and Extism's reported version. Operator hash selection and secure packaging remain trust prerequisites.
Java dependency pins: JNA5.18.1 (Apache2.0/LGPL2.1 dual licensed upstream), org.json20251224 (upstream public-domain project declaration), and test-only JUnit6.0.1. Preserve upstream JAR metadata/notices when distributing their separate binaries. This source module's own Apache2.0 LICENSE/NOTICE are packaged under META-INF. No dependency was downloaded or globally installed as part of this tranche.