Agent Safety, Performance, Enforcement & Compliance
A personal development-governance framework that makes every Claude Code deliverable secure, tested, observable, and maintainable by rule rather than by mood — scaled across four tiers from personal scripts (T1) to commercial products (T4).
New here? Open docs/field-guide.html for the visual
overview, or read docs/GUIDE.md for the detailed developer
walkthrough (GOVERNANCE.md anatomy, waivers, evolution loop, troubleshooting).
constitution/CONSTITUTION.md— ten invariants, always loaded, every task.standards/— 67 standards in 11 families. Each has RFC-2119 rules with stable IDs, per-tier applicability, machine-run verification commands, a worked example, and anti-patterns. Frontmatter is the API.index.json— generated catalog./governclassifies a task's tier, detects stacks, filters the index on tier/stacks/triggers, and loads only the matching standards (budget: ≤~15k tokens for a typical selected set).GOVERNANCE.md(per project) — tier, pinned standard versions, waivers, attestations./verify-complianceexecutes every listed standard's verification commands; work is not "done" until it passes.- Enforcement is layered — H (hooks that block actions), G (CI / verify gates that block "done"), A (advisory with forced attestation). Nothing is advisory-and-invisible.
- Evolution — learnings are harvested to the Obsidian vault Inbox;
/evolve-standardspromotes durable ones as versioned diffs.checks/build-index.pyrefuses to index a changed-but-unbumped standard.
| Moment | Do |
|---|---|
| Starting a chunky task | /govern → tier + compliance brief |
| New project | /bootstrap-repo → scaffold + CI + hooks + GOVERNANCE.md |
| Before calling anything done | /verify-compliance |
| Something felt wrong/missing | /harvest-learnings |
| Quarterly (or model churn) | /evolve-standards |
python3 checks/build-index.py # regenerate index.json + INDEX.md
python3 checks/lint-framework.py # full self-lint (schema, rules, freshness)
checks/install.sh # install skills (+ optionally hooks) globallyFramework-shape changes (new family, frontmatter schema, tier model) require an ADR in
decisions/. Standard content changes require a version bump + changelog line.