Skip to content

Fix Adjacent Docs and Review Tails in the Open Pull Request Instead of Filing Issues - #3846

Merged
ptr727 merged 12 commits into
developfrom
feature/burndown-fix-adjacencies-in-pr
Nov 3, 2026
Merged

ptr727 merged 12 commits into
developfrom
feature/burndown-fix-adjacencies-in-pr

Conversation

@ptr727

@ptr727 ptr727 commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

Until now, filing an issue was always an acceptable way to dispose of a finding. backlog-burndown's file claim and its prose bound ("the next issue, filed") made filing the required route for a doc describing a group's own change. This PR closes those routes. A fix that can land in the pull request already open now lands there. Filing is kept for work that really needs its own lane.

  • pr-review-conduct, outcome 4 (drive-pr carries it as an include):
    • An introduced finding is never filed.
    • An edge case on new code is fixed where its deployment can produce the input. Otherwise it is declined under Trust Boundaries.
    • A pre-existing correctness defect in a file the diff touches is fixed in this PR, within the same two-round budget. This uses the same file grain as the class sweep, and Merge Gate item 3 excepts these defects from the canonical tracker.
    • Only a pre-existing correctness defect in code that runs, elsewhere, is filed.
    • An edge case on new code follows Trust Boundaries' whole fix-or-decline test.
    • The open-ended "Any other deferral is filed" catch-all is gone. The only filings left are a design finding's untouched-file sites (one issue, per "Triaging findings") and a fix belonging to another repository.
  • GOVERNANCE.md, Verification Discipline (agent-conduct carries it as an include): the doc, manifest entry, or rule sentence describing changed behavior is a sibling the change put in disagreement. It is fixed in the change, not filed.
  • backlog-burndown:
  • local-strict-review: the reviewer brief stops asking for wording, style, or consolidation remarks on text the diff did not write. Those were dropped anyway, so this only cuts output and disposal tokens.

Maintainer decisions, 2026-11-02:

  • Lever 1: agreed.
  • Lever 2: file only code that runs.
  • In-file pre-existing defects: fix them in the PR.
  • Lever 3: rejected.

Open introduced findings (loop stopped by the maintainer)

There were twelve recorded local passes at the frontier tier, raising 10, 9, 8, 6, 3, 3, 5, 4, 4, 2, 6, and 3 findings. Nearly every finding was against text an earlier round had written. Of pass 11's six findings, 1 to 5 were fixed in d70a96e. Finding 6, which asked to revive the automatic re-tier, is declined: that hand-off drew new findings in every round, so it was replaced on purpose with the existing stop for the maintainer. By the maintainer's call, the last pass's findings get no further edit round. On 2026-11-02 the maintainer accepted both as known gaps (outcome 3):

  1. introduced, backlog-burndown "Choosing the Worker's Model Tier": the tier-stop paragraph's "claim comment is extended first" does not repeat re-verify's limit to a file no branch holds. Read alone, it could extend a claim over a file another group holds.
  2. introduced, pr-review-conduct outcome 4, last bullet: where the other repository's fix goes to the maintainer, no upstream issue exists for the local blocker record to name.

Pre-existing findings, not filed

  • pre-existing, local-strict-review "The Carried-Content Sweep" with pr-review-conduct outcome 4: a sweep pass's findings are on units the sweep branch has not edited yet, so they route to the per-unit tracker rather than to a fix.
  • pre-existing, pr-review-conduct outcome 1 and "Triaging findings": the untouched-file sites of a design finding are routed two ways. One route files them as one issue, and the other drops them as a consolidation on untouched text.

Replay of the 25 issues the run filed

Category Issues Under these rules
Adjacent doc outside the claim #3804, #3805, #3808, #3810, #3817, #3820, #3837 Fixed in the originating PR through the predicted or granted claim. #3810 is a consolidation and #3817 is dead code, so each is fixed if in a touched file and otherwise dropped or listed
Old defect next to the diff #3813, #3821, #3824, #3825, #3833, #3834, #3841, #3844 Fixed where it sits in a touched file or unit. Still filed only if it is code that runs elsewhere, which is about #3821, #3824, and #3841. #3833 keeps its canonical tracker
Edge case past the done-definition #3806, #3827, #3830, #3840, #3842 introduced, so fixed in the PR or declined. #3830 is a contradiction the fix wrote and is never filed
Decision #3812, #3814, #3815, #3826 Unchanged, still decision issues

