- C++ 96%
- CMake 1.6%
- Shell 1.3%
- Python 1.1%
MEDIUM 1: session_runtime::start() now returns an explicit fresh-launch vs replay disposition (session_start_result), and handle_start_session sets outcome.applied only for a fresh committed launch. An authenticated idempotent start replay therefore never gains connection-scoped teardown authority: a broken pipe during a replay can no longer stop an already-running guest. The control audit event for a replayed delivery carries the replay disposition (start_session:replay:<session>). MEDIUM 2: jsonl_sink truncation now accounts for record delimiters exactly, so current_bytes_ always tracks the physical file; only newline-terminated complete records are retained (no blank or partial lines, bounded read window); the cap is a hard cap (an oversized event is dropped with a structured operator note; a pre-existing oversized journal is bounded with a bounded read at construction). MEDIUM 3: the broken-pipe degrade test now synchronizes through a mutex-protected condition-variable gate handshake that proves the dispatch is parked inside the blocked gate before the client resets, records the start only after the dispatch completes, and the mark_stopping test destroys every registry lock holder (runtime, protocol, registry) before the independent registry reopen so the nonblocking exclusive flock can actually be acquired. |
||
|---|---|---|
| .agents/skills/glove-cpp-change | ||
| .github | ||
| benchmarks | ||
| cmake | ||
| dockerfiles | ||
| docs | ||
| fuzz | ||
| include/glove | ||
| packaging | ||
| scripts | ||
| src | ||
| tests | ||
| tools | ||
| .clang-format | ||
| .clang-tidy | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| AGENTS.md | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| CREDITS.md | ||
| LICENSE | ||
| README.md | ||
| setup.sh | ||
Glove
Glove contains an LLM agent in an OS-enforced sandbox. It denies files, environment, network, and tool access unless an operator grants them explicitly.
Status: research prototype. Remote Sage launch remains disabled until its lifecycle, approval, and resource-enforcement contracts are complete.
Start here
./setup.sh
For development:
cmake --preset dev
cmake --build --preset dev
ctest --preset dev
Use docs/build.md for prerequisites, controlled/offline
builds, and Linux runtime requirements. Use
docs/host-setup.md to plan and apply owner-local managed
session setup.
Why Glove
Glove is a containment boundary, not a prompt-injection detector or a complete
host-security boundary. The motivation, trust boundaries, and residual risks
are in docs/architecture.md and
docs/threat-model.md.
Documentation
docs/build.md— build and validationdocs/host-setup.md— owner-local machine setupdocs/session-policy.md— managed-session policy contractdocs/hostile-content-analysis.md— offline hostile-content profiledocs/quickstart.md— local containment commandsdocs/future-work.md— unsupported and planned work
License
Glove is licensed under GPL-3.0-only. See CREDITS.md for dependency licenses and research references.