fix!: re-sync WIT to restored [email protected]; move process host import to @1.1.0#62
Conversation
…mport to @1.1.0 The contracts submodule pinned wit@812c833, where file-injection had been added in-place to the frozen astrid:[email protected] (wit#15). wit#20 restores @1.0.0 to its published shape and re-homes injection on an additive @1.1.0. This bumps the pin to 278dbca, re-stages both process versions, and moves the process host import in the astrid-sys world from @1.0.0 to @1.1.0 (same move http made) — so the SDK keeps exposing the file-injection API (now backed by @1.1.0) while capsules built against the published pre-#15 contract keep loading on the dual-version host. A capsule rebuilt against this SDK imports astrid:process/[email protected] and so requires a host that serves it (astrid >= 0.9.1). Published capsules on the 0.7.1 SDK are unaffected — they import the restored @1.0.0. Pairs with astrid-runtime/wit#20 (merged) and astrid-runtime/astrid#1108. Claude-Session: https://claude.ai/code/session_01NvX2tE7tgXuCRevqqiXTGU
There was a problem hiding this comment.
Code Review
This pull request bumps the contracts submodule to 278dbca and transitions the process file-injection feature from the frozen astrid:[email protected] contract to a new additive astrid:[email protected] contract. This restores the 1.0.0 contract to its published state to avoid breaking existing capsules, introduces the new 1.1.0 WIT definition, and updates the SDK and system imports to use the new version. There are no review comments, so I have no additional feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
Pull request overview
Re-synces the Rust SDK’s staged WIT contracts to match the restored published shape of astrid:[email protected], and shifts the SDK’s process host import to the additive astrid:[email protected] so file-injection remains available while preserving compatibility for existing capsules.
Changes:
- Updates the changelog to reflect the
contractsbump to278dbcaand theprocesshost import move to@1.1.0. - Stages a new
astrid:[email protected]WIT package (containing file-injection) and removes the in-place injection additions from the frozen@1.0.0WIT. - Switches the synthetic
capsuleworld (and SDK wrapper binding alias) to import/bindastrid:process/[email protected].
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| CHANGELOG.md | Updates release notes to match the restored [email protected] and new [email protected] reality. |
| astrid-sys/wit-staging/deps/[email protected]/[email protected] | Adds the new additive [email protected] contract including file injection. |
| astrid-sys/wit-staging/deps/[email protected]/[email protected] | Restores [email protected] by removing the injection-related surface. |
| astrid-sys/src/lib.rs | Updates the synthetic capsule world import to astrid:process/[email protected]. |
| astrid-sdk/src/lib.rs | Switches SDK wrapper bindings to astrid_sys::astrid::process1_1_0::host. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- astrid-sdk process module doc now states the @1.1.0 host binding and the astrid >= 0.9.1 host floor (was still claiming @1.0.0). - Bump contracts to wit main (a268eb3): [email protected] error-code too-large doc now names all three caps (4 MiB spawn prelude, 1 MiB per write-stdin call, cumulative quota); restage wit-staging copy.
The
contractssubmodule pinned wit@812c833, where file-injection had been added in place to the frozenastrid:[email protected](wit#15). That structurally broke every capsule built against the published contract on the 0.9.0 host (astrid-runtime/astrid#1107). wit#20 (merged) restores@1.0.0byte-for-byte to its published shape and re-homes injection on an additive@1.1.0.This re-syncs the SDK to that:
contracts812c833 → 278dbca;build.rsre-stages both process versions intowit-staging/.processhost import in theastrid-sysworld capsulefrom@1.0.0→@1.1.0(the same movehttpalready made), so the SDK still exposes theCommand::inject_*file-injection API — now backed by@1.1.0. Alias becomesastrid::process1_1_0::host(bindgen suffixes when both versions are staged, exactly ashttp1_1_0).Host-floor note (intentional, per decision): a capsule rebuilt against this SDK imports
astrid:process/[email protected]and requires a host that serves it (astrid ≥ 0.9.1). Published capsules on the 0.7.1 SDK import the restored@1.0.0and are unaffected — the dual-version 0.9.1 host serves both.No version bump here (release is a separate PR). Pairs with astrid-runtime/wit#20 (merged) and astrid-runtime/astrid#1108.
Verification
cargo build --workspace,cargo clippy --workspace -- -D warnings,cargo test --workspace— all green.scripts/sync-contracts-wit.sh --check— in sync (process is ahost/package, so the interface bundle is unchanged).Command::inject_*surface resolves against[email protected].https://claude.ai/code/session_01NvX2tE7tgXuCRevqqiXTGU