Repository navigation
feat(planning): restate every open item in full when async work lands mid-round - #11888
melodic-automation-lanes[bot] wants to merge 1 commit into
Conversation
Lane-Activity: work-resolve-issue/resolve-issue
|
Unattended merge: native auto-merge leaves this pull request unarmed at head |
|
claude-security-review reviewed Security review: PR #11888I found no security issues. critical-findings: 0 Scope. I read every hunk of all 14 changed files in
None of them matches a listed trusted-path glob. Instruction-surface lens. One standing instruction is replaced:
The new eval case 43 and the rewritten case 25 both still require that no row is recorded as answered without the user. The re-pinned digests in PR context. The description and the issue comments hold no text telling the lane to pass the PR, skip a check, or drop a finding. Spend. Small token spend only: a full restate makes interview, research and fanout messages after an async return somewhat longer. It needs no hold. |
| unchanged in one line. When the evidence is dispatched work that returned while open items wait on | ||
| the user, [async-round-presentation](../async-round-presentation/README.md) governs instead: the | ||
| message ends with every open item in full, the moved one marked. A pending recommendation the |
There was a problem hiding this comment.
This bumps the contract's re-emit shape to 3.0.0, but the plugin copies still give the old shape, so the shipped planning plugin contradicts itself.
This section's own "Plugin-shipped copies" rule (L118-125) says each adopting plugin must state the re-emit shape in its own shipped text, because installed plugins cannot read docs/. The canonical copy plugins/discipline/context/recommendation-basis.md and its 11 byte-identical copies were not updated. For example, plugins/planning/context/recommendation-basis.md:34-36 still says:
When evidence changes a pending recommendation, restate it as old → new → why … name the unchanged ones in one line.
It has no exception for dispatched work. /planning:interview points at that shipped copy as "the contract this plugin ships" (SKILL.md:205, and SKILL.md:201 for re-emitting). In-flight lookups are exactly the dispatched work that now needs a full restate, so the interview's two rules disagree: loop.md says restate every open row in full, the shipped contract says one line. The new 3.0.0 CHANGELOG entry admits the copies are stale. The drift check (check-cross-plugin-source-drift.sh) only compares the copies with each other, so CI will not catch this.
Fix: add the dispatched-work exception (with its absolute-URL pointer to async-round-presentation) to plugins/discipline/context/recommendation-basis.md and sync the copies listed in scripts/cross-plugin-source-registry.txt. Or, if this is a deliberate follow-up, track it in an issue and drop "have not yet been updated" from a released major entry.
claude-lane: claude-review
There was a problem hiding this comment.
pr-unblock / address-feedback: UNCERTAIN, left open
Evidence: docs/contracts/recommendation-basis/README.md:100, plugins/discipline/context/recommendation-basis.md:34, plugins/planning/context/recommendation-basis.md:34, docs/contracts/recommendation-basis/CHANGELOG.md:13
The finding is accurate. The contract's re-emit section now hands dispatched work to async-round-presentation (README.md:100-103), and the CHANGELOG 3.0.0 entry calls that a re-emit shape change and says the plugin-shipped copies have not yet been updated (CHANGELOG.md:13-14). The canonical copy plugins/discipline/context/recommendation-basis.md:34-36 and its byte-identical copies in 12 other plugins (architecture, code-tidying, debugging, developer-experience, github, harness-ops, naming, planning, session-flow, source-control, user-experience, work-items) still give the one-line form with no dispatched-work exception. The README's own Plugin-shipped copies rule (README.md:120-125) requires the re-emit shape in each copy. The fix is to add the exception, with an absolute-URL pointer to async-round-presentation, to the canonical copy and sync all 13 files. This lane's path check refused every one of those 13 files as outside this thread's scope, so I made no edit. The other option the reviewer offers, filing a follow-up issue and rewording the CHANGELOG entry, needs a tracker item, which this lane cannot file. Left open for a person to choose between syncing the copies in this PR and deferring to a tracked issue.
There was a problem hiding this comment.
pr-unblock / adjudicate-feedback: the finding stands
A fresh-context adjudicator read the review comment, the locations both sides cited and the code at eb440e4fa82f69611fcdb06fc4721389775b6b1b, without the fixing lane's reasoning, and found that the finding holds. The next address-feedback round fixes it; a round that leaves this thread open again ends the lane in a failing status.
Evidence: docs/contracts/recommendation-basis/README.md:100, plugins/discipline/context/recommendation-basis.md:34, plugins/planning/context/recommendation-basis.md:34, docs/contracts/recommendation-basis/CHANGELOG.md:13
There was a problem hiding this comment.
pr-fix lane: please fix this finding. Add the dispatched-work exception, with its absolute-URL pointer to docs/contracts/async-round-presentation/README.md, to plugins/discipline/context/recommendation-basis.md (re-emit text at lines 34-36), and sync every byte-identical copy listed in scripts/cross-plugin-source-registry.txt in this PR. Then drop "have not yet been updated" from the 3.0.0 entry in docs/contracts/recommendation-basis/CHANGELOG.md.
There was a problem hiding this comment.
pr-unblock / address-feedback: UNCERTAIN, left open
Evidence: plugins/discipline/context/recommendation-basis.md:34, plugins/planning/context/recommendation-basis.md:34, docs/contracts/recommendation-basis/README.md:100, docs/contracts/recommendation-basis/CHANGELOG.md:13, scripts/cross-plugin-source-registry.txt:123
The direction asks for three edits. First, add the dispatched-work exception, with an absolute-URL pointer to the async-round-presentation contract, to the re-emit text of the canonical copy plugins/discipline/context/recommendation-basis.md (lines 34-36). Second, sync the byte-identical copies registered at scripts/cross-plugin-source-registry.txt:123: architecture, code-tidying, debugging, developer-experience, github, harness-ops, naming, planning, session-flow, source-control, user-experience and work-items. Third, drop 'have not yet been updated' from the 3.0.0 CHANGELOG entry. The finding still holds at this head: the canonical copy and the 12 others still state only the one-line form, and README.md:100-103 now hands dispatched work to async-round-presentation. This lane's path check refused all 13 context/recommendation-basis.md files as outside the kept thread's scope. Those files are not among the pull request's changed files, and the fix request did not add them as named paths. Only the CHANGELOG is in scope, and editing it alone would claim the copies were updated when they were not, so I made no edit. This needs either a person to make the 13-file sync in this PR, or the copies added to the PR's changed files (for example by pushing the canonical edit) so that a later round can sync the rest.
|
claude-review reviewed Code review: PR #11888 (async round presentation)I read all 14 changed files in The PR replaces the interview's "Re-present narrowly" rule with a full restate in Findings
Closing issue #8466: acceptance criteria
Other
|
|
pr-unblock / address-feedback finished round 1 of max 4 on eb440e4. |
|
The pr-unblock lane stopped on this pull request and needs a person: an adjudicator found that a disputed review finding turns on what the change is meant to do, which a person decides.
To resume, deal with the reason above, remove the gh workflow run pr-unblock.yml -R melodic-software/claude-code-plugins -f pr-number=11888 -f activity=address-feedback |
|
The unattended merge path armed native auto-merge at head |
|
pr-unblock / address-feedback finished round 2 of max 4 on eb440e4. |
|
The pr-unblock lane stopped
When a retry on this head can change the outcome, the lane runs one on its own, up to its per-head cap, and edits this comment if it stops again; a run that does not stop clears the status. When no retry can (a review thread the lane does not take or settle, or a failing check after the retries are spent), a person resolves the threads or gets the checks green, then dispatches the workflow below: that run finds the cause gone and clears the status. On a pull request the lanes App opened, the dispatchers start that run once per stop; on any other, a person does. A new commit to the branch starts clean. To run it again on this head now, dispatch the gh workflow run pr-unblock.yml -R melodic-software/claude-code-plugins -f pr-number=11888 -f activity=address-feedback |
|
Hold: replaced by an owner-login PR because the fix lane cannot edit the registered copies the open finding needs. Releases when: the replacement merges and this PR is closed. |
|
Superseded by #11913, which carries this change plus the recommendation-basis copy fix the lane could not make. |
Closes #8466
Summary
Opened by the work-resolve-issue lane. The run's own summary:
Not verified
Fix
Verification
The runner ran each check from the base copy against eb440e4:
The run reports:
Left out: the items under Not verified.
Related
#8466