Skip to content

Extend V10 function visibility and host invocation authority - #5892

Draft
cloutiertyler wants to merge 13 commits into
tyler/environment-variablesfrom
tyler/v10-abi-extensions
Draft

Extend V10 function visibility and host invocation authority#5892
cloutiertyler wants to merge 13 commits into
tyler/environment-variablesfrom
tyler/v10-abi-extensions

Conversation

@cloutiertyler

@cloutiertyler cloutiertyler commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Description of Changes

Adds explicit internal function visibility and host-owned invocation authority to V10 and all four module SDKs. Authority is independent of sender Identity; lifecycle functions remain restricted to host lifecycle events. Updates schema validation and client code generation.

Depends on #5887. Companion: SpacetimeDBPrivate#3941.

API and ABI breaking changes

Adds V10 variants and host imports without changing existing variant encodings. Modules using the additions require an updated host. No V11 ABI.

Rollback safety impact

Requires #5887. Older hosts cannot load modules using the new declarations or imports.

Expected complexity level and risk

4/5. Changes function authorization, scheduling, schema migration, and SDK/codegen behavior.

Testing

V10 encoding, visibility validation, Wasm/JavaScript invocation authority, lifecycle and scheduled dispatch, SDK bindings, and client code generation tests.

Keep ENV metadata at section 15 and move draft capabilities to section 16. Regenerate module-library definitions together and preserve explicit host authority through canonical procedure namespace resolution.
Keep ENV imports at Wasm10.6 and JS2.2 and move invocation authority
to Wasm10.7 and JS2.3. Preserve Environment15 and Capabilities16.

Carry the reviewed sealed Rust ENV trait, module-library fixes, and
CLI extraction/output changes. Preserve .NET10 NativeAOT linkage for
the authorization import alongside ENV.

Validated all five actual ENV cases, actual Wasm and V8 authority
checks, four module libraries, Rust compile diagnostics, and scoped lint.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant