Repository navigation
Conversation
tinyhumansai#8324 moved the registry record to v0.2.1 but left the submodule on v0.2.0 and the release-manifest test asserting v0.2.0, so the module pin gate and that test were red on main. - vendor/tinybox -> fc34d28da8 (tag v0.2.1) - registry_tests: the TinyBox manifest test asserts the v0.2.1 version, URL and all 17 digests, taken from the GitHub release assets - Cargo.lock and crates/openhuman-app/Cargo.lock: tinybox path crates 0.2.0 -> 0.2.1 (the only manifest changes besides tokio features)
- registry record: version, release URL and all 17 archive digests from the v0.20.2 release (GitHub asset digests == checksum.toml) - vendor/tinymcp -> 563ede788d (tag v0.20.2); it contains fbabec36cc, the commit tinyhumansai#8309 pinned, and the host already sends the module its storage_callback (modules/ops.rs) - registry_tests: the TinyMCP manifest test was still asserting v0.20.0 and contract (1, 27); it now asserts v0.20.2, (1, 28) and the release digests - Cargo.lock and crates/openhuman-app/Cargo.lock: tinymcp and tinymcp-bus 0.20.1 -> 0.20.2 (the only manifest change in the range)
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Registry releases and asset manifests crates/openhuman-core/src/modules/registry/*, vendor/* |
Registry versions, release URLs, archive names, and checksums are updated. Several manifests add platform assets. Vendor references change. |
Release validation and published-module checks crates/openhuman-core/src/hosting/hosting_tests.rs, crates/openhuman-core/src/modules/registry*tests.rs, scripts/ci/check-gated-test-allowlist.sh, scripts/ci/module-pin-exemptions.json, scripts/__tests__/module-pins.test.mjs, tests/* |
Tests update expected versions, contracts, assets, and checksums. New manifest tests cover TinyChannels and TinyVoice. TinyFlows checks use v0.9.0. The TinyJuice exemption and TinyJuice/TinyChannels source-parity tests are removed. |
Embedded TinyWallet library pins crates/openhuman-core/src/modules/wallet.rs, crates/openhuman-core/src/modules/wallet_tests.rs |
Pinned TinyWallet archive and library checksums and related test expectations now use v0.26.0. |
Storage configuration and grants
| Layer / File(s) | Summary |
|---|---|
Storage callback and test backend setup crates/openhuman-core/src/inbound/settings.rs, crates/openhuman-core/src/inbound/settings_tests.rs, crates/openhuman-core/src/inbound/linked_fixture.rs, crates/openhuman-core/src/integrations/composio/*, crates/openhuman-core/src/storage/test_support.rs |
module_config includes storage_callback. The linked fixture serves and retains an in-memory storage service. Composio tests use a module guard that retains the installed backend and mutex guard. Test support can install a backend without a URL and restore the previous storage state. |
Storage grant collections and checks crates/openhuman-core/src/modules/storage_grant_schemas.rs, crates/openhuman-core/src/modules/storage_grant_schemas_tests.rs |
Grant generation adds distinct TinyConnectors migration-read collections. Tests check read authorization for the granted collections, remove a TinyJuice blob-read assertion, and check TinyConnectors access to its preferences and migration collections. |
Priority:
Estimated code review effort: 4 (Complex) | ~45 minutes
Change: Other
Possibly related issues
- Epic: tinystoragedrivers as a hardened static primitive (types + API + per-primitive crates, engines as features) #8131: The test setup serves an in-memory storage backend and supplies
storage_callback, covering part of the issue’s host-supplied storage test requirements.
Possibly related PRs
- tinyhumansai/openhuman#8309: Both changes provide a storage bus interface name through module configuration.
- tinyhumansai/openhuman#8362: Both changes update Composio test setup to install and retain host storage for tests.
- tinyhumansai/openhuman#8320: Both changes update the TinyBox registry pin and asset manifest; this change advances the pin to v0.2.1.
Suggested reviewers: senamakel
Merge Risk: 
Minimal · up to 1702b
-
No actionable merge-blocking risk remains in the reviewed changes.
Pre-merge checks: 
4 · 
1
-
Failed checks: 1 warning Passed checks: 4 passed -
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
A rabbit checks the release list twice,
New hashes hop into place.
Storage waits with open doors,
While tests trace every case.
Tiny modules bound ahead,
And carrots mark the pace.
Comment @coderabbitai help to get the list of available commands.
vendor/tinydocs and the root Cargo.lock are already at 0.2.5; the app lock still said 0.2.4, so cargo --locked refused it. Same line as tinyhumansai#8325, so the two merge cleanly in either order.
- registry record: version, release URL and the full v0.4.3 asset set. The release now publishes 17 archives (Arch and Fedora were added), up from 11; every digest is the GitHub asset digest, which equals the release checksum.toml - vendor/tinyhosts -> 1445a67e81 (tag v0.4.3, tinyhosts main) - hosting_tests: the pinned-artifact test asserts v0.4.3, 17 assets and the v0.4.3 ubuntu-24.04-x86_64 digest - Cargo.lock and crates/openhuman-app/Cargo.lock: tinyhosts and tinyhosts-bus 0.4.1 -> 0.4.3 (the only manifest change in the range; WIRE_CONTRACT_VERSION stays (1, 2))
- registry record: version, release URL and the full v0.5.3 asset set (17 archives, up from 11); digests are the GitHub asset digests, equal to the release checksum.toml - vendor/tinysearch -> 22c22d227f (tag v0.5.3, tinysearch main) - registry_tests and agent_harness_e2e assert v0.5.3 and the v0.5.3 ubuntu-24.04-x86_64 digest; CONTRACT_VERSION stays (2, 2) - Cargo.lock and crates/openhuman-app/Cargo.lock: tinysearch and tinysearch-bus 0.5.1 -> 0.5.3 (workspace version is the only manifest change in the range)
- registry record: version, release URL and the full v0.1.40 asset set (17 archives, up from 11); digests are the GitHub asset digests, equal to the release checksum.toml - vendor/tinychannels -> b2fac436da (tag v0.1.40, tinychannels main) - registry_tests: the TinyChannels test still asserted v0.1.38, contract 21 and operation version (1, 21); it now asserts v0.1.40, the bus crate's 22 and (1, 23) (unchanged since the previous gitlink) and all 17 release digests - json_rpc_auth_security_e2e: pinned and listed version 0.1.40 - Cargo.lock and crates/openhuman-app/Cargo.lock: the tinychannels path crates 0.1.39 -> 0.1.40 (version is the only manifest change) The Channel trait (tinychannels-bus/src/traits.rs) is identical at v0.1.40, so the #[expect] reasons that cite v0.1.39 still hold.
- registry record: version, release URL and all 17 v0.11.3 digests (the GitHub asset digests, equal to the release checksum.toml) - vendor/tinyjuice -> d454ca139e (tag v0.11.3). The gitlink sat at v0.11.0, BEHIND the v0.11.2 record. That made the host's blob grant `tinyjuice_ccr/` while the loaded module writes `juice/ccr/`, so durable CCR writes were refused. The grant comes from tinyjuice_bus::storage::CCR_PREFIX, which is now `juice/ccr`. - storage_grant_schemas_tests: the TinyJuice grant test asserted `tinyjuice_ccr/abc` both allowed and refused; it now asserts `juice/ccr/abc` allowed and the legacy prefix refused - module-pin-exemptions.json: drop the TinyJuice entry. It pinned a v0.10.8-13 describe that has not been true since the v0.11 pins, and the record and gitlink now agree. - Cargo.lock: tinyjuice-module 0.11.0 -> 0.11.3 (the only crate whose version moved)
- registry record: version, release URL and all 17 v0.26.0 digests (the GitHub asset digests, equal to the release checksum.toml) - wallet.rs PINNED_WALLET_LIBRARIES: all 17 (archive, library) pairs for v0.26.0. The library digests were computed by unpacking each release archive and hashing the module library, then cross-checked against the archive's own modules.toml. The same method reproduced main's v0.24.1 archlinux-arm64 pair exactly. - wallet_tests: the "current attested library" is the v0.26.0 ubuntu-24.04-x86_64 library, and the v0.24.1 one joins the retired libraries that must be refused - registry_tests: the TinyWallet manifest test asserts v0.26.0 and its 17 digests; CONTRACT_VERSION stays (1, 14) - vendor/tinywallet -> 921987c85f (tag v0.26.0, tinywallet main). The tinywallet-x402 API removals in this range don't reach openhuman, which doesn't use that crate, and tinywallet-bus/src is unchanged. - Cargo.lock and crates/openhuman-app/Cargo.lock: the tinywallet path crates 0.24.1 -> 0.26.0 (versions are the only manifest change)
- registry record: version, release URL and all 17 v0.22.0 digests (the GitHub asset digests, equal to the release checksum.toml) - vendor/tinyconnectors -> ccdfba2fc1 (tag v0.22.0, tinyconnectors main); CONTRACT_VERSION stays (1, 22) - Cargo.lock and crates/openhuman-app/Cargo.lock: tinyconnectors, tinyconnectors-bus and tinyconnectors-sync 0.21.0 -> 0.22.0 (workspace version is the only manifest change)
- registry record: version, release URL and the full v0.4.0 asset set (17 archives, up from 11); digests are the GitHub asset digests, equal to the release checksum.toml - vendor/tinyvoice -> 96eaa4dcb5 (tag v0.4.0, tinyvoice main) - registry_tests: the voice release test asserts v0.4.0, contract (1, 12) and all 17 release digests. tinyvoice-bus 0.2.0 only adds the codec types and the CodecProbe, CodecTranscode and CodecWaveform method names; nothing openhuman uses changed.
The lock entries for the TinyVoice v0.4.0 re-pin. tinyvoice-module 0.4.0 and tinyvoice-bus 0.2.0 replace 0.3.4 and 0.1.4. The statically linked `tinyvoice` crate now depends on opus-pure, oxideav-aac, rvoip-codec-core, symphonia, mp4, bytes and serde. That adds 16 crates.io packages (symphonia and its 8 sub-crates, oxideav-core, extended, regex-lite) and a `serde` edge on num-rational, which mp4 requires. Resolved with cargo metadata on a scratch copy. The online re-resolve also re-pointed Windows-only windows-sys/windows-core edges in 18 unrelated packages, with no version added or removed. Those edges are kept as they were on main, so every changed line here comes from TinyVoice.
… exist "TinyChannels' merged owner commit matches its exact test-set attestation" and "TinyJuice's canonical owner merge matches its recorded release-tree attestation" each read their module's entry from scripts/ci/module-pin-exemptions.json and check its source-parity proof. The TinyChannels entry was deleted in ca56294 and the TinyJuice entry in this PR, now that both modules' records and gitlinks agree. The tests had nothing left to attest, so they only failed with a TypeError on the missing entry. The shared source-parity helpers are unchanged and still covered by the fixture-based tests in this file.
…e-repin-2026-10-23
…their own file The re-pins grew registry_tests.rs past the 750-line layout limit (783). The two 17-asset release-manifest tests move unchanged into registry_release_manifest_tests.rs, wired the same way as registry_computer_release_tests.rs.
- registry record: version, release URL and all 17 v0.15.1 digests (the GitHub asset digests, equal to the release checksum.toml) - vendor/tinycomputer -> e48f38f907 (tag v0.15.1, tinycomputer main) - registry_computer_release_tests asserts v0.15.1, contract (2, 28) and the 17 release digests. tinycomputer-bus only adds API between the pins (the old CONTRACT_VERSION constant is the one removed `pub` line), and the host checks the module with is_compatible against the same bus. The statically linked tinycomputer crate gains dependencies (the browser crate, url, base64, a git-named tinyinference that the root patch redirects), so its lock entries follow in their own commit.
- registry record: version, release URL and all 11 v0.9.0 digests (the GitHub asset digests, equal to the release checksum.toml) - vendor/tinyflows -> 26df306117 (tag v0.9.0, tinyflows main) - registry_contract_tests: the flows manifest test asserts v0.9.0 and its digests. The schedule contract assert becomes 8: the bus has said 8 since the previous gitlink (it adds optional channel-session identity), the host builds against that bus, and the test was red on main. - json_rpc_flows_e2e: the listed module version is 0.9.0 - Cargo.lock: tinyflows 0.8.29 -> 0.9.0 (the only manifest change)
tests/support/published_tinyflows.rs admits a staged TinyFlows library only if its sha256 is one of the published bundles' module libraries. These are the 11 v0.9.0 library digests, computed by unpacking each release archive and cross-checked against the archive's modules.toml. The same method reproduced a v0.8.29 entry. The helper names and prose move from v0.8.29 to v0.9.0 with them.
…age bus - registry record: version, release URL and the full v0.2.1 asset set: 16 archives (Arch is published for x86_64 only, as `archlinux-rolling-x86_64`), up from 11. Every digest is the GitHub asset digest, equal to the release checksum.toml. - vendor/tinyeventqueues -> a8d1e306a5 (tag v0.2.1, tinyeventqueues main); CONTRACT_VERSION stays (0, 2) - inbound/settings.rs: module_config now carries `storage_callback`, the storage host's bus name, plus its settings_tests assertion. This is W2's change from tinyhumansai#8326 (7ad45b7). It has to ship in the same change as the record: v0.1.3 refuses unknown config keys, and v0.2.1 refuses to load without this one. The host still derives the scope and grant from the authenticated caller. - Cargo.lock and crates/openhuman-app/Cargo.lock: tinyeventqueues and tinyeventqueues-bus 0.1.3 -> 0.2.1 (workspace version is the only manifest change)
The lock entries for the TinyComputer v0.15.1 re-pin:
- the tinycomputer crates 0.15.0 -> 0.15.1; agent-desktop-{core,linux,
macos,windows} 0.9.4 -> 0.10.1; new uiautomation 0.25.1 and
uiautomation_derive 0.7.9 (Windows accessibility, from agent-desktop)
- tinycomputer-engine now names tinyinference by git rev, and the root
[patch] redirects that to the shared vendored copy. The second
tinyinference-{core,decisions,llm} 0.3.0 and tinytools{,-agent} 0.5.0,
which only tinycomputer-engine 0.15.0 used, are gone, so every
`tinytools 0.6.0` / `tinyinference-* 0.5.0` edge drops its
now-unneeded version qualifier.
- agent-browser (via tinycomputer-browser) resolves zip 9.0.5 instead of
8.6.0 and gains a webpki-roots 1.0 edge, and tokio-tungstenite drops its
webpki-roots 0.26 edge
- app lock: tinycomputer-bus 0.15.1 with its base64 edge, plus nix 0.29's
memoffset edge, which main's app lock already lacks
Resolved with cargo metadata on a scratch copy. The resolve also
re-pointed Windows-only windows-sys edges in 16 unrelated packages, with
no version change. Those are kept as on main, so every changed line comes
from TinyComputer (or the nix edge main is missing).
the_flows_record_pins_every_host_of_one_release compares record.assets with its expected list position by position. The v0.9.0 re-pin rebuilt the record in a canonical host order and broke that comparison. The assets are back in the order main used (and the test expects). Only lines moved; no digest changed.
Tiny Sweeper review
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1048107e43
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
…_callback assert registry_release_manifest_tests.rs carries a voice-gated test, so it joins EXPECTED in check-gated-test-allowlist.sh. The gate-contract filters already select it through modules::registry:: (it mounts at modules::registry::tests::release_manifest_tests). The settings_tests.rs hunk is the cargo fmt --check output from cuttlefish at 1048107.
TinyEventQueues v0.2.1 keeps its queues in host storage and refuses setup without storage_callback, so every Rig-based test (inbound, Composio triggers, skill webhooks, event queues) failed to attach the module. The rig now serves the Storage service from an in-memory backend on its private bus and passes the same storage_callback as settings::module_config.
…eads TinyConnectors v0.22.0 migrates its v1 preferences on its first storage connect: it queries composio-user-scopes, which its storage needs list but its provisioned collections do not. The host granted only the provisioned two, so on any host with storage (the desktop default) the migration was refused as target-not-granted and every preference call failed. The grant now adds the collections TinyConnectors' storage needs name. The composio tests that take the module now get a SQLite backend of their own from module_guard, restored on drop: v0.22.0 no longer falls back to in-memory preferences, and a module call carries no workspace for the host to fall back to.
…r names The grant-size check compared against the provisioned collections only, so it would also have passed a grant missing a collection the module's migration reads. It now requires each row's grant to be exactly the owner's provisioned collections plus the ones its storage needs read, and each to be reachable.
The default feature build has no sqlite driver, so module_guard's tempdir SQLite failed every test that takes the module. The guard now installs the testkit memory backend through test_support::install_backend_for_test, which restores the previous slot on drop like install_for_test. The connector module's migration only needs per-write preconditions, which memory has.
…ns tests Both list connections through the module, which now needs host storage for its preference reads; they held only the cache lock, so they saw no storage and an empty list. They take module_guard first, in the crate's lock order (module_guard, then the cache lock).
Cargo.lock takes this branch's side, regenerated on top: openhuman-cli gains tinystoragedrivers-testkit and openhuman-tinyhumans gains tinyagents-session, the dev-dependencies main added.
module_guard installs a memory storage backend for the connector module, and with a backend installed user secrets move from the process keyring into storage secrets. The session sign-out tests store an API key and read it back across the user-dir rebind, which is the keyring path, so they take the lock alone, as they did before the guard installed storage.
Summary
Moves the loadable modules to their 2026-10-23 patch releases, all cut from each module's
main. For each module it moves the registry record, thevendor/gitlink, the tests that hard-code its release, and the two lockfiles. There is one commit per module, added as each release lands.12 of the 14 modules move. TinyMemes and TinyDocs were dropped from this round (see the table).
storage_callbackkey from #8326 in the same commitSource-built vendor pins (tinyagents, tinystoragedrivers, tinybus, tinymemory, tinyskills, the SDK and tiny-artifacts) are in a separate PR.
Why
On main, 7 of the 14 module records don't match their submodule (
check-module-pins): the gitlink has moved past the released tag, or for tinyjuice sits behind it. In that state dev builds and release builds load different code. Several registry tests also assert releases older than the registry, so they're red on main (tinymcp v0.20.0, tinychannels v0.1.38, tinydocs v0.2.4).How each module is moved
checksum.toml.git describeequals the record version.vendor/.Commits so far
TinyBox: fix(modules): re-pin TinyBox to v0.2.1 #8324 moved only the record. This commit moves
vendor/tinyboxto v0.2.1 (fc34d28da8), updates the v0.2.0 manifest test to v0.2.1, and bumps the tinybox path crates from 0.2.0 to 0.2.1 in both locks.TinyMCP v0.20.2:
storage_callback.TinySearch v0.5.3: record (17 assets) and gitlink 22c22d227f; registry_tests and agent_harness_e2e assert v0.5.3; locks 0.5.1 → 0.5.3.
TinyChannels v0.1.40: record (17 assets) and gitlink b2fac436da. The registry test was stale at v0.1.38 / contract 21 / (1, 21) and now asserts v0.1.40 / 22 / (1, 23), the bus values unchanged since the previous gitlink. json_rpc_auth_security_e2e asserts 0.1.40, and the locks move four crates 0.1.39 → 0.1.40. The
Channeltrait is identical, so the#[expect]reasons citing v0.1.39 still hold.TinyJuice v0.11.3: record and gitlink d454ca139e. This fixes the CCR grant: the host's blob grant comes from
tinyjuice_bus::storage::CCR_PREFIX, which wastinyjuice_ccrat the old gitlink and isjuice/ccrnow, matching what the module writes. The contradictory grant test now assertsjuice/ccr/allowed and the legacy prefix refused. The stale exemption is gone. Lock: tinyjuice-module 0.11.3.TinyWallet v0.26.0:
PINNED_WALLET_LIBRARIESholds all 17 (archive, library) pairs. Library digests were computed by unpacking each release archive, then cross-checked against the archive'smodules.toml; the same method reproduced main's v0.24.1 pair.wallet_tests: the current library is now the v0.26.0 one, and the v0.24.1 library is added to the retired-and-refused list.TinyConnectors v0.22.0: version-only; record, gitlink ccdfba2fc1, locks.
TinyVoice v0.4.0: record (17 assets) and gitlink 96eaa4dcb5. The voice test asserts v0.4.0 / (1, 12); the bus change is additive (codec types and methods). The statically linked
tinyvoicecrate adds opus-pure, symphonia, mp4 and oxideav-aac, plus aserdeedge on num-rational, in a separate lock commit.TinyComputer v0.15.1: record and gitlink e48f38f907; the test asserts (2, 28), and the bus is additive. Lock commit:
TinyFlows v0.9.0: record and gitlink 26df306117. The schedule-contract assert moves 7 → 8, the bus value since the previous gitlink, so the test that was red on main passes.
tests/support/published_tinyflows.rsnow admits the 11 v0.9.0 module libraries; their digests were computed from the unpacked archives and cross-checked against each archive's modules.toml.TinyEventQueues v0.2.1: record (16 assets; Arch is x86_64-only,
archlinux-rolling-x86_64) and gitlink a8d1e306a5. The same commit carries fix(inbound): tell tinyeventqueues which bus name serves its storage #8326'sstorage_callbackkey ininbound/settings.rs: v0.1.3 refuses the key and v0.2.1 requires it.Lock policy: both locks pass
cargo metadata --locked(checked on a remote host). Each regenerated lock was composed so that every changed line comes from a module bump. The resolver's Windows-onlywindows-sysedge re-points in unrelated packages (no version changes) are kept as on main. The app lock also gains nix 0.29'smemoffsetedge, which main's app lock is missing; that is main's own--lockedfailure.Also: main merged in (signed merge, no rebase). The TinyChannels and TinyVoice manifest tests moved to
registry_release_manifest_tests.rsto keepregistry_tests.rsunder the 750-line limit. The two module-pins script tests that attested the deleted TinyChannels and TinyJuice exemptions were removed with the user's approval.TinyConnectors v0.22.0: storage grant fix and test storage
Production fix (
modules/storage_grant_schemas.rs). On its first storage connect, TinyConnectors v0.22.0 migrates its v1 scope preferences: it queriescomposio-user-scopes(state/migration.rs:94). The host built the module's grant fromtinyconnectors_bus::storage::collections()alone (connectors.user_scopes,connectors.migrations). The legacy name is listed only instorage_needs().collections, so the storage host refused the query astarget-not-granted. On any host with storage installed, the desktop default among them, every Composio preference call (execute, list tools, the scope gate) would have failed.grant_fornow also grants the collections each owner's storage needs read (read_collections, besidestream_prefixes). At these pins onlytinyconnectors-buspublishesstorage_needs(). TinyChannels v0.1.41 lists its legacy migration sources insidecollections(), so it is already covered.v0.21.0 hid this: it kept preferences in memory whenever host storage failed. v0.22.0 refuses instead.
Tests.
every_row_has_a_valid_generated_grantnow requires each grant to equal the owner's provisioned plus read collections, and a DocumentsGeton each to be allowed. The old length check would have passed a grant missing a read collection.connectors_may_read_the_v1_preferences_its_migration_movesnames the three bus constants.grant_forloop removed, both fail ("composio-user-scopes is not granted").module_guard()installs a testkit memory backend for the test's lifetime (test_support::install_backend_for_test, which restores the slot on drop). A module call carries no workspace for the storage host's fallback (storage_host.rs:606-612), and the default feature build has no SQLite driver.fetch_connected_integrationstests now takemodule_guardbefore the cache lock.module_lock_guard(), whatmodule_guard()was on main). They exercise the process keyring path, and with a backend installed, user secrets move into storage secrets. With a backend installed, main also loses the API key across a session sign-out. That is a separate, pre-existing bug, tracked outside this PR, and this PR does not change that path.cargo test, where all tests share one process, 9 composio store and session tests fail. They pass process-per-test under nextest, which is how CI runs them. While one test holdsmodule_guard(), its memory backend is the process's installed backend, andstorage::local::backend_forand the secret store prefer an installed backend. So a parallel test that expects its workspace default reads the shared memory backend. The guard restores the slot on drop, so nothing outlives it. The established remedy is for a test that relies on the workspace default to holdtest_support::lock_storage_slot(), asthreads/ops/crud_message_append_tests.rsdoes. The complete fix is module storage that isn't process-wide in tests. Both are left out of this PR.Nextest on the composio and storage filters (default features) fixes all 12 composio failures from 091c601, with none new against main.
Also fixed:
tests/inbound_linked_e2e.rs(--features linked-modules,inbound-queues) passes on main + #8361 + this PR and fails without it. The likely cause, not separately verified here: TinyConnectors v0.21.0, TinyWallet v0.24.1 and TinyEventQueues v0.1.3, as pinned on main, were built against the TSD busproxy wire from before tinystoragedrivers 751e655. The releases pinned here use the current wire.Checks
Checked on a remote host at each head SHA. At 1048107:
cargo metadata --locked: PASS for both locks (checked at fcc7d77; locks unchanged since).modules::registry: 24/24. storage_grant_schemas, wallet, hosting, inbound::settings, computer and browser: all pass.Summary by CodeRabbit