Expected result for the same run: about 7 issues filed instead of 25.

Closes on promotion: #3845

Verification

  • scripts/build_dist.py --check: generated distributions are current.
  • prose_lint.py --diff origin/develop: clean.
  • spec/validate.py: OK.
  • repo_gate.py --check eol: 0 issues.
  • Docker markdownlint and cspell: 0 issues.
  • local-strict-review: twelve passes recorded at the frontier tier. The receipt covers the pushed head.

🤖 Generated with Claude Code

ptr727 and others added 3 commits November 2, 2026 18:59
…f Filing Issues

A finding could always be disposed of by filing an issue, and backlog-burndown's
file claim and prose bound made filing the required route for an adjacent doc.
One away run filed 25 issues while closing 32.

- pr-review-conduct outcome 4: an introduced finding is never filed, an edge
  case on new code is fixed or declined, a pre-existing correctness defect in a
  touched file (or touched canonical unit) is fixed here, and only one in code
  that runs elsewhere is filed. The open-ended deferral catch-all is gone.
- GOVERNANCE.md Verification Discipline: the doc describing changed behavior is
  a sibling the change put in disagreement, fixed rather than filed.
- backlog-burndown: claims predict describing docs, a grown claim into a free
  file is granted at once and a held one is sequenced, the prose bound admits
  units the change put in disagreement, growth into frontier content re-tiers
  the group, and hub workers read develop's copy of a skill develop changed.
- local-strict-review: the reviewer stops reporting wording remarks on text the
  diff did not write.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Merge Gate item 3 names the tracker bullet rather than the first bullet,
  and excepts a correctness defect in a touched file.
- Outcome 4's in-file fix reaches the file, as the class sweep does, and an
  edge case follows Trust Boundaries' whole test. A design finding's
  untouched sites stay the one filing an introduced finding leads to.
- backlog-burndown: a held describing doc never becomes an issue, a mutual
  wait is a conflict, an unclaimed branch holding the file stops for the
  maintainer, a clone worker pushes before a re-tier, and the skill-diff
  listing skips deleted paths.
- local-strict-review's brief states a true reason for its scope.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ited Claims

- Outcome 4 names both remaining filings an introduced finding can lead to,
  takes the fix where Trust Boundaries allows a fix or an issue, and keeps the
  in-file fix off a promotion pull request and a carrier's verbatim unit.
- local-strict-review owes a round for an in-file pre-existing fix and lets
  the reviewer name a design finding's untouched sites.
- backlog-burndown records an awaited file on the claim comment, admits an
  in-file pre-existing fix to a prose group, and reads changed skills from
  origin/develop rather than the worker's own branch.

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

ptr727 commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

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

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

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

Run configuration
  • 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

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

…alifying It

- A held describing doc goes through the existing conflict adjudication,
  the loser parking rather than narrowing, in place of a separate
  wait-and-await path.
- A hub worker reads every fleet skill it invokes from origin/develop at
  invocation, in place of a diff-computed list that went stale mid-run.
- GOVERNANCE.md's round rule and local-strict-review owe a round for an
  in-place fix, and a spent budget routes a pre-existing one to its
  recorded outcome.
- The in-file fix excludes a carrier's canonical units and promotion pull
  requests in both places that state it, and names its skill sections.

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

codecov Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.29%. Comparing base (436c79e) to head (d70a96e).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #3846   +/-   ##
========================================
  Coverage    83.29%   83.29%           
========================================
  Files           29       29           
  Lines         9933     9933           
========================================
  Hits          8274     8274           
  Misses        1659     1659           
Flag Coverage Δ
python-3.13 83.29% <ø> (ø)

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.

🟡 Changes recommended

Active review findings remain in the sequencing, worker handoff, repository-ownership, reference-qualification, and verification-budget guidance, so the change needs corrections before approval.

7 open issues
What changed in this PR

This pull request updates fleet review and backlog procedures so adjacent documentation, in-file defects, and review-tail findings are handled within the existing pull request when appropriate. It synchronizes canonical skill sources with the generated GitHub and Claude distributions.

Changes:

  • Refines finding dispositions, issue-filing limits, and round-budget guidance.
  • Expands backlog claims to cover behavior documentation, held files, skill refreshes, and worker re-tiering.
  • Regenerates distributed skill copies and source digests.
