diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a2c5ec..6aa8d93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,25 @@ ## Unreleased +Nothing yet. + +## 0.8.0 — Derive from agentseam's vendor config; externalize templates; adopt the Sonar/Checkstyle/FindBugs lint bar + +- **Adopted the Sonar/Checkstyle/FindBugs-class ruff rule bar** (owner standard, + `plan/coding-standards.md` §3) across `src/`: `C90 N PLR PLW PLC ERA T201 ARG RET SIM + PIE FBT A B S BLE TRY RUF`, with mccabe max-complexity 10 and pylint max-args 5 / + max-branches 12 / max-returns 6 / max-statements 50. Fixed the measured `src/` baseline + category by category in bisectable commits -- mechanical/safe, magic values plus a new + literal-duplication guard (`tools/check_literal_duplication.py`), exception hygiene, + boolean traps (keyword-only, including the vendored gate runtime), unused arguments, + asserts, subprocess hardening, 65 of 71 lazy imports hoisted to module top (6 kept lazy + for documented reasons), and `print` centralized into a new `chock/output.py` + `warn`/`error` surface for the 31 call sites that matched its convention (the ~183 + genuine CLI/render call sites are per-file-ignored). Complexity splits (37 findings + across 21 functions) are deliberately deferred to a follow-up wave via scoped + `TODO(lint-adoption)` per-file-ignores, never a blanket one. No behaviour change: full + suite, `chock check`, `sync --check`, the acceptance suite, and a full before/after + artifact diff all pass unchanged; the standard is recorded in `AGENTS.md`. - **Emitted-artifact templates move out of Python source into template files, and the CLI command table becomes data** (owner standard `externalize, don't hardcode`, `plan/coding-standards.md` §2). Every non-Python template previously held as a Python diff --git a/CITATION.cff b/CITATION.cff index 25e09e0..a5f49d7 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -7,7 +7,7 @@ abstract: >- type: software authors: - name: Open Coder AI -version: 0.6.0 +version: 0.8.0 license: Apache-2.0 repository-code: https://github.com/open-coder-ai/chock url: https://github.com/open-coder-ai/chock diff --git a/docs/assets/social-preview.png b/docs/assets/social-preview.png index 2b95c2a..829a92b 100644 Binary files a/docs/assets/social-preview.png and b/docs/assets/social-preview.png differ diff --git a/docs/assets/social-preview.svg b/docs/assets/social-preview.svg index 9c37342..8bde217 100644 --- a/docs/assets/social-preview.svg +++ b/docs/assets/social-preview.svg @@ -1,5 +1,5 @@ + role="img" aria-label="chock — governance-as-code for AI coding agents: write a rule once and every agent obeys it. A policy compiles to whatever control each agent actually supports. 15 agents (claude, aider, antigravity, codex, copilot, cursor, devin, gemini, grok, junie, kimi-code, replit, tabnine, vscode, windsurf); 8 enforcement surfaces (ambient-rule, git-hook, ci-gate, pre-tool-use, managed-setting, gateway, mcp-gateway, agent-hooks), of which 3 are installed by chock sync (ambient-rule, ci-gate, git-hook); 8 everyday commands (init, add, remove, sync, check, status, enable, disable). Python 3.11–3.13, Apache-2.0, on PyPI as chock, version 0.8.0."> @@ -10,7 +10,7 @@ open-coder-ai/chock - v0.7.0 · APACHE-2.0 + v0.8.0 · APACHE-2.0 — GOVERNANCE AS CODE Write the rule once. diff --git a/pyproject.toml b/pyproject.toml index f463cc4..5798754 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ name = "chock" # Version contract (docs/compatibility.md): PATCH releases are emitter-byte-identical; # MINOR releases may change compiled output. 0.1.0 is the first public release; the # 0.0.1a0 pre-release exists only because PyPI names are claimed by uploading. -version = "0.7.0" +version = "0.8.0" description = "Governance-as-code for AI coding agents: write a rule once, enforce it on git hooks, CI, and every agent" readme = "README.md" # PEP 639 SPDX expression; needs setuptools >= 77 (pinned in build-system below).