diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 3c327fa..41e0b4a 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,5 +1,5 @@ { "name": "adr-toolkit", - "version": "1.0.1", + "version": "1.1.0", "description": "Initialize, record, and check Architecture Decision Records by inspecting the repository and existing decisions before asking questions." } diff --git a/adapters/antigravity/plugin.json b/adapters/antigravity/plugin.json index 118e48c..03ae7ba 100644 --- a/adapters/antigravity/plugin.json +++ b/adapters/antigravity/plugin.json @@ -1,6 +1,6 @@ { "$schema": "https://antigravity.google/schemas/v1/plugin.json", "name": "adr-toolkit", - "version": "1.0.1", + "version": "1.1.0", "description": "Initialize, record, and check Architecture Decision Records by inspecting the repository and existing decisions before asking questions." } diff --git a/adapters/gemini-cli/gemini-extension.json b/adapters/gemini-cli/gemini-extension.json index 3c327fa..41e0b4a 100644 --- a/adapters/gemini-cli/gemini-extension.json +++ b/adapters/gemini-cli/gemini-extension.json @@ -1,5 +1,5 @@ { "name": "adr-toolkit", - "version": "1.0.1", + "version": "1.1.0", "description": "Initialize, record, and check Architecture Decision Records by inspecting the repository and existing decisions before asking questions." } diff --git a/changelog.md b/changelog.md index 6c11b79..f2dd488 100644 --- a/changelog.md +++ b/changelog.md @@ -29,6 +29,52 @@ Lightweight human-readable summary of meaningful repository changes. - Logged a Medium-priority backlog item to fold the Cline CLI adapter into the `harness-parity` CI job (currently manually verified against Cline CLI 3.0.61 only), so Cline/ClinePass version drift is caught automatically like the Codex, Gemini, and Antigravity adapters. - Added `CLINE.md` as a thin harness entry pointer (matching `CODEX.md`/`CLAUDE.md`/`GEMINI.md`) and updated `AGENTS.md` to list Cline alongside the other harnesses, plus an explicit note that per-model files (`DEEPSEEK.md`/`GLM.md`/`KIMI.md`/`QWEN.md`) are intentionally not created — those are model providers routed through a harness, not harnesses themselves. Verified that Cline (CLI 3.0.61 with `cline-pass/glm-5.2`) auto-injects the repo-root `AGENTS.md` into workspace context at session start, so the shared operating document reaches every model routed through ClinePass without a per-model entry file. +## v1.1.0 (2026-09-06) + +Minor release: new features, governance hardening, and a new harness adapter. + +- Added a Cline CLI adapter (`adapters/cline/`) so Cline CLI and ClinePass users + can install the `skills/adr-toolkit` package. Cline installs skills through the + open Agent Skills standard (SKILL.md), so the adapter is README-only — no + manifest — documenting `cline skill add SHcommit/ADR-toolkit` plus a manual + symlink fallback. Manually verified against Cline CLI 3.0.61. +- Added `CLINE.md` as a thin harness entry pointer (matching + `CODEX.md`/`CLAUDE.md`/`GEMINI.md`) and updated `AGENTS.md` to list Cline + alongside the other harnesses, plus an explicit note that per-model files + (`DEEPSEEK.md`/`GLM.md`/`KIMI.md`/`QWEN.md`) are intentionally not created — + those are model providers routed through a harness, not harnesses themselves. + Verified that Cline (CLI 3.0.61 with `cline-pass/glm-5.2`) auto-injects the + repo-root `AGENTS.md` into workspace context at session start, so the shared + operating document reaches every model routed through ClinePass without a + per-model entry file. +- Scalable GitHub governance: structured Issue Forms, source-controlled label + taxonomy, path-based PR labels, new-issue triage, weekly grouped Dependabot + updates targeting `develop`, and a dormant CODEOWNERS draft. +- Ruff and strict dependency-audit CI gates, upgraded the supported Python floor + to 3.10, and added regression tests for repository governance configuration. +- Hardened CI supply chain: replaced the Antigravity `curl | bash` installer with + a versioned SHA-512-verified artifact, pinned release Actions to commit SHAs, + pinned release build tooling, and removed PR-title shell expression injection. +- Corrected the governance audit to recognize the already-active repository + branch/tag rulesets through the ruleset APIs rather than treating a classic + branch-protection 404 as proof of no protection. +- Enabled live Discussions, dependency security updates and alerts, secret + scanning with push protection, private vulnerability reporting, and automatic + deletion of merged branches. +- Recorded ADR-0017 (OSS repository governance & supply-chain hardening + decision). +- Logged a Medium-priority backlog item to fold the Cline CLI adapter into the + `harness-parity` CI job (currently manually verified against Cline CLI 3.0.61 + only), so Cline/ClinePass version drift is caught automatically like the Codex, + Gemini, and Antigravity adapters. +- Expanded `improvements.md` backlog with High and Medium priority items: ReDoS + cross-platform safety, 2-phase atomic transaction rollback for `supersede`, + ADR overlap/similarity Eval framework, weekly automated maintenance workflows, + PR significance bot, `adr lint --fix` auto-repair, interactive HTML graph + viewer, and code drift detection. +- Synced `skills/adr-toolkit/VERSION`, `SKILL.md` frontmatter, and the Claude / + Gemini / Antigravity / Codex manifests to 1.1.0 via `scripts/sync_version.py`. + ## v1.0.1 (2026-09-02) - Added PyPI packaging support (`pyproject.toml`) for `pip install adr-toolkit` and `pipx install adr-toolkit`. diff --git a/handoff.md b/handoff.md index 86552ca..8887e4f 100644 --- a/handoff.md +++ b/handoff.md @@ -2,63 +2,58 @@ ## Current task -Cline harness entry file (`CLINE.md`) added and `AGENTS.md` updated to list -Cline alongside Codex/Claude/Gemini, plus an explicit per-model non-creation -policy (`DEEPSEEK.md`/`GLM.md`/`KIMI.md`/`QWEN.md` are not created — those are -model/API providers routed through a harness such as Cline, not harnesses). +Release v1.1.0: VERSION bumped 1.0.1 → 1.1.0, manifests synced via +`scripts/sync_version.py`, `changelog.md` v1.1.0 section added. Release branch +`release/v1.1.0` off `develop` ready to merge into `master`; after merge, tag +`v1.1.0` will be pushed from `master` to trigger `.github/workflows/release.yml`. ## Touched files -- `CLINE.md` — new thin harness entry pointer (matches `CODEX.md`/`CLAUDE.md`/ - `GEMINI.md` shape) with Cline-specific notes: open Agent Skills discovery, - no adapter-local manifest, and the verified AGENTS.md auto-injection - behavior. -- `AGENTS.md` — added `Cline` to the harness enumeration (line 4) and added - `CLINE.md` to the harness entry-files list (line 69), plus a paragraph - stating per-model entry files are intentionally not created. -- `tests/unit/test_cline_adapter.py` — added - `test_cline_entry_file_is_thin_pointer_to_agents_md` and - `test_agents_md_lists_cline_among_harnesses`. -- `changelog.md` — one Unreleased line. +- `skills/adr-toolkit/VERSION` — bumped to `1.1.0`. +- `skills/adr-toolkit/SKILL.md` — frontmatter `version: 1.1.0`. +- `.claude-plugin/plugin.json`, `adapters/gemini-cli/gemini-extension.json`, + `adapters/antigravity/plugin.json` — `version` synced to `1.1.0`. +- `changelog.md` — moved the Unreleased block under a new `## v1.1.0 (2026-09-06)` + heading summarizing the 31 commits accumulated since v1.0.1 (Cline adapter, + CLINE.md/AGENTS.md harness entry, GitHub governance hardening, CI supply-chain + hardening, ADR-0017, backlog items). - `handoff.md` — this file. -## Diagnosis / empirical verification +## Why 1.1.0 (MINOR, not PATCH) -Confirmed via an isolated Cline run that Cline auto-injects the repo-root -`AGENTS.md` into workspace context at session start: - -``` -cline --data-dir --json 'Output ONLY the literal first line of -this repository AGENTS.md file. Do not run any tools...' -→ reasoning: "Looking at the Workspace Configuration, I see the full content - of the AGENTS.md file was provided in the workspace context." -→ text: "# AGENTS.md" -→ model: cline-pass/glm-5.2 -``` - -So `AGENTS.md` already reaches every model routed through ClinePass -(DeepSeek, GLM, Kimi, Qwen, …). Per-model entry files would be redundant -because the harness (Cline) is the layer that owns project-context injection. +The 31 commits between v1.0.1 and this release include six `feat:` commits +(Cline CLI adapter, GitHub label taxonomy / labeler / dependabot / Issue Forms / +auto-triage). SemVer requires a MINOR bump for new backward-compatible +features; no breaking changes were identified, so MAJOR is not warranted and +PATCH would understate the surface change. ## Next step -1. (This PR) `docs/cline-harness-entry` → `develop` via PR #37; wait for CI - (13 checks, same matrix as PR #36). -2. (Future, already logged in PR #36) Implement the Medium backlog item to - fold Cline into the `harness-parity` CI job. +1. Open PR `release/v1.1.0` → `master` (AGENTS.md: "Release branches merge + into `master` and back into `develop`"). +2. After CI passes (release.yml runs pytest + sync_version --check + tag == + VERSION), merge into `master`. +3. Back-merge `master` → `develop` (PR), per the git flow. +4. Tag `v1.1.0` from `master` and push — `release.yml` runs the full suite, + verifies manifest versions against the tag, and publishes a GitHub + Release (plus PyPI publish via Trusted Publisher, `continue-on-error`). +5. Delete the short-lived `release/v1.1.0` branch after merge. ## Verification -- `tests/unit/test_cline_adapter.py`: 5 cases (3 original + 2 new) — re-run - with Python 3.13 standalone. -- `git diff --stat`: 5 files, all markdown + test — ruff/mypy scope: - `test_cline_adapter.py`. +- `scripts/sync_version.py --check`: passes (VERSION, SKILL.md, and all + 4 manifests agree on 1.1.0; no untracked manifests). +- `changelog.md` reflects all 31 v1.0.1..develop commits. +- Working-tree state on `release/v1.1.0`: clean except for the version-sync + + changelog/handoff commits. ## Open risks -- Cline auto-injection of `AGENTS.md` was verified on Cline CLI 3.0.61 with - `cline-pass/glm-5.2`; behavior may differ on other Cline versions or - providers. The Medium harness-parity CI backlog item (PR #36) covers - ongoing regression detection once implemented. -- Inherits Open risks from the prior handoff (ruleset context sync, - `continue-on-error` PyPI publish, deferred issue/PR automation). +- `pypa/gh-action-pypi-publish` remains `continue-on-error: true`, so the + PyPI publish step can partially fail without failing the release job — + tracked in `improvements.md`. +- Cline adapter is still "Manually verified against 3.0.61" only; the + `harness-parity` CI job does not yet cover Cline — PR #36 logged this as a + Medium backlog item to implement after v1.1.0 ships. +- Inherits prior Open risks (ruleset context sync post-merge, deferred + project/milestone/stale automation). diff --git a/skills/adr-toolkit/SKILL.md b/skills/adr-toolkit/SKILL.md index 22b08ce..92adc67 100644 --- a/skills/adr-toolkit/SKILL.md +++ b/skills/adr-toolkit/SKILL.md @@ -2,7 +2,7 @@ name: adr-toolkit description: Initialize, record, and check Architecture Decision Records by inspecting the repository and existing decisions before asking questions. user-invocable: true -version: 1.0.1 +version: 1.1.0 --- # ADR Toolkit diff --git a/skills/adr-toolkit/VERSION b/skills/adr-toolkit/VERSION index 7f20734..9084fa2 100644 --- a/skills/adr-toolkit/VERSION +++ b/skills/adr-toolkit/VERSION @@ -1 +1 @@ -1.0.1 \ No newline at end of file +1.1.0