All checks were successful
ci / gate (push) Successful in 10m55s
wallet_data::ramp::StubRamp builds a session URL on our own host from the request (direction, asset, destination, currency) and nothing else; it is what proves the plumbing before a provider is signed (#44). The ramp_session command decodes the address, builds the request, refuses a URL that is not https, and hands the URL back; the receive screen's Buy and Sell buttons pass it to the opener, whose capability allows blackbeard.observer and the explorer and nothing else. The wallet's webview never navigates: driven live, the client returned https://blackbeard.observer/ramp?direction=buy&asset=dev%2Fnative&…, Buy handed it to the opener without error, and the webview stayed on #/receive. doc/reproducibility.md records what the build pins and what a second build of the same tag is expected to differ in; the release workflow exports SOURCE_DATE_EPOCH from the tagged commit. The diffoscope comparison waits on the first tag. Closes #43 Refs #51 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014ftBXYuba8ARhQeF74oUgW