GovZero Kit: A Development Covenant for Human-AI Collaboration
Project description
gzkit
GovZero Kit: A Development Covenant for Human-AI Collaboration
Documentation Release Notes Roadmap
gzkit is cognitive infrastructure for extended human-AI collaboration—a protocol that preserves human intent across agent context boundaries, gives agents constraints to reason against, creates verification loops both parties trust, and reserves final judgment for humans.
Why gzkit?
Modern AI-assisted development faces a structural problem: agents are powerful but context-bound. They drift without constraints, forget across sessions, and can't distinguish between "should do" and "could do." Humans provide intent and judgment but can't scale execution.
gzkit bridges this gap by formalizing the collaboration:
| Role | Human | Agent |
|---|---|---|
| Intent | Originates | Interprets, clarifies |
| Constraints | Defines, enforces | Operates within, flags violations |
| Exploration | Guides | Executes, surfaces options |
| Judgment | Final authority | Proposes, explains tradeoffs |
| Memory | Long-term, cross-project | Session-bound, needs scaffolding |
| Verification | Attests | Generates evidence |
Three Concerns
gzkit spans three distinct but interrelated concerns:
| Concern | Purpose | Primary Audience |
|---|---|---|
| Specification | Invariants, constraints, acceptance criteria | Agent (grounding) |
| Methodology | Phases, workflows, checkpoints | Process (structure) |
| Governance | Authority, attestation, audit | Human (oversight) |
Specification is agent-native: explicit constraints, declarative intent, immutable canon.
Methodology is process-native: phases, gates, verification loops.
Governance is human-native: attestation rituals, authority boundaries, audit ceremonies.
All three are necessary. Specification without governance drifts. Governance without methodology is theater. Methodology without specification is arbitrary.
The Covenant
gzkit implements a development covenant—a binding agreement between human and agent:
- Human defines intent through canon, ADRs, and acceptance criteria
- Agent operates within constraints and flags potential violations
- Verification is mutual through tests, checks, and evidence
- Human attests completion after observing artifacts
- Artifacts survive sessions preserving intent across context boundaries
This is not "AI governance" in the compliance sense. It's a protocol for productive partnership.
Lineage
gzkit evolved from:
- GitHub spec-kit — the
constitute → specify → plan → implement → analyzephase model - GovZero — governance framework developed in AirlineOps through ~100 work items of iterative learning
- Claude Code conventions — CLAUDE.md patterns for agent-native constraint specification
See docs/lineage.md for full heritage.
Five Gates
Work flows through five gates, adapted by lane (Lite or Heavy):
| Gate | Name | Purpose |
|---|---|---|
| 1 | ADR | Record intent and tradeoffs before implementation |
| 2 | TDD | Red-Green-Refactor: tests derived from spec, not implementation |
| 3 | Docs | Ensure documentation describes actual behavior |
| 4 | BDD | Verify external contracts through acceptance tests |
| 5 | Human | Human observes artifacts and attests completion |
Lite lane (internal changes): Gates 1, 2
Heavy lane (external contracts): Gates 1, 2, 3, 4, 5
Workflow Lifecycle
DEFINE PLAN BUILD VERIFY ATTEST RELEASE
┌──────┐ ┌──────┐ ┌──────────┐ ┌──────┐ ┌──────┐ ┌──────────┐
│Design│───▶│ ADR │───▶│ Pipeline │───▶│Gates │───▶│Human │───▶│ Closeout │
│ PRD │ │ OBPI │ │ TDD Impl │ │Check │ │Attest│ │ Release │
└──────┘ └──────┘ └──────────┘ └──────┘ └──────┘ └──────────┘
gz-design gz-adr- gz-obpi- gz-check gz-adr- gz-patch-
gz-prd create pipeline gz-gates closeout- release
gz-obpi- gz-obpi- gz-validate ceremony
specify simplify
Skill Catalog
| Category | Skills |
|---|---|
| ADR Lifecycle | gz-adr-create, gz-adr-evaluate, gz-adr-promote, gz-adr-status, gz-design, gz-plan |
| ADR Operations | gz-adr-autolink, gz-adr-emit-receipt, gz-adr-map, gz-adr-recon, gz-adr-sync |
| ADR Audit & Closeout | gz-adr-audit, gz-adr-closeout-ceremony, gz-patch-release |
| OBPI Pipeline | gz-obpi-lock, gz-obpi-pipeline, gz-obpi-reconcile, gz-obpi-simplify, gz-obpi-specify, gz-plan-audit |
| Governance Infrastructure | gz-constitute, gz-gates, gz-implement, gz-init, gz-prd, gz-state, gz-status, gz-validate |
| Agent & Repository | git-sync, gz-agent-sync, gz-check-config-paths, gz-migrate-semver, gz-session-handoff, gz-tidy |
| Code Quality | gz-check, gz-chore-runner, gz-cli-audit |
| Routing | gz-skill-router |
For details on any skill, read its SKILL.md in .gzkit/skills/<skill-name>/.
Installation
# Using uv (recommended)
uv add gzkit
# Or pip
pip install gzkit
Quick Start
# Initialize gzkit in a project
gz init
# Create a new ADR
gz plan create feature --title "Feature description"
# Check gate status
gz status
# Run verification
gz check
Configuration
gzkit uses .gzkit.json for project configuration:
{
"mode": "lite",
"paths": {
"canon": "docs/canon",
"adrs": "docs/adr",
"specs": "docs/specs"
}
}
Documentation
- Charter — The covenant itself
- Lineage — Heritage from spec-kit and GovZero
- Concepts — The three concerns explained
- Genesis — Origin story and founding conversation
Philosophy
Governance is verification, not celebration.
gzkit treats governance as executable documentation. All state lives in Markdown, validated by a Python CLI. The framework is human-centric, auditable, and version-controlled.
Prompts are code. Constraints are first-class. Human attestation is the final gate.
License
MIT
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 py_gzkit-0.25.1.tar.gz.
File metadata
- Download URL: py_gzkit-0.25.1.tar.gz
- Upload date:
- Size: 4.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
209e1895bc344958ebca32d7a7d3a3622c24141fc401e86c76c3747553cdc5c4
|
|
| MD5 |
4ebc72488d526c5aba6f44773f280159
|
|
| BLAKE2b-256 |
7533ad4f04d65a803baf677431b6fbdc690ecf141f6cb4af53b7acc60c7ccb0f
|
Provenance
The following attestation bundles were made for py_gzkit-0.25.1.tar.gz:
Publisher:
release.yml on tvproductions/gzkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
py_gzkit-0.25.1.tar.gz -
Subject digest:
209e1895bc344958ebca32d7a7d3a3622c24141fc401e86c76c3747553cdc5c4 - Sigstore transparency entry: 1316088962
- Sigstore integration time:
-
Permalink:
tvproductions/gzkit@07d41c14b710bb235242bf7a60e9a417fcd7194d -
Branch / Tag:
refs/tags/v0.25.1 - Owner: https://github.com/tvproductions
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@07d41c14b710bb235242bf7a60e9a417fcd7194d -
Trigger Event:
push
-
Statement type:
File details
Details for the file py_gzkit-0.25.1-py3-none-any.whl.
File metadata
- Download URL: py_gzkit-0.25.1-py3-none-any.whl
- Upload date:
- Size: 489.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c81fce284b331c83c8f66ac195e786ed7520edcfa93260f2dbdc17526193028a
|
|
| MD5 |
60bb8ec55d99495c34aaa98034bac655
|
|
| BLAKE2b-256 |
e5b7b00009f546b752310a4e723fb3797d79a0d02df67509e1e7eab171357c3d
|
Provenance
The following attestation bundles were made for py_gzkit-0.25.1-py3-none-any.whl:
Publisher:
release.yml on tvproductions/gzkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
py_gzkit-0.25.1-py3-none-any.whl -
Subject digest:
c81fce284b331c83c8f66ac195e786ed7520edcfa93260f2dbdc17526193028a - Sigstore transparency entry: 1316089010
- Sigstore integration time:
-
Permalink:
tvproductions/gzkit@07d41c14b710bb235242bf7a60e9a417fcd7194d -
Branch / Tag:
refs/tags/v0.25.1 - Owner: https://github.com/tvproductions
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@07d41c14b710bb235242bf7a60e9a417fcd7194d -
Trigger Event:
push
-
Statement type: