Skip to content

Extend V10 function visibility and host invocation authority - #5892

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

Extend V10 function visibility and host invocation authority#5892
cloutiertyler wants to merge 17 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 libraries. Authority is independent of sender Identity; lifecycle functions remain restricted to host lifecycle events. Updates schema validation and client code generation.

Depends on #5887 for persistent typed environments. Companions: SpacetimeDBPrivate#3941 and website #1366.

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, client code generation, and regenerated connection-test fixtures.

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.
@cloutiertyler
cloutiertyler force-pushed the tyler/v10-abi-extensions branch from 384c9c0 to 8a1b09e Compare September 12, 2026 01:18
@cloutiertyler
cloutiertyler force-pushed the tyler/v10-abi-extensions branch from dee6d8d to f8684bb Compare September 12, 2026 02:06
@cloutiertyler
cloutiertyler force-pushed the tyler/environment-variables branch from 6972d73 to b7adb97 Compare September 12, 2026 02:06
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