From cb724b86e658c0af0e0bba82b46f5a6c8f91e13a Mon Sep 17 00:00:00 2001 From: "melodic-plugin-release[bot]" <337859524+melodic-plugin-release[bot]@users.noreply.github.com> Date: Thu, 22 Oct 2026 16:16:08 +0000 Subject: [PATCH] chore(release): release 3 plugins --- .../fix-shared-dead-tap-rule-5eaab2c7.md | 12 -------- ...-pr-merge-adopt-idle-owner-prs-76d2c8ac.md | 16 ---------- ...ix-issue-patch-script-exec-bit-5b1e9c27.md | 18 ----------- ...-pr-merge-adopt-idle-owner-prs-95bb7644.md | 21 ------------- docs/conventions/pr-pipeline/CHANGELOG.md | 30 +++++++++++++++++++ plugins/planning/.claude-plugin/plugin.json | 2 +- plugins/planning/CHANGELOG.md | 11 +++++++ .../source-control/.claude-plugin/plugin.json | 2 +- plugins/source-control/CHANGELOG.md | 20 +++++++++++++ 9 files changed, 63 insertions(+), 69 deletions(-) delete mode 100644 .changes/planning/fix-shared-dead-tap-rule-5eaab2c7.md delete mode 100644 .changes/pr-pipeline/feat-pr-merge-adopt-idle-owner-prs-76d2c8ac.md delete mode 100644 .changes/pr-pipeline/fix-issue-patch-script-exec-bit-5b1e9c27.md delete mode 100644 .changes/source-control/feat-pr-merge-adopt-idle-owner-prs-95bb7644.md diff --git a/.changes/planning/fix-shared-dead-tap-rule-5eaab2c7.md b/.changes/planning/fix-shared-dead-tap-rule-5eaab2c7.md deleted file mode 100644 index a1e0a79211..0000000000 --- a/.changes/planning/fix-shared-dead-tap-rule-5eaab2c7.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -bump: patch ---- - -### Fixed - -- A tap counts as dead even when the page's own polling redraws it - - In a shared interview, the page's tap telemetry no longer treats its own - 1.5 s state poll redraw as the answer to a tap. A tap that changes - nothing is counted as dead however busy the page or the device is, while a - tap that opens a sheet or runs an action is still answered. diff --git a/.changes/pr-pipeline/feat-pr-merge-adopt-idle-owner-prs-76d2c8ac.md b/.changes/pr-pipeline/feat-pr-merge-adopt-idle-owner-prs-76d2c8ac.md deleted file mode 100644 index 448d90fe62..0000000000 --- a/.changes/pr-pipeline/feat-pr-merge-adopt-idle-owner-prs-76d2c8ac.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -bump: minor ---- - -### Added - -- `merge.verify-authors: lane-or-owner` judges the lanes App's pull requests and the owner - account's, matched by account id, so an idle owner pull request the pr-merge lane adopts has a - verdict. This repository sets it. - -### Changed - -- The verifier's spec now counts text a trusted human wrote even when that human opened the - pull request, so an owner pull request whose closing issue the owner wrote is judged against - that issue. Text by the lanes App, any other Bot or App, or an untrusted account is still left - out. diff --git a/.changes/pr-pipeline/fix-issue-patch-script-exec-bit-5b1e9c27.md b/.changes/pr-pipeline/fix-issue-patch-script-exec-bit-5b1e9c27.md deleted file mode 100644 index 146936eb5b..0000000000 --- a/.changes/pr-pipeline/fix-issue-patch-script-exec-bit-5b1e9c27.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -bump: patch ---- - -### Fixed - -- The issue lane's new or changed scripts land executable. apply-patch now makes each file that - ends in `.sh` or starts with `#!` mode 100755 after every refusal passes, under the new - `script-exec-bit` row key that the `issue` row sets. The model still sets no mode: - `new-executable` refuses any executable bit the patch itself carries. Before this, the patch - committed such files as 100644 and check-affected's exec-bit check failed - ([run 39729937593](https://github.com/melodic-software/claude-code-plugins/actions/runs/39729937593)). - A resumed run keeps the executable scripts an earlier lane commit landed. -- Inside an issue lane's patch run, `check-affected.sh --uncommitted` gives its snapshot the same - bits: the checks wrapper sets `CHECK_AFFECTED_SCRIPT_EXEC_BIT=1`, so exec-bit passes on a new - script. A run that commits gets no such flag and still has to chmod its own scripts. -- The `issue` row now refuses `instruction-path`, so the issue lane pushes no plugin hooks, - monitors or bin, and no agent instruction file. A row that sets `script-exec-bit` must refuse it. diff --git a/.changes/source-control/feat-pr-merge-adopt-idle-owner-prs-95bb7644.md b/.changes/source-control/feat-pr-merge-adopt-idle-owner-prs-95bb7644.md deleted file mode 100644 index bb7b554b96..0000000000 --- a/.changes/source-control/feat-pr-merge-adopt-idle-owner-prs-95bb7644.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -bump: minor ---- - -### Added - -- The pr-merge lane adopts an idle owner pull request (owner decision Q22): one an account in - `adoption.owner-ids` (none when absent) opened, matched by account id, not a draft, - whose update and head commit are both at least `adoption.idle-hours` old (read at main, 24 - when absent; 1 to 720), and with no hold label or body hold. The lane's own merge-queue entry - at the current head keeps adoption though its pin comment refreshed the update time, until - anyone else comments or reviews after the pin. - pr-merge.yml lists those accounts' PRs. The decision records it as `eligibility.adoption`; - every other gate applies unchanged. - -### Changed - -- The pr-merge verifier gate counts a linked issue a trusted human wrote, and last edited if ever, - as a trusted spec even when that human opened the pull request, so an adopted owner pull - request whose closing issue the owner wrote no longer refuses `verify:untrusted-spec`. A spec - by the lanes App, any other Bot or App, or an untrusted account still refuses. diff --git a/docs/conventions/pr-pipeline/CHANGELOG.md b/docs/conventions/pr-pipeline/CHANGELOG.md index 67b401b685..a84881e1ca 100644 --- a/docs/conventions/pr-pipeline/CHANGELOG.md +++ b/docs/conventions/pr-pipeline/CHANGELOG.md @@ -1,5 +1,35 @@ # Changelog for the PR pipeline convention +## [3.4.0] - 2026-10-22 + +### Added + +- `merge.verify-authors: lane-or-owner` judges the lanes App's pull requests and the owner + account's, matched by account id, so an idle owner pull request the pr-merge lane adopts has a + verdict. This repository sets it. + +### Changed + +- The verifier's spec now counts text a trusted human wrote even when that human opened the + pull request, so an owner pull request whose closing issue the owner wrote is judged against + that issue. Text by the lanes App, any other Bot or App, or an untrusted account is still left + out. + +### Fixed + +- The issue lane's new or changed scripts land executable. apply-patch now makes each file that + ends in `.sh` or starts with `#!` mode 100755 after every refusal passes, under the new + `script-exec-bit` row key that the `issue` row sets. The model still sets no mode: + `new-executable` refuses any executable bit the patch itself carries. Before this, the patch + committed such files as 100644 and check-affected's exec-bit check failed + ([run 39729937593](https://github.com/melodic-software/claude-code-plugins/actions/runs/39729937593)). + A resumed run keeps the executable scripts an earlier lane commit landed. +- Inside an issue lane's patch run, `check-affected.sh --uncommitted` gives its snapshot the same + bits: the checks wrapper sets `CHECK_AFFECTED_SCRIPT_EXEC_BIT=1`, so exec-bit passes on a new + script. A run that commits gets no such flag and still has to chmod its own scripts. +- The `issue` row now refuses `instruction-path`, so the issue lane pushes no plugin hooks, + monitors or bin, and no agent instruction file. A row that sets `script-exec-bit` must refuse it. + ## [3.3.3] - 2026-10-22 ### Fixed diff --git a/plugins/planning/.claude-plugin/plugin.json b/plugins/planning/.claude-plugin/plugin.json index 77067da732..7d0216d38b 100644 --- a/plugins/planning/.claude-plugin/plugin.json +++ b/plugins/planning/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "planning", - "version": "0.88.0", + "version": "0.88.1", "userConfig": { "surface": { "type": "string", diff --git a/plugins/planning/CHANGELOG.md b/plugins/planning/CHANGELOG.md index 6cf805a21b..fe7bfbbeda 100644 --- a/plugins/planning/CHANGELOG.md +++ b/plugins/planning/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to the `planning` plugin are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning. +## [0.88.1] - 2026-10-22 + +### Fixed + +- A tap counts as dead even when the page's own polling redraws it + + In a shared interview, the page's tap telemetry no longer treats its own + 1.5 s state poll redraw as the answer to a tap. A tap that changes + nothing is counted as dead however busy the page or the device is, while a + tap that opens a sheet or runs an action is still answered. + ## [0.88.0] - 2026-10-22 ### Added diff --git a/plugins/source-control/.claude-plugin/plugin.json b/plugins/source-control/.claude-plugin/plugin.json index f356b280c4..fc29eff8ac 100644 --- a/plugins/source-control/.claude-plugin/plugin.json +++ b/plugins/source-control/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "source-control", - "version": "2.0.1", + "version": "2.1.0", "description": "Git and GitHub delivery: /commit (convention-checked subject, Co-authored-by trailer, surgical staging), /pull-request (prep, create, CI monitoring, review triage, merge, CI logs), /babysit-prs (safe-by-default PR fleet loop, opt-in worker and autopilot tiers), /babysit-loop (merge lane; merge is human until the repo adopts it), /worktree, /resolve-conflicts (intent-first), /check, and /setup (layered source-control.md convention config; Conventional Commits by default).", "author": { "name": "Melodic Software", diff --git a/plugins/source-control/CHANGELOG.md b/plugins/source-control/CHANGELOG.md index 161f1e8985..8faac6bf48 100644 --- a/plugins/source-control/CHANGELOG.md +++ b/plugins/source-control/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to the `source-control` plugin are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning. +## [2.1.0] - 2026-10-22 + +### Added + +- The pr-merge lane adopts an idle owner pull request (owner decision Q22): one an account in + `adoption.owner-ids` (none when absent) opened, matched by account id, not a draft, + whose update and head commit are both at least `adoption.idle-hours` old (read at main, 24 + when absent; 1 to 720), and with no hold label or body hold. The lane's own merge-queue entry + at the current head keeps adoption though its pin comment refreshed the update time, until + anyone else comments or reviews after the pin. + pr-merge.yml lists those accounts' PRs. The decision records it as `eligibility.adoption`; + every other gate applies unchanged. + +### Changed + +- The pr-merge verifier gate counts a linked issue a trusted human wrote, and last edited if ever, + as a trusted spec even when that human opened the pull request, so an adopted owner pull + request whose closing issue the owner wrote no longer refuses `verify:untrusted-spec`. A spec + by the lanes App, any other Bot or App, or an untrusted account still refuses. + ## [2.0.1] - 2026-10-22 ### Fixed