glovebox-monitor
A second model that reads every tool call an agent proposes, before the call runs, and answers allow / ask / deny. This is the supervision layer out of glovebox, packaged on its own so you can run it over your existing isolation instead of adopting glovebox's sandbox.
If pip install glovebox-monitor reports no matching distribution, no release has reached PyPI yet. Install from the repository instead, which tracks the main branch:
pip install "glovebox-monitor @ git+https://github.com/AlexanderMattTurner/agent-glovebox.git#subdirectory=glovebox-monitor"
What is in the box
The package is monitorlib, and it needs nothing installed. Every module is stdlib-only apart from the HTTP transport, which uses httpx from a copy shipped inside the package. That is a deliberate constraint: the monitor runs inside a guest image with no package index, so anything it imports has to be there already.
- A fail-closed design. Every layer that judges a call denies on its own failure. The fail-mode setting structurally refuses
allow, an unparsable model reply is a hard deny, and the circuit breaker denies rather than opening the gate. - Code-side legs the model cannot be argued out of: a static scan of the proposed command, and a deterministic risk taxonomy that labels the action from its content alone.
- Memory across calls. The judge sees what the agent already did this trajectory, so a chain assembled one harmless-looking step at a time is visible.
- Injection hardening. Two independent parsers must agree on the verdict, and untrusted text is stripped of invisible and ANSI bytes before the judge reads it.
Using it with Inspect
Register it as an Inspect approver. It composes with an approver you already have rather than replacing it — the approver contract covers the rules, including the edge where a policy list with no catch-all entry silently rejects every tool it forgot.
What a scaffold-level deployment does not give you
glovebox's own deployment reads the sandbox's network decision log, so it can say what a call actually reached. An approver sees only what the agent proposed. A tool that opens its own connection, and any process the agent started earlier, are outside its view. Pair it with the egress gateway when you need that ground truth.
Release files for glovebox-monitor 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| glovebox_monitor-0.2.0.tar.gz | 643.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| glovebox_monitor-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / glovebox_monitor-0.2.0.tar.gz
| Download URL | glovebox_monitor-0.2.0.tar.gz |
|---|---|
| Size | 643.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f192673bbafb19c477055704c43d7c26bdce410899049c9586f65259644e814
|
|
BLAKE2b-256 checksum How to use checksums |
0f7b97b3c0c0ff09bcb4af8b89f099c2f9eeca4ae3f835322886240e48596a8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / glovebox_monitor-0.2.0-py3-none-any.whl
| Download URL | glovebox_monitor-0.2.0-py3-none-any.whl |
|---|---|
| Size | 726.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dcd4f9ff87313218422743a5476e7d9526dff8bafbab78a494c8f534f6304156
|
|
BLAKE2b-256 checksum How to use checksums |
81515912ef4e21cece83884caee1e547efa7adc87263796615da332594b7ec38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|