Skip to content

refactor(sandbox): delegate native shell lifecycle to TinyBox - #685

Merged
senamakel merged 4 commits into
epic/8369-security-migrationfrom
sec-377-tinybox-native-shell
Oct 26, 2026
Merged

senamakel merged 4 commits into
epic/8369-security-migrationfrom
sec-377-tinybox-native-shell

Conversation

@senamakel

Copy link
Copy Markdown
Owner

Summary

  • Delegate native shell reservation, startup, output polling, cancellation, output release, resource close, and long-run handoff to TinyBox's run_native_shell from v0.2.4.
  • Keep OpenHuman's ProcessCleanup::hold worker supervision, request policy and configuration translation, progress metering, fixture, and LiveShell handle ownership.
  • Split sandbox operations into policy and execution modules and replace host OS sandbox guessing with TinyBox's backend_name().
  • Re-pin the TinyBox module registry and gitlink to fork release v0.2.4 at 279dcef; SHA-256 values were copied verbatim from https://github.com/senamakel/tinybox/releases/tag/v0.2.4 checksum.toml.
  • Remove the unused tinybox-core dev-dependency. TinyBox lifecycle implementation and lifecycle tests are already covered upstream in [core-shrink] add TinyBox native shell client helper tinybox#61.

Verification

Passed: feature-enabled root cargo check, app cargo check, core Clippy with -D warnings, rustfmt, focused shell adapter tests (7), and shell process lifecycle tests (12). check-submodule-monotonic and TinyBox's pin-status pass for this pin.

Known environment/repository blockers: check-module-pins cannot describe the existing vendor/tinyeventqueues checkout; pnpm rust:layout reaches existing core baseline-growth failure in credentials/profiles/persistence.rs; module-disabled no-default compilation hits existing channel cfg references; the optional released-artifact jail test cannot run because this container's Linux jail cannot satisfy its isolation floor.

Part of tinyhumansai#8369.

Closes #377

senamakel and others added 4 commits October 26, 2026 07:47
Replace the local OS sandbox backend detection and shell execution
plumbing with the tinybox-jail crate, bumping the vendored tinybox
dependencies to 0.2.4. This removes duplicated platform detection logic
and routes shell execution through the shared jail implementation.

Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Moved policy resolution and execution routing out of the monolithic ops module into dedicated policy and exec submodules, leaving ops.rs as a thin re-export surface. This keeps host policy decisions separate from backend execution adapters so each can evolve independently.

Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Replace the glob re-exports in the sandbox ops module with explicit
re-exports, gating test-only helpers behind cfg(test) and internal
helpers as pub(crate). This keeps the public surface intentional and
avoids leaking implementation details. The TinyBox dependency is bumped
to v0.2.4 and the ignored native jail test now references that release.

Auto-committed-on: cuttlefish
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
@senamakel
senamakel merged commit 683ccd2 into epic/8369-security-migration Oct 26, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant