Visitar URL original
Install the Updated Host-Safety Kit and Look Before Asking in merge-and-release by ptr727 · Pull Request #4029 · ptr727/ProjectTemplate · GitHub
Skip to content

Install the Updated Host-Safety Kit and Look Before Asking in merge-and-release - #4029

Merged
ptr727 merged 6 commits into
developfrom
burndown/3897-merge-and-release-kit-install
Nov 10, 2026
Merged

ptr727 merged 6 commits into
developfrom
burndown/3897-merge-and-release-kit-install

Conversation

@ptr727

@ptr727 ptr727 commented Nov 10, 2026 •

Copy link
Copy Markdown
Owner

Summary

Two edits to the merge-and-release skill, regenerated into both distributions per skill-lifecycle.

  • Step 7 installs the updated host-safety kit. Where the kit's --report reads anything other than CURRENT, the step runs host-setup/agent-safety/claude/install.py with no arguments from the same detached origin/main worktree. It then runs --report again and confirms CURRENT. A failed install, or a second report still not CURRENT, is reported with its output and never retried. A seat that may not run the installer reports that rather than working around it. The step never edits the kit's files or the machine's settings by hand. Where the install ran, the step reports that sessions need a restart. The description, "Why This Exists", "How Far to Go", and "What Invoking This Skill Authorizes" now name the kit install as part of the hub's release scope.
    • Rollback guard. The kit's --report compares payload digests only, so a machine running a kit newer than main also reads stale. A typical case is a kit installed from develop. So the step installs only where the stamp's hub commit is clean and origin/main already contains it, or where the report reads NOT INSTALLED. Any other case is reported to the maintainer and left as it is.
  • Step 2 looks, then asks, when the promotion is already merged under a release scope. It reads releaseTrigger as step 5 does. It then reads the publisher's runs on the full merge SHA and reports whether a release started. A failed read is reported rather than taken as no release started. A run found there is never dispatched again. Where none started, it asks the maintainer before dispatching, and names main's tip if it has moved past the merge commit. The full SHA is required because gh run list --commit given the digest's 8-character merge_commit= matches no run, which would read as no release started.

Introduced findings from the opening push

The local pass on the opening push raised these after its edit budget was spent. Both were on the away-mode sentence in step 2, and both were fixed in 35f6014. Under an away-mode grant, step 2 now only files the decision issue and leaves acting on its answer to the maintainer, since no step starts from an issue. Only an attended yes runs steps 5 and 6. The pass over that push recorded no findings.

  • .agents/skills/merge-and-release/SKILL.md:84-85, introduced, fixed: a yes recorded on the away-mode decision issue named no way for a later session to start steps 5 and 6.
  • .agents/skills/merge-and-release/SKILL.md:84-87, introduced, fixed: acting on that yes later re-read only main's tip, and not the publisher's runs or the named merge SHA.

Closes on promotion: #3897, #4019

🤖 Generated with Claude Code

ptr727 and others added 4 commits November 10, 2026 08:09
…nd-release

Step 7 now runs the kit installer from the detached main worktree when its
--report reads anything other than CURRENT, confirms a second --report reads
CURRENT, and reports a failed install or the needed session restart rather
than only reporting the stale kit.

Step 2's already-merged branch, under a release scope, now reads the
publisher's runs on the merge commit, reports whether a release started, and
asks the maintainer before any dispatch where none did.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An 8-character SHA passed to gh run list --commit matches no run, which would read as no release started.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The kit report judges payload digests alone, so a machine on a kit newer than main reads stale. Step 7 now installs only over a stamp main already contains, or none, and reports the rest. An away-mode run, which cannot ask, dispatches nothing and reports the unreleased promotion for the maintainer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An away run's final report carries an open decision issue to the maintainer and not an unreleased promotion reported on its own, so the question goes in a decision issue naming the promotion and its full merge SHA.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings November 10, 2026 16:16
@ptr727

ptr727 commented Nov 10, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head e3a1fa71d8bea6be8bc4ffd0758974ade4055612, the content this pull request carries at that commit against develop, and it recorded 2 findings.

