Metadata-Version: 2.4
Name: sluse
Version: 0.0.1
Summary: Sluse - a fail-closed execution gate for AI agents. Both doors are never open at once. Pre-release: implementation in progress.
Author: Edward Levin (VM4AI)
License-Expression: Apache-2.0
Project-URL: Homepage, https://vm4ai.com
Keywords: ai-agents,governance,guardrails,fail-closed,security
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Topic :: Security
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Sluse

**A fail-closed execution gate for AI agents.** *Both doors are never open at once.*

Named after the Danish word for a canal lock chamber: passage happens only through
a sealed, controlled, stepwise transition - and the default state is closed.

## Status: pre-release (v0.0.1)

This is an intentional, minimal pre-release that pins the package name and ships
the stable CLI exit-code contract. The gate core is under active development.

What Sluse will do:

- intercept agent tool calls (shell, file edits, SQL, HTTP) **before execution**
- decide on the literal payload, never on the agent's self-description
- enforce per-session resource ceilings (calls, wall time, bytes, estimated spend)
- require scoped, single-use operator approvals for destructive actions
- fail closed: gate unreachable means nothing executes
- keep an append-only audit ledger of every decision

What this stub does today: `sluse check` returns DENY (exit 4) with the reason
"gate core not installed - failing closed." Even the placeholder honors the promise.

## Exit-code contract (stable from v0.0.1)

| code | meaning |
|------|---------|
| 0 | ALLOW |
| 3 | REQUIRE_APPROVAL |
| 4 | DENY |
| 5 | HALTED |
| 1/2 | transport / validation error |

## Project

Part of the VM4AI product line. Homepage: https://vm4ai.com

License: Apache-2.0
