govrail
English | 中文
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.
Install
pip install . # or: uv tool install . / pipx install .
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 overgates.json),verify_notes(three required sections),verify_translation_pairing(git blob hashes),change_scope,self_test,archive_notes.gov/templates/— the rules, defaultgates.json, and notes format thatgov initinjects 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.
Release files for govrail 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| govrail-0.1.0.tar.gz | 15.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| govrail-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.0 kB
Release files / govrail-0.1.0.tar.gz
| Download URL | govrail-0.1.0.tar.gz |
|---|---|
| Size | 15.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b34d5d227432950cb26ffaed097ae614c4cea860b3b74fd6e48e6f17e18dd89c
|
|
BLAKE2b-256 checksum How to use checksums |
9d9ea6bdf2e15cbd78235ab48b4f1640c4e1c7051c2b2ca54b4946bab90dfa80
|
| 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.1.0-py3-none-any.whl
| Download URL | govrail-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
97961ca0b8771f6ec358bebe9d51ebffe51bfbecc64c1e294ebe753212ac5019
|
|
BLAKE2b-256 checksum How to use checksums |
db897ef8f668f1089664cbae47257d67a7297dc46bf261158d377d164d602598
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|