File Description
GOVERNANCE.md Clarifies that documentation describing changed behavior is fixed with the change.
.github/​skills/​pr-review-conduct/​SKILL.md Updates review-finding disposition rules.
.github/​skills/​local-strict-review/​SKILL.md Narrows findings for untouched text and updates round-budget guidance.
.github/​skills/​drive-pr/​SKILL.md Carries revised finding-disposition rules into PR driving.
.github/​skills/​backlog-burndown/​SKILL.md Updates claims, sequencing, worker briefs, and re-tiering rules.
.github/​skills/​agent-conduct/​SKILL.md Carries the governance clarification into agent conduct.
.claude-plugin/​fleet-skills/​skills/​pr-review-conduct/​SKILL.md Generated Claude distribution of review-finding rules.
.claude-plugin/​fleet-skills/​skills/​local-strict-review/​SKILL.md Generated Claude distribution of local-review rules.
.claude-plugin/​fleet-skills/​skills/​drive-pr/​SKILL.md Generated Claude distribution of PR-driving rules.
.claude-plugin/​fleet-skills/​skills/​backlog-burndown/​SKILL.md Generated Claude distribution of backlog procedures.
.claude-plugin/​fleet-skills/​skills/​agent-conduct/​SKILL.md Generated Claude distribution of agent-conduct rules.
.claude-plugin/​fleet-skills/​.source-digests/​pr-review-conduct Updates the generated review skill digest.
.claude-plugin/​fleet-skills/​.source-digests/​local-strict-review Updates the generated local-review skill digest.
.claude-plugin/​fleet-skills/​.source-digests/​drive-pr Updates the generated PR-driving skill digest.
.claude-plugin/​fleet-skills/​.source-digests/​backlog-burndown Updates the generated backlog skill digest.
.claude-plugin/​fleet-skills/​.source-digests/​agent-conduct Updates the generated agent-conduct skill digest.
.agents/​skills/​pr-review-conduct/​SKILL.md Canonical source for review-finding disposition rules.
.agents/​skills/​local-strict-review/​SKILL.md Canonical source for local-review scope and round handling.
.agents/​skills/​drive-pr/​SKILL.md Canonical source for PR-driving behavior.
.agents/​skills/​backlog-burndown/​SKILL.md Canonical source for backlog grouping and worker procedures.
.agents/​skills/​agent-conduct/​SKILL.md Canonical source carrying the governance clarification.

This pull request is too complex or risky for automated approval.

Review effort: Lite

Comment thread GOVERNANCE.md Resolved
ptr727 and others added 2 commits November 2, 2026 19:26
…unnable

- Only a local pass's in-file pre-existing defect is fixed in the pull
  request, so a hosted round never owes a push for one.
- The tier test runs before a grown claim is granted. The re-tier fires on
  carried canonical content, the property a grant can see. The outgoing
  worker pushes after its pass, so the frontier worker's attach can fetch.
- The develop-skill read covers linked reference files and states a true
  reason for itself.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Merge Gate item 3 covers PR-hosted findings, which outcome 4 now routes
  to the tracker, so its in-file exception sentence is deleted.
- Any grown set failing the tier test under a worker below frontier
  re-tiers the group, and the claim is extended when the re-tier is decided.

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

ptr727 commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

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

ptr727 and others added 2 commits November 2, 2026 19:39
…cency

- The in-file pre-existing fix applies only to what a pass before the
  opening push raises, so later pushes never owe one and the loop closes.
- A grown claim is extended at once, and the tier test then decides
  whether the worker continues or the group re-tiers.
- The parking loser and the worker brief name the doc, manifest entry, or
  rule sentence, matching GOVERNANCE.md.

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

- Outcome 4 says an introduced finding leads to an issue only where
  Triaging findings or its last bullet says so, and the cross-repo bullet
  keeps the local blocker record GOVERNANCE.md requires.
- "A pass after the opening push" replaces an unanchored "later".
- The describing-text rule is bounded to this repository, and the brief
  names the stop-for-maintainer outcome.
- The re-tiering worker hands its pass's findings to the frontier worker,
  and a passing tier test still yields to the agent-safety hold.

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

ptr727 commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

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

ptr727 and others added 2 commits November 2, 2026 19:53
The re-tier hand-off drew new findings in every review round. A grown set
failing the tier test now stops the group for the maintainer, its claim
extended first, which reuses the existing stop rather than adding a
mechanism. Two losers parked on each other are both stopped.

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

