Local-first runtime for logging and protecting agent actions.
Project description
Runewall
Runewall is a local-first safety/runtime layer for AI agents before they take real-world actions.
Why Runewall?
Agents are moving from answering to acting. Once agents touch files, APIs, tools, or external systems, developers need a boundary layer that can preview actions, explain policy decisions, block risky behavior, log what happened, and rollback where possible.
What is it?
Runewall is a local-first CLI and developer tool that sits between an agent and a real action. It helps you inspect what an agent is about to do before you let it touch the outside world.
Why does it matter?
When agents move beyond chat and start acting on files, services, and tools, mistakes get more expensive. A local safety/runtime layer gives you a clearer review point before that action happens.
Architecture flow
Agent -> Runewall -> policy check -> dry-run -> review/execute/block -> log/audit
How do I try it?
Start with the five-minute quickstart below, or run the 60-second local demo in demos/README.md.
What Runewall can do now
- CLI-first safety runtime
- dry-run before mutation
- local SQLite action log
policy explain,policy test, andpolicy audit- snapshots and rollback
- guarded real execution for selected services
- local MCP stdio surface
- Python SDK preview
- community map package verification
5-minute quickstart
python -m pip install -e ".[dev]"
runewall version
runewall config profile safe
runewall policy audit
runewall act github create_issue --dry-run --json --input repo=user/repo --input title="Bug"
runewall maps community package verify examples/community-maps --json
runewall mcp status --json
runewall sdk status --json
What this gives you:
- confirms the CLI is installed
- applies safe local defaults
- audits current policy settings
- previews a mapped action without mutating anything
- verifies a local community package without importing it
- shows local MCP status
- shows local SDK status
Status
Runewall is currently a local-first CLI/devtool with:
- core safety runtime
- MCP stdio surface
- Python SDK preview
- community package verification
Safe by default
- real execution is disabled by default
- dry-run does not call external APIs
- tokens only come from environment variables
- tokens are never printed, stored, or logged
- community maps are non-executable
- package verify does not import or execute maps
- no hosted backend is required
What is not included yet?
- hosted service
- dashboard
- remote registry
- real signature verification
- community map execution
Install
See docs/INSTALL.md for Windows PowerShell-first setup.
Install status
- local editable install is supported
- PyPI publishing is future work
- use docs/INSTALL.md for setup
- see docs/PACKAGING.md for local packaging notes
runewall package pypi-checkis a local readiness check onlyrunewall package dist-checkis a local artifact presence check only
Quickstart
See docs/QUICKSTART.md for a safe first walkthrough.
Demo
See demos/README.md for a 60-second local-only, token-free demo.
60-second demo
Run the local demo with:
.\demos\runewall_60_second_demo.ps1
It shows:
- version
- safe profile
- policy audit
- dry-run
- community package verify
- MCP status
- SDK status
MCP
Runewall includes a local MCP stdio surface for agent safety checks.
runewall mcp status
runewall mcp serve --once
runewall mcp serve
See docs/MCP_CLIENT_EXAMPLES.md for more MCP examples.
Python SDK preview
from runewall.sdk import policy_test, dry_run
print(policy_test("map.execute"))
print(dry_run("github", "create_issue", {"repo": "user/repo", "title": "Bug"}))
runewall sdk statusrunewall sdk status --json- SDK is local-only
executeis not exposed yetdry_rundoes not call external APIs
Community package verify
Use community package verify as the recommended local gate before community map import or review.
runewall maps community package verify examples/community-maps
runewall maps community package verify examples/community-maps --json
Verify checks manifest validation, SHA-256 checksums, signing status, trusted key status, and execution safety posture.
Verify does not import maps, execute maps, download remote files, or call external APIs.
More docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file runewall-1.0.0.tar.gz.
File metadata
- Download URL: runewall-1.0.0.tar.gz
- Upload date:
- Size: 114.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e8d7079360ec225c2cc217d399d1f07dd29cf699517cf1dea5bf2e08e21a446
|
|
| MD5 |
6711f2d99f0b35e3df9aad5c823b3236
|
|
| BLAKE2b-256 |
48ec92aa2dde35f20a713e0a8706e61e0dbfbbd2c40ce72a45bb3c599522a50d
|
File details
Details for the file runewall-1.0.0-py3-none-any.whl.
File metadata
- Download URL: runewall-1.0.0-py3-none-any.whl
- Upload date:
- Size: 55.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
927f944c293f8e1599ab73278b206389b2e51f954321fac60f01ddbb5a12e939
|
|
| MD5 |
f487e9bafd11ad1f3b5e805b02b45fdb
|
|
| BLAKE2b-256 |
811b7095cfef76485f57b0be47ed62b30b5015047f15f86d6d265c84015c4ce3
|