@coderabbitai

coderabbitai Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

No step of the procedure starts from an issue, so the decision issue's answer is the maintainer's to act on, and only an attended yes runs steps 5 and 6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ptr727

ptr727 commented Nov 10, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 35f6014d3058b1d49a1f0d0da7f6e1c4da9ed6b1, the content this pull request carries at that commit against develop, and it recorded 0 findings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Two moderate active issues remain in the release procedure: deferred dispatch can correlate the wrong merge or duplicate a publisher run, and an already-merged promotion lacks a resumable path to complete the release.

2 open issues
What changed in this PR

This pull request updates the merge-and-release skill to install the host-safety kit and safely handle promotions that were already merged.

Changes:

  • Adds rollback-aware host-safety kit installation, verification, and restart guidance.
  • Adds full-SHA publisher-run correlation before dispatching releases for merged promotions.
  • Regenerates both skill distributions and updates the source digest.
File Description
.github/​skills/​merge-and-release/​SKILL.md Generated GitHub Copilot skill distribution containing the updated host-safety installation and merged-promotion release procedures.
.claude-plugin/​fleet-skills/​skills/​merge-and-release/​SKILL.md Generated Claude Code skill distribution containing the updated host-safety installation and merged-promotion release procedures.
.claude-plugin/​fleet-skills/​.source-digests/​merge-and-release Updated the generated-source digest for the merge-and-release skill.
.agents/​skills/​merge-and-release/​SKILL.md Canonical skill changes for guarded host-safety installation, publisher-run correlation, and merged-promotion handling.

Review effort: Lite

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ptr727

ptr727 commented Nov 10, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 6804bb13ad9f115f19ad6169f3bb458c9494e742, the content this pull request carries at that commit against develop, and it recorded 0 findings.

@codecov

codecov Bot commented Nov 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.76%. Comparing base (b38e084) to head (6804bb1).
⚠️ Report is 129 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4029      +/-   ##
===========================================
- Coverage    81.60%   78.76%   -2.84%     
===========================================
  Files           26       37      +11     
  Lines         9070    12680    +3610     
===========================================
+ Hits          7402     9988    +2586     
- Misses        1668     2692    +1024     
Flag Coverage Δ
python-3.13 78.76% <ø> (-2.84%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ptr727
ptr727 merged commit 6a84ead into develop Nov 10, 2026
13 checks passed
@ptr727
ptr727 deleted the burndown/3897-merge-and-release-kit-install branch November 10, 2026 17:42
ptr727 added a commit that referenced this pull request Nov 10, 2026
…tall on Release, Cleanup and Handoff Fixes (#4039)

## Summary

Promotes burndown round 1 of the attended run of 2026-11-10 from
`develop` to `main`.

- #4035: the prose gate builds its HTML span without slicing
markdown-it-py's pattern, and the gate, `backlog_metrics.py`, and the
test requirements pin `markdown-it-py` exactly. That ends the import
crash 4.3.0 caused on every pull request.
- #4032: the agent-safety installer probes each hook launcher before
choosing one and installs nothing when none runs. The write guard reads
every short-option cluster through one table-driven helper. Merged on
the maintainer's go-ahead after reading the diff.
- #4029: `merge-and-release` installs the updated host-safety kit in its
release step, guarded against rolling a kit back. Where a promotion is
already merged under a release scope, it reads the publisher's runs
before asking.
- #4030: `pr_cleanup.py` names every git-ignored entry a worktree
removal deletes before it removes the tree.
- #4034: a handoff comment that only quotes a round mark is no longer
read as an archived round. `blocked` stays on while a new decision
waits, a default handoff pick is confirmed, and a track's final round is
written before `close`.

## Closes

Fixes #4033
Fixes #3935
Fixes #1172
Fixes #3783
Fixes #3897
Fixes #4019
Fixes #4009
Fixes #4013
Fixes #3679
Fixes #4018
Fixes #3914
Fixes #3841
Fixes #4017
Fixes #4010
Fixes #3791
Fixes #3795

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants