Repository navigation
chore(modules): release and re-pin tinybox 0.2.0 (contract 2.0) - #8320
Conversation
The vendored TinyBox (b0b5969ab6, tinybox#112) declares bus contract 2.0, but the registry still pinned v0.1.40, which reports 1.22. A host built from main refused the released module (`module incompatible contract`) and every shell call failed with `command analysis is unavailable`. TinyBox v0.2.0 is tagged at the vendored commit, so the gitlink does not move. The record's version, release URL and every asset digest come from the release's checksum.toml (release-and-repin.mjs --version 0.2.0), and the registry test now pins the same manifest and contract (2, 0). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tiny Sweeper reviewReviewed head: Verdict: Ready for maintainer review · Priority: none Diagnostics and supporting detailsFull summaryPull request purpose (title): chore(modules): release and re-pin tinybox 0.2.0 (contract 2.0). Tiny Sweeper completed its review; deterministic results follow. Review snapshot
Completeness: Complete What changedThe `TINYBOX` module record now declares version "0.2.0", the v0.2.0 release tag URL, and new archive names and sha256 digests for all 17 host targets. The registry manifest test is renamed to the v0.2.0 form and asserts version "0.2.0", release URL v0.2.0, `tinybox_bus::CONTRACT_VERSION == (2, 0)`, and every per-host archive/digest pair, keeping record and test in lockstep. A doc comment in the MCP stub trusted helper references tinybox v0.2.0 instead of v0.1.40. The vendored submodule gitlink is unchanged per the description. Features
TestsNo supported feature-to-test mapping was produced. Test execution is not inferred. FindingsNo active actionable findings. Before mergeNone. Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
Summary
tinyboxregistry record from v0.1.40 to v0.2.0, the first TinyBox release on bus contract 2.0. The version, the release URL and all 17 asset digests come straight from the release'schecksum.toml(release-and-repin.mjs tinybox --version 0.2.0).b0b5969ab6, the exact commit main already vendors (tinybox#112), so thevendor/tinyboxgitlink doesn't move.tinybox_registry_matches_the_published_v0140_release_manifestbecomes…_v020_…. It now asserts contract(2, 0)and the v0.2.0 manifest.tests/support/mcp_stub_trusted.rs. The behaviour it describes (anallow_netjail is refused for untrusted code) is unchanged in 0.2.0, and tinybox#109 is still open.Problem
The vendor bumps of 2026-10-22 (3908c49, 5ccef86) moved
vendor/tinyboxto a contract 2.0 commit, and 8a73b6c moved command classification into the host to match. The registry record still pinned v0.1.40, which reports contract 1.22. No published release had contract 2.0 (v0.1.42 is also 1.22).So in
releasemode, the default and the only mode CI and shipped builds use, the core refuses the downloaded module:After that, every
shelltool call fails withtool authorization preparation failed: command analysis is unavailable. This showed up in a Linux bench bundle built from main, and reproduces on macOS withsandbox::schemas::tests::handle_status_honors_loaded_docker_runtime.Solution
Published TinyBox v0.2.0 from the vendored commit (release run 39922971199: all 19 jobs green, 18 assets), then re-pinned from its published
checksum.toml. No digest was computed locally.Checks:
checksum.tomlare the same set. The downloadedtinybox-0.2.0-macos-26-arm64.tar.gzhashes to its pin (6458fb84…).node scripts/modules/pin-status.mjsreportstinybox in-sync(it wasahead,v0.1.42-66-gb0b5969).scripts/ci/check-submodule-monotonic.mjs: ok.scripts/ci/check-module-pins.mjsno longer lists tinybox. It still fails on main's existing drift in seven other modules (tinywallet, tinymcp, tinyconnectors, tinyflows, tinymemes and tinyeventqueues are ahead; tinyjuice's exemption no longer matches). That's out of scope here.cargo test -p openhuman --libon macOS arm64, release module source:sandbox::schemas: 11/11 pass. With main's 0.1.40 record,handle_status_honors_loaded_docker_runtimefails withMODULE_CALL_REPORTED: module incompatible contract.modules::registry: 18 pass, 3 fail. The 3 failures (tinychannels_registry_matches_scoped_runtime_release,tinymcp_registry_matches_the_published_v0200_release_manifest,the_flows_record_serves_the_schedule_object) also fail on main, which has 4 failures here including the TinyBox one fixed by this PR.Submission Checklist
Impact
shelltool and every TinyBox-backed sandbox call in release builds on all 17 platforms.Related
🤖 Generated with Claude Code
Summary by CodeRabbit