Repository navigation
fix(storage): connect to a host's shared storage service by name - #12
Conversation
Tiny Sweeper reviewReviewed head: FindingsNo active actionable findings. Advisory notes
Verdict: Ready for maintainer review · Priority: none Diagnostics and supporting detailsFull summaryPull request purpose (title): fix(storage): connect to a host's shared storage service by name. Tiny Sweeper completed its review; deterministic results follow. Review snapshot
Completeness: Complete What changedThe whole-pull-request title and description state this PR carries the fix that #11 merged without: on main, `the_shared_storage_service_name_reaches_the_host_serving_it` fails because `storage::open` did not recognize the shared storage service name. Across the full diff, `crates/tinyeventqueues/src/tinybus_module/storage.rs` now branches on whether `destination.as_str()` equals `tinystoragedrivers_busproxy::HOST_NAME` (the shared service name `ai.tinyhumans.tinystorage.Storage`): when equal, it connects with `tinystoragedrivers_busproxy::connect_storage(connection)`, otherwise it still uses `connect_storage_at(connection, destination)`, with the same error mapping for both. The no-fallback behavior is preserved: an absent callback still fails setup, a shared name nobody serves fails setup, and an unadmitted unique name never falls back to global storage. `crates/tinyeventqueues/examples/verify_github_release.rs` now spins up a `PerCallerEndpoint` backed by `MemoryBackend`, serves it via `serve(&host, Arc::new(endpoint))`, and loads the release with `serde_json::json!({ "storage_callback": HOST_NAME })` instead of an empty config, so the branch runs against the released artifact. Documentation is updated in `crates/tinyeventqueues/src/tinybus_module/settings.rs`, `MODULE.md`, `crates/tinyeventqueues/src/tinybus_module/README.md`, and `docs/specs/event-pipeline.md` to describe the shared-service form of `storage_callback` alongside the unique per-instance callback name. The description states no new tests were added because the two covering tests landed in #11. Features
TestsNo supported feature-to-test mapping was produced. Test execution is not inferred. Before mergeNone. Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Comment |
Main is red: #11 merged its tests without the fix. This PR carries that fix.
#11 was meant to land two tests and then the fix, but it merged after the tests-only push, so
the_shared_storage_service_name_reaches_the_host_serving_itnow fails on main (storage_tests.rs:139, "storage callback destination must be a unique bus name").Fix
storage::opentreats exactly the shared storage service name (tinystoragedrivers_busproxy::HOST_NAME,ai.tinyhumans.tinystorage.Storage) as the shared service and connects withconnect_storage. Every other name still goes throughconnect_storage_atas-is. This follows TinyMCP'sbus_provider.There is still no fallback:
the_shared_storage_service_name_fails_setup_when_nobody_serves_it, already on main).an_unadmitted_storage_destination_does_not_fall_back_to_global_storage, unchanged).Without this, a host that serves one storage service for every module, as openhuman does, can't load the module: setup faults on the shared name.
Release verification
examples/verify_github_release.rsloaded the release with an empty config and no storage, so v0.2.0's post-publish step faulted even though the artifact is fine. It now serves memory storage under the shared service name and passes it asstorage_callback, which runs this branch against the released artifact.Docs
settings.rs,MODULE.md,tinybus_module/README.mdanddocs/specs/event-pipeline.mdnow describe the shared-service form ofstorage_callback.No new tests: the two that cover this landed in #11. On main the first fails, and with this change it should pass.
Refs tinyhumansai/openhuman#8326