Skip to content

Promote develop to main: Skip the Overview Narrative in Label Vetting and Narrow the Unattended Picker - #2189

Merged
ptr727 merged 2 commits into
mainfrom
develop
Oct 1, 2026
Merged

ptr727 merged 2 commits into
mainfrom
develop

Conversation

@ptr727

@ptr727 ptr727 commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Summary

Promotes develop to main, carrying #2185 and #2188.

Fixes #2182
Fixes #1812

🤖 Generated with Claude Code

#2185)

Narrows two over-broad matches in the `unattended-handoff` skill.

- **The picker's promotion STOP** now fires only on an open `decision`
issue stating, in its body or in a comment on it, that it blocks the
open develop -> main pull request. That is the wording "Parking" step 2
already requires. Before, it fired on any issue that named the
promotion, so a lesson citing it stopped every `main` or `release` run.
The step also names its read, `--json number,body,comments` under the
full-page check, because `gh issue view --comments` prints no body when
run without a terminal.
- **A resuming worker** follows only the decision issue the parking
comment names as what the lane waits on. It neither follows nor parks on
a lesson issue the same comment names. "Parking" step 3 now requires the
comment to keep the two apart.

Out of scope, by the maintainer's choice after five local review passes
(4, 2, 4, 4 and 1 findings):
- The adopted-lesson stall in the Auto-Resolvable test is now decision
#2183, since the picker has no readable signal for it.
- The multi-parking-comment, interrupted-park and open-promotion gaps
are filed as #2184.

Closes on promotion: #1812

🤖 Generated with [Claude Code](https://claude.com/claude-code)
…2188)

`scripts/pr_review.py status` exited 43 (`UNRECOGNIZED_REVIEWER_OUTPUT`)
on a clean Copilot review whose `ccr-overview-v2` overview lists its
changes as bold-led bullets inside the collapsed `What changed in this
PR` block. `LABEL_LINE` vetted each of those narrative bullets as a
metadata label. A develop -> main promotion's overview takes that list
form, so every such promotion stopped on this refusal.

- **`mask_narrative`** walks the `<details>` tags with an explicit
stack. A closed block counts as narrative only where its own content
opens on a `<summary>` naming `What changed in this PR`. Only that
block's own content is blanked, with offsets and line boundaries kept,
and a block nested inside it is still read. `unrecognized_in` then scans
the masked body line by line, exactly as it scanned the unmasked one, so
every label develop reported outside the narrative is still reported, in
the same order.
- **Ten tests:**
  - the narrative skip;
- a label beside the narrative, and one in `Review details`, still
reported;
- an outer block's nested summary, a bare first line, a nested block, a
nested narrative, 600 levels of nesting, and body order.

Run against the commit that preceded each test's own fix, each fails.
Against the real body that surfaced this, the new reader reports no
unrecognized shape.
- **`DETAILS_TAG` is unchanged.** A widened close spelling was tried and
reverted after review showed it matching literal text and swallowing a
following section heading.

Six local review passes ran on this change, finding 4, 4, 2, 4, 4 and 1
issue. The maintainer chose to land it once a pass found nothing worse
than develop on the markup Copilot produces. What was left out is filed:
- #2187: nonstandard close spellings, a `<details/>` opener, the order
of a label that appears twice, and a missing test for an unclosed
narrative.
- #2186: `details_spans` duplicating the text before an unclosed block,
which predates this change.

Closes on promotion: #2182

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Copilot AI balanced review requested due to automatic review settings October 1, 2026 01:36
@coderabbitai

coderabbitai Bot commented Oct 1, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: a5eae974-71b6-4802-b293-9a71570818bc

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Oct 1, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 96.15385% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 56.60%. Comparing base (4b4a92b) to head (15b7e6a).
⚠️ Report is 299 commits behind head on main.

Files with missing lines Patch % Lines
scripts/pr_review.py 96.15% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2189      +/-   ##
==========================================
+ Coverage   56.47%   56.60%   +0.13%     
==========================================
  Files          16       16              
  Lines        7455     7480      +25     
==========================================
+ Hits         4210     4234      +24     
- Misses       3245     3246       +1     
Flag Coverage Δ
python-3.13 56.60% <96.15%> (+0.13%) ⬆️

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.

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.

Copilot review overview

🔵 Needs a closer look

It promotes changes to the merge-gating review automation and a governance skill to main, which are fleet-wide and durable if wrong, warranting final human review.

Review effort: Balanced
Findings: None

What changed in this PR

This PR promotes develop to main, carrying two fleet-tooling changes. The first (#2188) fixes scripts/pr_review.py status exiting 43 (UNRECOGNIZED_REVIEWER_OUTPUT) on a clean Copilot review whose overview lists changes as bold-led bullets inside the collapsed What changed in this PR block; a new mask_narrative helper blanks only that block's own content (keeping nested blocks and unclosed blocks readable) before metadata labels are vetted. The second (#2185) narrows the unattended-handoff skill's picker promotion STOP to a decision issue that states it blocks the open promotion, and narrows a resuming worker to follow only the decision its lane waits on, not a lesson issue the same parking comment names.

Changes:

  • Add mask_narrative to scripts/pr_review.py (explicit-stack <details> walk) and route label vetting through it, with ten new regression tests.
  • Narrow the unattended-handoff picker's promotion STOP and the worker/parking decision-vs-lesson handling in the skill source.
  • Regenerate the .github/skills/ and .claude-plugin/fleet-skills/ copies and the source digest from the authored .agents/skills/ source.
File Description
scripts/​pr_review.py Adds NARRATIVE_SUMMARY constant and mask_narrative; unrecognized_in now vets labels over the masked body so narrative bullets are not read as metadata labels.
tests/​test_pr_review.py Adds a narrated() helper and ten tests covering narrative skip, nested blocks, deep nesting, and body-order reporting.
.agents/​skills/​unattended-handoff/​SKILL.md Source: narrows the picker promotion STOP, the worker decision read, and the parking comment wording.
.github/​skills/​unattended-handoff/​SKILL.md Generated mirror of the source change (verified byte-identical).
.claude-plugin/​fleet-skills/​skills/​unattended-handoff/​SKILL.md Generated mirror of the source change (verified byte-identical).
.claude-plugin/​fleet-skills/​.source-digests/​unattended-handoff Updated digest; verified to match the authored source tree.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727
ptr727 merged commit 849e8fa into main Oct 1, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants