# GovZero Charter v6

Status: Active
Last reviewed: 2026-01-08
Authority: Canon (sole authority for gate definitions)

This document is the **sole authority** for GovZero gate definitions and semantics.
All other documents MUST reference gates by number only and defer here for meaning.

---

## Authority Boundary

| Role | Authority |
|------|-----------|
| **Human** | Attests to ADR closeout; provides explicit attestation |
| **Agent** | Assists with implementation, testing, documentation; presents artifacts |
| **Audit** | Runs post-attestation to reconcile artifacts; does not grant authority |

Human attestation is the closeout gate. Agents cannot attest on behalf of humans.
Audit is a reconciliation mechanism, not an authority mechanism.

---

## Gate Definitions

### Gate 1: ADR (Intent)

**Purpose:** Record intent and tradeoffs before implementation.

**Artifact:** ADR document with problem statement, decision, and consequences.

**Applies to:** All work (Lite and Heavy lanes).

---

### Gate 2: TDD (Tests)

**Purpose:** Verify implementation correctness through automated tests.

**Artifact:** Passing unit tests with coverage floor (≥40%).

**Applies to:** All work (Lite and Heavy lanes).

---

### Gate 3: Docs (Documentation)

**Purpose:** Ensure documentation accurately describes code behavior.

**Artifact:** Clean markdown lint, mkdocs build passes, links/anchors valid.

**Applies to:** Heavy lane only.

---

### Gate 4: BDD (Behavior)

**Purpose:** Verify external contract behavior through acceptance tests.

**Artifact:** Passing Behave scenarios for CLI/API/schema contracts.

**Applies to:** Heavy lane only.

---

### Gate 5: Human Attestation

**Purpose:** Human directly observes artifacts and attests to ADR completion.

**Artifact:** Explicit human attestation recorded with timestamp.

**Applies to:** Heavy lane only (required for ADR closeout).

**Authority:** Human attestation is the sole authority for ADR closeout.
Agents present artifacts; humans observe and attest. Audit runs post-attestation.

---

## Lane Doctrine

| Lane | Gates | Trigger |
|------|-------|---------|
| **Lite** | 1, 2 | Internal-only implementation, documentation, process, or template changes that do not change an external runtime contract |
| **Heavy** | 1, 2, 3, 4, 5 | Changes to commands, APIs, schemas, or other runtime contracts used by humans or external systems |

Default lane is Lite. Escalate to Heavy only when a command, API, schema, or
runtime contract changes. Documentation-only, process-only, and template-only
changes remain Lite unless they also change one of those external surfaces.

---

## Closeout Attestation Terms

Human attestation MUST use one of these exact forms:

| Term | Meaning |
|------|---------|
| **Completed** | ADR work finished; all claims verified |
| **Completed — Partial: [reason]** | Subset accepted; remainder deferred with rationale |
| **Dropped — [reason]** | ADR rejected; clear rationale provided |

These terms are canonical. Other terms (accept, approve, sign off) are not valid for closeout.

---

## References

- ADR lifecycle and status mapping: [adr-lifecycle.md](adr-lifecycle.md)
- ADR status table: [adr-status.md](adr-status.md)
- Closeout ceremony behavior: [audit-protocol.md](audit-protocol.md)
- ADR/OBPI/GHI/audit linkage: [adr-obpi-ghi-audit-linkage.md](adr-obpi-ghi-audit-linkage.md)
- Agent contract: [AGENTS.md](https://github.com/tvproductions/gzkit/blob/main/AGENTS.md)
- Machine-readable governance: [config/governance_manifest.json](https://github.com/tvproductions/gzkit/blob/main/config/governance_manifest.json)
