Skip to content
Open
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion nexum/crates/nexum-runtime/src/bindings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
//!
//! `nexum:host` is a leaf package: the host `event` variant carries a
//! status transition as opaque bytes, so the core world resolves against
//! `wit/nexum-host` alone. An extension's bindgen remaps onto the shared
//! `wit/nexum-host` alone; the group `wit/deps.toml` and its lock stay
//! empty. An extension's bindgen remaps onto the shared
//! interfaces here with `with`, so the `Host` impls and the `fault` type
//! its components see are the very ones the core host constructs.
//! `PartialEq` is derived so extension services can compare event payloads.
Expand Down
18 changes: 17 additions & 1 deletion nexum/scripts/check-venue-agnostic.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
# charter symbol
# (nexum:intent|value-flow|VenueAdapter|synthesize_venue|nexum:adapter|PoolRouter)
# and no privileged router field; and nexum:host names no foreign WIT
# package and resolves as a leaf. The opaque-status envelope
# package, resolves as a leaf, and its wit-deps manifest and lock stay
# empty. The opaque-status envelope
# (intent-status-update, its venue id string) is ratified host surface,
# not a leak. Blocking in CI; run locally via `just check-venue-agnostic`.

Expand Down Expand Up @@ -84,4 +85,19 @@ else
printf '\033[1;33m[l1 WARN]\033[0m wasm-tools not found; WIT resolve skipped\n' >&2
fi

# 5. wit-deps manifest: crate-local resolution with an empty, locked
# dependency set; a declared dependency would unmake the leaf.
for f in wit/deps.toml wit/deps.lock; do
if [[ ! -f $f ]]; then
fail "$f missing"
continue
fi
rg -n --no-heading -e '^\s*[^#[:space:]]' "$f"
case $? in
0) fail "$f declares a WIT dependency; nexum:host is a leaf" ;;
1) pass "$f empty" ;;
*) fail "manifest scan errored for $f" ;;
esac
done

exit "$status"
Empty file added nexum/wit/deps.lock
Empty file.
1 change: 1 addition & 0 deletions nexum/wit/deps.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# nexum:host is a leaf package; this manifest stays empty.
Loading