Repository navigation
Description
Problem
Every pull request the code-tidying upkeep batch opens (#12674) stalls. pr-verify judges a pull request only against the spec text of its linked issues (docs/conventions/pr-pipeline/README.md:726-727, resolve-pr.mjs linkedIssues). The batch writes No related issue: code-tidying upkeep sweep. as each body's first line, so pr-verify has nothing to judge against and fails the head.
Seen on the first live run (https://github.com/melodic-software/claude-code-plugins/actions/runs/41588965297), which opened #12763, #12764 and #12765:
- pr-verify failed each head with a fail note that begins "has no spec to judge against. It closes no issue and has no
Refs:" (refactor(autonomy): sort setup script imports and collapse a wrapped ternary #12764). - address-feedback ran two rounds and left the threads open, so pr-unblock stopped with
feedback-untaken-threadsand addedneeds-sessionanddo-not-merge. - A session replaced all three with owner-login PRs (refactor(autonomy): sort setup script imports and collapse a wrapped ternary #12791, refactor(visualization): route check-deck's K2 refusal through its local-result helper #12806, refactor(plugin-quality): fold repeated resets and patterns in the audit collectors #12811).
upkeep_max_open is 3, so these three fill the cap and the daily batch opens nothing new until a session clears them by hand. Every later batch will stall the same way.
Options
- The batch links a standing spec issue: an open, agent-ready issue whose body holds the upkeep sweep contract (structure-only edits, Beck's tidyings, behaviour unchanged, hook-wired files left alone). Each PR body opens
Refs: #<that issue>. Nothing in pr-verify changes. - pr-verify reads a spec from a tracked convention file when the PR is lanes-App-authored on a
chore/tidy-adhoc-*branch. This adds a second spec source to pr-verify. - pr-verify skips upkeep PRs. This drops the only check that the tidy left behaviour unchanged.
Recommended: 1. Basis: it uses the spec path pr-verify already has (linkedIssues), with no new mechanism. #9294 made pr-verify judge a Refs-linked lane PR against its issue.
Done when
- The upkeep batch's PR body links a spec that pr-verify reads, and pr-verify passes or fails an upkeep PR on its content, not with "no spec".
- One live upkeep run's PR reaches the merge queue through pr-merge without a session.
Metadata
Metadata
Assignees
Labels
Type
Fields
Work status
Activity
github-actions commentedon Nov 3, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Small
Complexity: Low
Uncertainty: Known
Flags: none
Blocked by: none
Understood: upkeep batch PRs open with "No related issue" and no
Refs:, so pr-verify has no spec and fails them. The three open PRs fillupkeep_max_open, so the daily batch stalls. The issue picks option 1: link a standing spec issue withRefs: #Nin each PR body. No duplicates found among open issues. The live-run done-when item can't be checked in this lane; the batch change itself can.Automated triage, applied by the lanes App.
melodic-automation-lanes commentedon Nov 3, 2026
Not admitted to the issue lane yet: no trusted-human acceptance criteria: a listed human must put the confirmed
- [ ]criteria in the body or post them as their own comment, or, on an issue a listed human filed, intake's newest refinement comment must hold them unedited; intake's refinement of this body is due and may supply them.melodic-automation-lanes commentedon Nov 3, 2026
Refinement. A read-only run explored this repository, searched its issues and pull requests, and read the allowed docs to draft what follows. On an issue a listed human filed, it counts as the issue's spec once posted, while unedited; it is still model text, so check it.
Intended outcome: The upkeep batch writes
Refs: #Nof a standing spec issue as each PR body's first line, so pr-verify judges upkeep PRs against that spec instead of failing with no spec.Related work
Open questions
RECOMMENDED: The owner opens one issue holding the sweep contract (structure-only edits, Beck's tidyings, behaviour unchanged, hook-wired files left alone) and records its number in a Decision recorded comment. Basis: judgment
RECOMMENDED: Add an upkeep_spec_issue setting to docs/conventions/code-tidying.yaml, with schema and reference/config.md entries, read by upkeep.mjs and passed to promptText. Basis: .base/.github/scripts/maintenance-tidy-code-upkeep/batch.mjs:74
RECOMMENDED: Have validatePlan or the publish step require or prepend
Refs: #Nas the first line, so a model slip cannot repeat the stall. Basis: .base/.github/scripts/maintenance-tidy-code-upkeep/batch.mjs:108RECOMMENDED: Yes: keep the code change as the checkable scope and treat the live run as a person's check. Basis: judgment
Sources read
No related issue: code-tidying upkeep sweep.To answer, post a comment that starts with this line:
Automated refinement by the lanes App. Answer with a comment whose first line is
**Decision recorded.**.