Skip to main content

govrail

English | 中文

CI PyPI Python GitHub Repo stars

A language-agnostic governance plane for agent-driven development: coding agents work fast in parallel while machines — not vigilance — hold the quality line. The only runtime dependency is Python 3.

The plane ships two mechanisms: gates (any promise a command can check becomes a mechanical check) and notes (every non-trivial change records the decision, what it beat, and the consequences). Bilingual pairing keeps the external-presentation docs in sync.

What it changes

Without govrail With govrail
Agents follow rules "on their honor"; nothing is enforced Every checkable promise is a gate that fails loud
"Why did we do this?" is lost or re-litigated Each decision is a note with the alternatives it beat
Adopting tooling means a restructure or a new runtime One command, zero restructure: gov init

See a governed project in examples/demo-project.

Install

pip install govrail        # or: uv tool install govrail / pipx install govrail

This puts the gov CLI on your PATH (stdlib only — no third-party dependencies). It has one subcommand per action:

gov init --project <path>     # inject the plane into an existing project
gov uninstall --project <path>  # reverse it exactly
gov run --mode all            # run the project's gate DAG
gov self-test                 # prove every governance gate can reject
gov verify-pairing --write    # re-confirm a bilingual pair after editing one side
gov change-scope --base <ref> # smallest sufficient check set for a diff

init is non-invasive and idempotent: it creates .gov/rules.md, adds gates.json and the notes README only when missing, appends one reference line to AGENTS.md, and never overwrites the project's own files. uninstall reverses it exactly.

What is inside

  • gov/ — the Python package: gates (the DAG runner over gates.json), verify_notes (three required sections), verify_translation_pairing (git blob hashes), change_scope, self_test, archive_notes.
  • gov/templates/ — the rules, default gates.json, and notes format that gov init injects into a project.
  • .gov/rules.md — the single source of truth for the rules.
  • .agents/notes/ — the decision-record format and lifecycle.

Origin

The mechanisms are distilled from the DeepSeek Harness repository, whose gates-over-prose axiom shaped this template. Kept: the governance plane. Left to you: the product plane. The locked design decisions live in docs/decisions.md.

Star History

Star History

Release files for govrail 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for govrail 0.2.0
File Size Uploaded
govrail-0.2.0.tar.gz 18.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for govrail 0.2.0
File Interpreter ABI Platform
govrail-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 39.7 kB

Release files / govrail-0.2.0.tar.gz

Download URL govrail-0.2.0.tar.gz
Size 18.9 kB
Tags Source
SHA-256 checksum
How to use checksums
3d3c4ceffabe6e6528f32d50855a98d0c6ee151f8a18f543ecb017ffc89fe907
BLAKE2b-256 checksum
How to use checksums
9488ef4e2b7eda9c99948d281497c93514abf4e5d1377adc3bab0efd9a24ede0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / govrail-0.2.0-py3-none-any.whl

Download URL govrail-0.2.0-py3-none-any.whl
Size 20.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4cd24249979c2e240a4ef11cce8783dc02bc03bfb1f8637a62814e856a4b8986
BLAKE2b-256 checksum
How to use checksums
361edf5ec4c2d8899bcde81fd07d5d4a54ca545a92893feb53006a4dfb79e3d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

0.48.0

2 release files

0.47.1

2 release files

0.47.0

2 release files

0.46.0

2 release files

0.45.0

2 release files

0.44.0

2 release files

0.43.1

2 release files

0.43.0

2 release files

0.42.0

2 release files

0.41.0

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.38.2

2 release files

0.38.1

2 release files

0.38.0

2 release files

0.37.1

2 release files

0.37.0

2 release files

0.36.0

2 release files

0.35.0

2 release files

0.34.9

2 release files

0.34.8

2 release files

0.34.7

2 release files

0.34.6

2 release files

0.34.5

2 release files

0.34.4

2 release files

0.34.3

2 release files

0.34.2

2 release files

0.34.1

2 release files

0.34.0

2 release files

0.33.1

2 release files

0.33.0

2 release files

0.32.0

2 release files

0.31.0

2 release files

0.30.7

2 release files

0.30.6

2 release files

0.30.5

2 release files

0.30.4

2 release files

0.30.3

2 release files

0.30.2

2 release files

0.30.1

2 release files

0.30.0

2 release files

0.29.4

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page