Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1551,10 +1551,10 @@ jobs:
libxdo-dev \
pkg-config

- name: Build WASIX Rust binding package artifacts
- name: Build Rust WASIX binding package artifacts
run: OLIPHAUNT_CI_JOB_TARGETS_JSON='${{ needs.affected.outputs.job_targets }}' MOON_CACHE=off .github/scripts/run-planned-moon-job.sh wasix-rust-package

- name: Upload WASIX Rust binding package artifacts
- name: Upload Rust WASIX binding package artifacts
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
with:
name: oliphaunt-wasix-rust-package-artifacts
Expand Down
32 changes: 18 additions & 14 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ members = [
"src/runtimes/liboliphaunt/wasix/crates/tools-aot/x86_64-pc-windows-msvc",
"tools/perf/runner",
"tools/native-extension-proof",
"tools/native-packaging",
"tools/xtask",
]
exclude = ["src/bindings/wasix-rust/examples/tauri-sqlx-vanilla/src-tauri"]
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ Oliphaunt is a multi-product monorepo, not one repository-wide version:
postmaster carrier with isolated PostgreSQL backends.
- Native and WASIX own independent versions. A change to one does not select
the other unless a declared directed compatibility dependency requires it.
- Rust, Swift, Kotlin/Android, React Native, TypeScript, and WASIX Rust are
separately versioned SDK products.
- Rust, Swift, Kotlin/Android, React Native, TypeScript, Rust WASIX, and WASIX
TypeScript are separately versioned SDK products.
- Broker and Node-direct helpers are separately versioned runtime products.
- Every SQL extension in the catalog remains exactly selectable. PostgreSQL 18
contrib members share one logical artifact bundle whose native and WASIX
Expand Down Expand Up @@ -76,7 +76,7 @@ The declared public entry points are:
| App surface | Package entry point | Distribution boundary |
| --- | --- | --- |
| Rust/Tauri desktop | `oliphaunt` | Cargo and target-specific native artifact crates |
| WASIX Rust | `oliphaunt-wasix` | Cargo portable/AOT artifact crates |
| Rust WASIX | `oliphaunt-wasix` | Cargo portable/AOT artifact crates |
| WASIX postmaster server | `oliphaunt-wasix-postmaster` release launcher | GitHub `linux-x64-gnu` or `macos-arm64` sealed carrier archive |
| Swift | `Oliphaunt` | SwiftPM source tag and checksum-pinned release assets |
| Android | `dev.oliphaunt:oliphaunt-android` and `dev.oliphaunt.android` | Maven Central AAR, Gradle plugin/marker, and declared ABI carriers |
Expand Down Expand Up @@ -135,7 +135,7 @@ promote releases.
## Documentation

- [Public SDK documentation](src/docs/content/sdk/index.mdx)
- [Capabilities](src/docs/content/reference/capabilities.mdx)
- [Runtime support](src/docs/content/reference/capabilities.mdx)
- [Exact extension model](src/docs/content/reference/extensions.mdx)
- [Source architecture](docs/architecture/final-product-source-architecture.md)
- [Maintainer documentation index](docs/maintainers/README.md)
Expand Down
108 changes: 83 additions & 25 deletions coverage/baseline.toml
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ owner = "@oliphaunt/core"
expires = "before-0.2.0"

[[products.oliphaunt-kotlin.waivers]]
path = "src/sdks/kotlin/oliphaunt/src/androidMain/kotlin/dev/oliphaunt/OliphauntAndroid.kt"
reason = "Android app-facing helper binds packaged resources and is covered by Android resource/package tests"
path = "src/sdks/kotlin/oliphaunt/src/androidMain/kotlin/dev/oliphaunt/Oliphaunt.kt"
reason = "Android app-facing facade binds packaged resources and is covered by Android resource/package tests"
evidence = "OliphauntAndroidRuntimeAssetsTest and package-shape checks"
owner = "@oliphaunt/core"
expires = "before-0.2.0"
Expand All @@ -127,20 +127,6 @@ evidence = "Android CMake compile, JNI smoke, and liboliphaunt C ABI tests"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

[[products.oliphaunt-kotlin.waivers]]
path = "src/sdks/kotlin/oliphaunt/src/jvmMain/kotlin/dev/oliphaunt/DefaultEngine.kt"
reason = "JVM target intentionally reports runtime unavailable until the JVM/native artifact resolver is implemented"
evidence = "Kotlin package-shape tests and SDK parity mode-support fixtures"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

[[products.oliphaunt-kotlin.waivers]]
path = "src/sdks/kotlin/oliphaunt/src/nativeMain/kotlin/dev/oliphaunt/DefaultEngine.kt"
reason = "Kotlin/Native default engine selection is validated with native target smoke rather than Kover JVM reports"
evidence = "Kotlin native smoke/regression lanes"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

[[products.oliphaunt-kotlin.waivers]]
path = "src/sdks/kotlin/oliphaunt/src/nativeMain/kotlin/dev/oliphaunt/NativeDirectEngine.kt"
reason = "Kotlin/Native C interop and owner-dispatcher behavior requires native runtime evidence outside Kover"
Expand Down Expand Up @@ -210,14 +196,14 @@ expires = "before-0.2.0"
[[products.oliphaunt-js.waivers]]
path = "src/sdks/js/src/runtime/broker.ts"
reason = "broker helper lifecycle requires Rust helper/runtime artifacts and belongs in smoke/regression evidence"
evidence = "runtime-modes tests, broker frame tests, and TypeScript native broker smoke"
evidence = "runtime-adapters.test.ts, broker-frames.test.ts, and TypeScript native broker smoke"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

