Skip to content

agent-shell-py 0.3.2

Choose a tag to compare

@ScottRBK ScottRBK released this 05 Sep 10:27
· 13 commits to main since this release

Adds three experimental ways to watch agent runs and an explicit PID isolation option for
restricted Linux containers.

New features

  • HerdrExecutionHost: run each command in an owned Herdr pane.
  • TmuxExecutionHost: run in a new session or a new window in an existing session, with
    explicit placement through TmuxPlacement.
  • TerminalWindowExecutionHost: mirror a headless run into a graphical terminal window.
  • LinuxPidNamespaceIsolation(mount_proc=False): retain the PID signal boundary, PID 1
    reaper, and descendant cleanup when a private /proc mount is unavailable. The selected
    mode is probed explicitly and never silently falls back.

Compatibility and limitations

  • Native execution and existing isolation defaults remain unchanged. The existing
    AGENTSHELL_ISOLATION_POLICY=linux-pid-namespace value still mounts a private /proc.
  • The three visible execution hosts are experimental, opt-in, and currently support
    NoIsolation only. Their APIs may change in a later minor release.
  • mount_proc=False inherits outer /proc visibility and does not create a private mount
    namespace. Process tools may report PIDs that differ from the child's namespace PIDs.
    This policy is not a filesystem, network, or credential sandbox.
  • No new Python runtime dependencies. Visible hosts require their external executables.
  • Added lifecycle, compatibility, public-export, and E2E tests, plus updated API documentation.
  • Stabilized the Herdr cleanup test by allowing subprocess startup time on shared CI runners;
    the simulated hung command remains bounded.

Validation

  • 979 unit and integration tests passed locally. CI and the tag build passed; the tag build
    ran 961 tests and skipped 18 namespace tests unavailable on the hosted runner.
  • Both live Codex PID isolation E2E cases passed: private and inherited /proc.
  • Downstream checks passed: 44 Pi extension tests and 128 relevant eval-harness tests.

Full changelog: v0.3.1...v0.3.2