Skip to content

chore(modules): release and re-pin tinybox 0.2.0 (contract 2.0) - #8320

Merged
sanil-23 merged 1 commit into
tinyhumansai:mainfrom
sanil-23:fix/tinybox-contract-repin
Oct 23, 2026
Merged

sanil-23 merged 1 commit into
tinyhumansai:mainfrom
sanil-23:fix/tinybox-contract-repin

Conversation

@sanil-23

@sanil-23 sanil-23 commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Re-pins the tinybox registry 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's checksum.toml (release-and-repin.mjs tinybox --version 0.2.0).
  • v0.2.0 is tagged at b0b5969ab6, the exact commit main already vendors (tinybox#112), so the vendor/tinybox gitlink doesn't move.
  • tinybox_registry_matches_the_published_v0140_release_manifest becomes …_v020_…. It now asserts contract (2, 0) and the v0.2.0 manifest.
  • One-word version update in tests/support/mcp_stub_trusted.rs. The behaviour it describes (an allow_net jail 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/tinybox to 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 release mode, the default and the only mode CI and shipped builds use, the core refuses the downloaded module:

[modules] id=tinybox requested=release served=Release
modules.contract failed
[hooks] TinyBox shell selection failed: MODULE_CALL_REPORTED: module incompatible contract

After that, every shell tool call fails with tool authorization preparation failed: command analysis is unavailable. This showed up in a Linux bench bundle built from main, and reproduces on macOS with sandbox::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:

  • The 17 digests in the record, the 17 in the registry test and the release's checksum.toml are the same set. The downloaded tinybox-0.2.0-macos-26-arm64.tar.gz hashes to its pin (6458fb84…).
  • node scripts/modules/pin-status.mjs reports tinybox in-sync (it was ahead, v0.1.42-66-gb0b5969).
  • scripts/ci/check-submodule-monotonic.mjs: ok.
  • scripts/ci/check-module-pins.mjs no 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 --lib on macOS arm64, release module source:
    • sandbox::schemas: 11/11 pass. With main's 0.1.40 record, handle_status_honors_loaded_docker_runtime fails with MODULE_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

  • Tests added or updated: the TinyBox registry manifest test is updated to the new release; the sandbox status test is the regression proof (fails before, passes after).
  • Diff coverage ≥ 80%: N/A, the change is a constant record plus its test.
  • Coverage matrix updated: N/A, behaviour-only change.
  • Affected feature IDs listed: N/A.
  • No new external network dependencies introduced (the same release download path, new pin).
  • Manual smoke checklist updated: N/A.
  • Linked issue closed: N/A, no tracking issue.

Impact

Related

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Updates
    • Updated the available TinyBox release to version 0.2.0. Downloads for supported platforms now point to the corresponding release archives, with refreshed integrity checks. Release information and compatibility details have also been updated to match this version. The supported platform list and archive formats remain unchanged.

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>
@tinysweeper

tinysweeper Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Tiny Sweeper review

Reviewed head: b4dc7a5bcfacba0b195852bc236aa1133f8784da

Verdict: Ready for maintainer review · Priority: none
Coverage: Reviewed 3 of 3 files.
Pull request purpose (title): chore(modules): rele…

Diagnostics and supporting details

Full summary

Pull 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

Change surface Files Review signal Count
Production 1 Active findings 0
Tests 2 Noted findings 0
Documentation 0 Resolved findings 0
Configuration 0 Pending checks/questions 0

Completeness: Complete
Test assessment: No supported feature-to-test mapping was available; this does not mean tests are absent or passed.

What changed

The `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

  • Modified — TinyBox registry record re-pinned to v0.2.0 (bus contract 2.0): Release-mode core now accepts the downloaded TinyBox module instead of failing `modules.contract` / `MODULE_CALL_REPORTED: module incompatible contract`; this restores `shell` command analysis and TinyBox-backed sandbox calls on all 17 published host targets. No digest was computed locally per the description; digests come from the release's `checksum.toml`. (crates/openhuman-core/src/modules/registry/records_extra.rs pub(crate) const TINYBOX: ModuleRecord = ModuleRecord {, crates/openhuman-core/src/modules/registry/records_extra.rs, crates/openhuman-core/src/modules/registry_tests.rs)
  • Modified — TinyBox registry manifest test rewritten for the v0.2.0 manifest: The pin is enforced rather than merely documented: the test asserts the record's version, release URL, contract version (2, 0) and each of the 17 per-host digests against a published list, so a future drift between record and manifest fails the suite. (crates/openhuman-core/src/modules/registry_tests.rs fn tinybox_registry_matches_the_published_v0140_release_manifest() {, crates/openhuman-core/src/modules/registry_tests.rs)
  • Modified — Doc comment version reference updated in MCP stub trusted helper: Documentation only in test support code; the described behaviour (an `allow_net` jail being refused for untrusted code) is unchanged in 0.2.0 per the description, so there is no behavioural effect. (tests/support/mcp_stub_trusted.rs)

Tests

No supported feature-to-test mapping was produced. Test execution is not inferred.

Findings

No active actionable findings.

Before merge

None.

Agent review details

critique

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: Reviewed 3 files; 0 findings. _The code index is behind this pull request (indexed at `715f4c9a3bd2`), so retrieved context may be out of date._

security

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: Reviewed 3 files; 0 findings. _The code index is behind this pull request (indexed at `715f4c9a3bd2`), so retrieved context may be out of date._

tests

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Positive: Tests lane flagged an unconfirmed item rather than a finding: digests could not be checked against published v0.2.0 checksums because vendor/tinybox is not checked out; the author's description states the 17 digests in record, test and the release `checksum.toml` match and that a downloaded macos-26-arm64 archive hashed to its pin.
  • Positive: Tests lane judged the mock-helper comment change to be naming-only with no behavioural component.
  • Lane summary: The change repins TinyBox from 0.1.40 to 0.2.0 with matching archive digests, and updates the registry manifest test in lockstep, so the pin is actually enforced (assert_eq on version, release URL, contract version and every per-host digest). The one naming-only reference in the mock helper comment has no behavioural component. I could not verify the digests against the published v0.2.0 checksums because vendor/tinybox is not checked out here, so that part is unconfirmed by this review. _The code index is behind this pull request (indexed at `715f4c9a3bd2`), so retrieved context may be out of date._

commits

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Positive: Commits lane answered and stated no sensitive content in the committed files.
  • Lane summary: No sensitive content in committed files. _The code index is behind this pull request (indexed at `715f4c9a3bd2`), so retrieved context may be out of date._

description

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The PR re-pins the tinybox registry record and its manifest test from v0.1.40 to v0.2.0 (contract 2.0), updating all 17 asset digests, plus a version word in a doc comment; the description matches the diff accurately, and the consistency between record and test is preserved. No defects found. _The code index is behind this pull request (indexed at `715f4c9a3bd2`), so retrieved context may be out of date._
Evidence and run details
  • Models: ladder/vectors-oai3, deepseek-v4.1-flash
  • Spend: $0.001046
  • Tokens: 342027 input · 5238 output · 33792 cached · 1429 embedding
  • Updated: 2026-10-23T09:13:22Z
Head State Pass summary
b4dc7a5bcfac ready for maintainer review 0 active finding(s), 0 resolved finding(s) (at 2026-10-23T09:13:22Z)

tinysweeper 0.1.2

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T09:16:08.892386Z b4dc7a5 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e67d2323-859b-49bd-96ca-1b681dc1827e
📥 Commits

Reviewing files that changed from the base of the PR and between 07ad7cc and b4dc7a5.

📒 Files selected for processing: 3
  • crates/openhuman-core/src/modules/registry/records_extra.rs
  • crates/openhuman-core/src/modules/registry_tests.rs
  • tests/support/mcp_stub_trusted.rs

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

📝 Walkthrough

The TinyBox registry record now points to version 0.2.0, including updated asset filenames and SHA-256 checksums. Registry tests and support documentation also reference version 0.2.0.

Changes: TinyBox release update

Layer / File(s) Summary
Registry release and validation
crates/openhuman-core/src/modules/registry/records_extra.rs, crates/openhuman-core/src/modules/registry_tests.rs, tests/support/mcp_stub_trusted.rs
The registry record uses TinyBox 0.2.0 and updated checksums for its existing platform assets. Tests expect release 0.2.0, bus contract (2, 0), and the updated asset manifest. Support documentation identifies v0.2.0.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Possibly related PRs

Suggested labels: priority: p3

Suggested reviewers: senamakel

Merge Risk: ⚪ Minimal · up to b4dc7

No actionable issue is established for this update; it is mergeable after normal checks.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely identifies the main change: updating and re-pinning TinyBox to version 0.2.0 with contract 2.0.
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 3 files.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches: 💡 1
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

A rabbit checks each checksum bright,
And counts the platforms, left to right.
The TinyBox tag now reads “two point oh,”
The tests confirm the files that go.
A neat new release hops into view.

Comment @coderabbitai help to get the list of available commands.

@tinysweeper tinysweeper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tinysweeper found nothing blocking. Approving.

Diagnostics

Total spend: $0.0010

@tinysweeper tinysweeper Bot added the priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect. label Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant