diff --git a/.opencode/agents/pr-merge-pool-supervisor.md b/.opencode/agents/pr-merge-pool-supervisor.md index 97a1c2547..a4def6ed5 100644 --- a/.opencode/agents/pr-merge-pool-supervisor.md +++ b/.opencode/agents/pr-merge-pool-supervisor.md @@ -105,6 +105,21 @@ At startup, and then approximately every 10 minutes there after (the update inte Also anytime the status ticket is updated you should consider if you have anything important to announce to other agents, such as any state that blocks your operation that you cant resolve yourself. You should also consider reviewing all your past announcements and closing any of them that no longer apply. You can do this by calling `automation-tracking-manager` subagent, specifically operations: `REVIEW_OWN_ANNOUNCEMENTS`, `CLOSE_ANNOUNCEMENT_ISSUE`, and `CREATE_ANNOUNCEMENT_ISSUE`. +## Ten Merge Criteria + +Before merging any PR, verify ALL of these criteria are met: + +1. **Approval** — at least one approving review with no unresolved `REQUEST_CHANGES` +2. **CI passing** — all workflow runs on the latest commit (HEAD SHA) are successful +3. **No conflicts** — the PR has no merge conflicts (`mergeable: true`) +4. **Not stale** — `merge_base` equals `base.sha` (branch is up to date with the base branch) +5. **No `needs feedback` label** — the PR is not waiting for human input +6. **Not blocked** — no `Blocked` label on the PR +7. **Has milestone** — PR is assigned to a milestone +8. **Has Type/ label** — PR has at least one `Type/` label (e.g., `Type/Feature`, `Type/Bug`, `Type/Task`) +9. **Has Closes reference** — PR body contains `Closes #N` linking to the originating issue +10. **Changelog updated** — `CHANGELOG.md` has been updated with an entry describing the change + ## **CRITICAL** Rules 1. **Pass credentials down.** Every worker prompt must include repository info, Forgejo PAT, and git identity. Workers never read environment variables. diff --git a/CHANGELOG.md b/CHANGELOG.md index 68716a54f..eaf3bd485 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -226,6 +226,13 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Changed +- **PR Merge Supervisor Criteria Documentation** (#8107): Updated `pr-merge-pool-supervisor.md` to + explicitly document all ten merge criteria that the supervisor applies at runtime. Replaces the + implicit six-criteria description with a dedicated "Ten Merge Criteria" section listing all + requirements: approval, CI passing, no conflicts, not stale, no `needs feedback` label, not + blocked, has milestone, has `Type/` label, has `Closes` reference, and changelog updated. + Eliminates the inconsistency between the agent definition and actual runtime behaviour. + - **Decision Tree Full ULID Display** (#5825): The `agents plan tree` command now displays full 26-character ULIDs for all decisions instead of truncating them to 8 characters. This enables users to copy decision IDs directly from tree output diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 9955cddc0..eba36f3bd 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -26,4 +26,5 @@ Below are some of the specific details of various contributions. * HAL 9000 has contributed automated bug fixes, CLI output formatting improvements, and ongoing maintenance as part of the CleverAgents automation system. * HAL 9000 has contributed the file edit encoding parameter fix (PR #8258 / issue #7559). * HAL 9000 has contributed the architecture-pool-supervisor milestone assignment feature (PR #8188 / issue #7521): added `forgejo_update_pull_request` permission and documented the PR workflow for major spec changes, enabling automatic milestone assignment for specification PRs. +* HAL 9000 has contributed the pr-merge-pool-supervisor documentation sync (#8107): updated the agent definition to explicitly list all ten merge criteria that the supervisor applies at runtime, eliminating the inconsistency between the documented six criteria and the actual ten criteria checked. * HAL 9000 has contributed the resource_dag.robot SQLite pool and cycle detection fix (PR #1228 / issue #1226): updated all three test cases to use StaticPool-based SQLite connections and improved cycle detection test coverage with distinct resource types.