- A prose group's in-file reach follows outcome 4's first bullet rather
  than standing unconditional.
- A fix for another repository is filed there only where the write rules
  allow it, and goes to the maintainer otherwise.
- Any cycle of parked losers stops for the maintainer, not only a pair.

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

ptr727 commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

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

…estrator Too

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

ptr727 commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

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

- The develop-read bullet drops its claim that both seats follow one
  version.
- Re-verify checks an unclaimed branch before treating the file as free.
- A prose group's in-file reach names outcome 1's class sweep as well.
- AGENTS.md says a round's reviews can file new issues.
- A fix for another repository is filed there only where the session's own
  scope also allows that write.

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

ptr727 commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

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

@ptr727
ptr727 merged commit a5f318e into develop Nov 3, 2026
13 checks passed
@ptr727
ptr727 deleted the feature/burndown-fix-adjacencies-in-pr branch November 3, 2026 04:38
ptr727 added a commit that referenced this pull request Nov 3, 2026
…rge on a Running Hosted Review, and Gate Skill Description Length (#3843)

Promotes the changes merged into `develop` since promotion #3797 to
`main`, the end of an away-mode backlog burndown.

- [#3803](#3803) exempts
the Roslyn embedded-language marker (`// lang=json`, `language=`) from
the prose gate's comment rules as a tool directive.
- [#3807](#3807) has
`local_review.py record` take `--report`, the file the reviewer wrote,
bind the pass to its sha256, and derive the finding count from it.
`status` gains `reportPath`.
- [#3809](#3809) holds
`pr_review.py merge` while a hosted review is still running on the head,
and routes a declined Qodo finding to a dismiss request.
- [#3811](#3811) dates an
anchored `intentRef` by the section its anchor names, and lets a
`driftNote` acknowledge a verified intent advisory.
- [#3816](#3816) moves the
null GraphQL node check into the shared `gh_graphql` transport as
`NullNodeError`.
- [#3818](#3818) explains
the workspace-edit default in `GOVERNANCE.md` and names the aggregator's
expression form.
- [#3822](#3822) moves the
abandon discard to the `backlog-burndown` orchestrator, aligns the
abandoned-branch delete, and holds a grown agent-safety set.
- [#3823](#3823) scopes
the Husky prose gate to staged paths and adds `--skip-generated` so a
named file inside a generated tree is skipped.
- [#3828](#3828) reads
Copilot's `Open findings:` label, drops the duplicate `null_node`, and
matches `scripts/README.md` to the Merge Gate.
- [#3829](#3829) bumps the
two stale hub caller snippet pins and documents the fallback's
mixed-pair refusal.
- [#3831](#3831) keeps an
inherited `GIT_DIR` from rerooting the prose gate's subdirectory git
reads.
- [#3832](#3832) gives
`backlog-burndown` a disposition for a worker's standalone clone and
keeps the agent-safety hold past a park.
- [#3835](#3835) makes
`carry.py check-sections` refuse what `apply-sections` would, and name
an open fence.
- [#3836](#3836) pins the
reusable-workflow stubs by placeholder and ticks the PlexCleaner gates
item.
- [#3838](#3838) has the
`runtime-secrets` audit dimension detect a bare `secrets/` directory
from the tracked files that name it.
- [#3839](#3839) gates
skill descriptions at the 1024-character limit and trims every one over
it.
- [#3846](#3846) fixes an
adjacent doc, an in-file pre-existing defect, and an edge case on new
code in the open pull request instead of filing an issue for each, and
keeps filing for code that runs elsewhere.
- [#3847](#3847) refuses
skill frontmatter that parses to a list or a scalar, so the description
length gate cannot be bypassed.

Fixes #3770
Fixes #3699
Fixes #3705
Fixes #3789
Fixes #1819
Fixes #727
Fixes #3710
Fixes #3706
Fixes #3623
Fixes #3687
Fixes #3617
Fixes #3757
Fixes #3790
Fixes #3786
Fixes #3785
Fixes #3772
Fixes #1657
Fixes #3443
Fixes #3824
Fixes #3817
Fixes #3805
Fixes #1666
Fixes #3700
Fixes #3821
Fixes #3771
Fixes #3794
Fixes #3825
Fixes #3690
Fixes #1472
Fixes #3813
Fixes #3719
Fixes #1592
Fixes #3845

🤖 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