[[products.oliphaunt-js.waivers]]
path = "src/sdks/js/src/runtime/node-adapter.ts"
reason = "Node process adapter is partially exercised but runtime process behavior belongs in smoke lanes"
evidence = "runtime-modes tests and broker/server smoke lanes"
evidence = "runtime-adapters.test.ts and broker/server smoke lanes"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

Expand All @@ -231,7 +217,7 @@ expires = "before-0.2.0"
[[products.oliphaunt-js.waivers]]
path = "src/sdks/js/src/runtime/server.ts"
reason = "server process lifecycle requires runtime artifacts and belongs in smoke/regression evidence"
evidence = "runtime-modes tests and TypeScript native server smoke"
evidence = "runtime-adapters.test.ts, root-descriptor.test.ts, and TypeScript native server smoke"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

Expand Down Expand Up @@ -268,13 +254,14 @@ expires = "before-0.2.0"
[products.oliphaunt-wasix-rust]
tool = "cargo-llvm-cov"
line_threshold = 80.0
measured_line_coverage = 85.71
measured_line_coverage = 99.03
summary = "target/coverage/oliphaunt-wasix-rust/summary.json"
reports = ["target/coverage/oliphaunt-wasix-rust/lcov.info"]
source_globs = ["src/bindings/wasix-rust/crates/oliphaunt-wasix/src/protocol/*.rs"]
source_globs = [
"src/bindings/wasix-rust/crates/oliphaunt-wasix/src/oliphaunt/query*.rs",
"src/bindings/wasix-rust/crates/oliphaunt-wasix/src/oliphaunt/mod*.rs",
]
exclude_globs = [
"src/bindings/wasix-rust/crates/oliphaunt-wasix/src/protocol/shared_fixture_tests.rs",
"src/bindings/wasix-rust/crates/oliphaunt-wasix/src/protocol/tests.rs",
"src/runtimes/liboliphaunt/wasix/assets/generated/**",
"src/bindings/wasix-rust/crates/oliphaunt-wasix/tests/**",
"src/runtimes/liboliphaunt/wasix/crates/aot/**",
Expand All @@ -285,8 +272,79 @@ branch_coverage = "advisory"
function_coverage = "advisory"

[[products.oliphaunt-wasix-rust.waivers]]
path = "src/bindings/wasix-rust/crates/oliphaunt-wasix/src/protocol/mod.rs"
reason = "protocol module root is an export shim; behavior lives in the measured protocol modules"
path = "src/bindings/wasix-rust/crates/oliphaunt-wasix/src/oliphaunt/mod.rs"
reason = "oliphaunt module root is an export shim; behavior lives in the measured query module"
evidence = "oliphaunt-wasix protocol nextest and doctest coverage"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

[products.oliphaunt-wasix-ts]
tool = "vitest-v8"
line_threshold = 80.0
measured_line_coverage = 80.36
summary = "target/coverage/oliphaunt-wasix-ts/summary.json"
reports = [
"target/coverage/oliphaunt-wasix-ts/coverage-summary.json",
"target/coverage/oliphaunt-wasix-ts/lcov.info",
]
source_globs = [
"src/bindings/wasix-ts/src/*.ts",
"src/bindings/wasix-ts/src/storage/*.ts",
]
exclude_globs = [
"src/bindings/wasix-ts/src/__tests__/**",
"src/bindings/wasix-ts/src/**/*.d.ts",
"src/bindings/wasix-ts/src/types.ts",
"src/bindings/wasix-ts/src/public.ts",
"src/bindings/wasix-ts/src/index.ts",
"src/bindings/wasix-ts/src/index.*.ts",
"src/bindings/wasix-ts/src/storage/bun.ts",
"src/bindings/wasix-ts/src/storage/deno.ts",
"src/bindings/wasix-ts/lib/**",
"src/bindings/wasix-ts/node_modules/**",
]
per_file_line_threshold = 50.0
branch_coverage = "advisory"
function_coverage = "advisory"

[[products.oliphaunt-wasix-ts.waivers]]
path = "src/bindings/wasix-ts/src/client.ts"
reason = "browser entrypoint lifecycle requires the packaged WASIX runtime and browser host"
evidence = "browser direct and Worker smoke lanes"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

[[products.oliphaunt-wasix-ts.waivers]]
path = "src/bindings/wasix-ts/src/node-client.ts"
reason = "Node entrypoint lifecycle requires packaged WASIX assets and a worker_threads or direct host"
evidence = "Node, Bun, and Deno package smoke lanes"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

[[products.oliphaunt-wasix-ts.waivers]]
path = "src/bindings/wasix-ts/src/node-direct.ts"
reason = "direct Node startup requires the patched Wasmer host and packaged runtime carrier"
evidence = "Node direct package smoke lanes"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

[[products.oliphaunt-wasix-ts.waivers]]
path = "src/bindings/wasix-ts/src/node-host.ts"
reason = "Node host adapter delegates to the patched Wasmer package loaded by the release artifact"
evidence = "Node package build and direct smoke lanes"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

[[products.oliphaunt-wasix-ts.waivers]]
path = "src/bindings/wasix-ts/src/node-worker.ts"
reason = "Node Worker entrypoint lifecycle requires the packaged WASIX runtime and worker_threads host"
evidence = "Node Worker package smoke lanes"
owner = "@oliphaunt/core"
expires = "before-0.2.0"

[[products.oliphaunt-wasix-ts.waivers]]
path = "src/bindings/wasix-ts/src/worker.ts"
reason = "browser Worker entrypoint lifecycle requires a real WASIX runtime and browser worker host"
evidence = "browser Worker smoke and package lanes"
owner = "@oliphaunt/core"
expires = "before-0.2.0"
Loading
Loading