Skip to main content

Carrier-agnostic governed execution services extracted from Ravenclaw

Project description

GovEngine

pytest License: MIT Python 3.11+ Package: govengine 0.1.0 SCLite

GovEngine is a carrier-agnostic governed-execution core for policy-gated security automation.

It consumes SCLite as its contract lifecycle layer and provides reusable services around action validation, policy decisions, execution-contract shaping, execution-ticket checks, scope handling, command-shape normalization, and dry-run result assembly.

Project owner: Krzysztof Probola.

Why it exists

AI-assisted security workflows need a hard boundary between:

  1. what an agent or caller wants;
  2. what policy allows;
  3. what execution shape was prepared;
  4. what was approved;
  5. what was dry-run or executed;
  6. what evidence can be reviewed.

SCLite defines the auditable contract artifacts for that lifecycle. GovEngine is the reusable Python service layer that consumes those contracts and helps a host runtime enforce them without relying on prompt text alone.

Dependency direction

Ravenclaw -> GovEngine -> SCLite
  • SCLite owns schema-backed lifecycle artifacts and validation.
  • GovEngine owns reusable governed-execution helpers that consume SCLite artifacts.
  • Ravenclaw remains the reference runtime/control plane and concrete integration host.

GovEngine is not Ravenclaw, Logdash, an LLM agent loop, a scanner, or a protocol adapter.

What GovEngine includes now

  • action schema, validation, and compiler helpers;
  • capability recipe and tool-registry helpers;
  • semantic-loss classification helpers;
  • policy core and policy-gateway helpers;
  • execution-contract shaping/redaction helpers;
  • approved-spec and execution-ticket validation helpers;
  • command-shape and scope helpers;
  • dry-run result assembly helpers;
  • explicit SCLite integration seams;
  • focused standalone pytest coverage and GitHub Actions CI.

What it intentionally does not include yet

  • live subprocess execution backend;
  • raw artifact storage/writes;
  • Logdash UI/API routes;
  • OpenClaw, MCP, A2A, or other protocol adapters;
  • LLM provider integrations;
  • Ravenclaw-specific personas, workspace state, or campaign UX;
  • production-readiness claims.

Current status

GovEngine is pre-alpha extraction work. The package is importable and tested, and Ravenclaw has a migration branch that consumes it from this repository. The current public surface is intended for review and boundary hardening before any live execution backend is moved.

Installation

Once published to PyPI:

python -m pip install govengine

GovEngine depends on the PyPI distribution sclite-core while preserving the Python import package sclite.

For local development:

python -m venv .venv
. .venv/bin/activate
python -m pip install -e '.[dev]'
python -m pytest -q

Minimal smoke example

from govengine.action_compiler import compile_action_spec
from govengine.execution.runner import legacy_action_spec_dry_run_result

compiled = compile_action_spec({
    "action_type": "single_probe",
    "capability": "http_probe",
    "tool": "curl",
    "args": ["https://example.com"],
})

receipt = legacy_action_spec_dry_run_result(
    compiled_action=compiled,
    planned_commands=[["curl", "https://example.com"]],
)
assert receipt["status"] == "dry-run"

Documentation

Safety boundary

GovEngine should preserve deterministic governance over prompt-only behavior. Any future execution backend must be introduced behind explicit interfaces and tests, with Ravenclaw retaining the concrete runtime adapter until reviewed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

govengine-0.1.0.tar.gz (48.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

govengine-0.1.0-py3-none-any.whl (53.0 kB view details)

Uploaded Python 3

File details

Details for the file govengine-0.1.0.tar.gz.

File metadata

  • Download URL: govengine-0.1.0.tar.gz
  • Upload date:
  • Size: 48.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for govengine-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fdcdc7558da6f312526776685957f2ea7c3683c92412600b1c37dd046f16fea1
MD5 6049a7736f191d1607a8ea0ec0bef555
BLAKE2b-256 bd59665302683f18f0875b8bbe82ccca9a2e9d6bbee4666d9c4492e1cf0a831b

See more details on using hashes here.

File details

Details for the file govengine-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: govengine-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 53.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for govengine-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a79bfe2bbfda7791d66df110f2272b9e89e00b01bb70fa3886b7447861058ea
MD5 f8ce07873107a69433a283264853606e
BLAKE2b-256 5d2df43d928a670988804e5d41cbb93ef1d0ffa3fa4c3bfd289cb79b278b4a10

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page