Skip to main content

Carrier-agnostic artifact governance and controlled-execution services that consume SCLite contract lifecycle artifacts.

Project description

GovEngine

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

GovEngine is a carrier-agnostic governed-execution core for portable artifact governance and policy-gated controlled execution.

It consumes SCLite as its contract lifecycle layer and provides reusable services around artifact state/transition boundaries, action validation, policy decisions, execution-contract shaping, signal/analysis/evidence policy contracts, 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;
  • signal, analysis, and evidence-confirmation policy contracts;
  • artifact descriptor/state/transition boundary helpers;
  • SCLite lifecycle status bridge and lightweight lifecycle transition gate/controller;
  • artifact deconfliction/change-order helpers and lightweight state-index summaries;
  • signature/trust policy bridge helpers with host-provided verifier ports;
  • approved-spec and execution-ticket validation helpers;
  • controlled execution gate helpers with dry-run as the default runner path;
  • 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. The 0.1.3 line adds initial artifact-governance control gates while keeping live execution disabled by default. Ravenclaw has a host adapter for these gates, and still retains concrete runtime execution ownership.

Installation

Install the current public package from 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. GovEngine must never execute directly from raw intent: execution requires a prepared execution contract, valid policy decision, approved execution ticket, valid signature/trust decision, and allowed runner profile.

DryRunRunner/dry-run behavior remains the default. Live execution backends are disabled by default; any future LocalSubprocessRunner must be optional, policy-enabled, negative-tested, and never the default. Controlled execution depends on lifecycle gates and signing/trust gates, 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.3.tar.gz (67.0 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.3-py3-none-any.whl (69.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: govengine-0.1.3.tar.gz
  • Upload date:
  • Size: 67.0 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.3.tar.gz
Algorithm Hash digest
SHA256 496cac16613855029ab6038cd76b314e507e1bd4f7fbc8e0ec36d9daf8d6da1c
MD5 fb3c2a86114132c804a710466fd94a42
BLAKE2b-256 4a8c797ae9a8d827a7f3b236ed105e4aceabfd935bf4909d7a6d1ab3652730ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: govengine-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 69.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b5e333e97dcd163e1b1ccedd80f83a9d9aaf128580a2e28ab4177d50485a80c1
MD5 55d07c121e24f19729636d563a6addb1
BLAKE2b-256 6437b3d580bbf9d5d2b495dc537dee31bf2ec34acbe160bc87c867a1628cbaa0

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