feat(agents): add mandatory PR compliance checklist to implementation-pool-supervisor
CI / push-validation (pull_request) Successful in 27s
CI / helm (pull_request) Successful in 31s
CI / build (pull_request) Successful in 1m0s
CI / lint (pull_request) Successful in 1m9s
CI / quality (pull_request) Successful in 1m28s
CI / typecheck (pull_request) Successful in 1m34s
CI / security (pull_request) Successful in 1m33s
CI / benchmark-publish (pull_request) Has been skipped
CI / e2e_tests (pull_request) Successful in 4m11s
CI / integration_tests (pull_request) Successful in 7m25s
CI / unit_tests (pull_request) Successful in 10m29s
CI / docker (pull_request) Successful in 1m44s
CI / coverage (pull_request) Failing after 10m59s
CI / benchmark-regression (pull_request) Successful in 58m2s
CI / status-check (pull_request) Has been cancelled
CI / push-validation (pull_request) Successful in 27s
CI / helm (pull_request) Successful in 31s
CI / build (pull_request) Successful in 1m0s
CI / lint (pull_request) Successful in 1m9s
CI / quality (pull_request) Successful in 1m28s
CI / typecheck (pull_request) Successful in 1m34s
CI / security (pull_request) Successful in 1m33s
CI / benchmark-publish (pull_request) Has been skipped
CI / e2e_tests (pull_request) Successful in 4m11s
CI / integration_tests (pull_request) Successful in 7m25s
CI / unit_tests (pull_request) Successful in 10m29s
CI / docker (pull_request) Successful in 1m44s
CI / coverage (pull_request) Failing after 10m59s
CI / benchmark-regression (pull_request) Successful in 58m2s
CI / status-check (pull_request) Has been cancelled
Workers were systematically omitting CHANGELOG.md, CONTRIBUTORS.md, and commit footer (ISSUES CLOSED: #N), causing all PRs to be blocked from merge. Added a mandatory 8-item PR Compliance Checklist to implementation-pool-supervisor.md that supervisors must pass verbatim to every worker prompt. The checklist covers: 1. CHANGELOG.md update under [Unreleased] 2. CONTRIBUTORS.md update 3. Commit footer with ISSUES CLOSED: #N 4. CI verification (all quality gates green) 5. BDD/Behave test coverage 6. Epic reference in PR description 7. Labels applied via forgejo-label-manager 8. Milestone assignment Populated all subsections with concrete examples for workers to follow. Closes #9824
This commit is contained in:
@@ -107,6 +107,7 @@ Launch workers via the `async-agent-manager` subagent. For each worker:
|
||||
- The PR number or issue number
|
||||
- Repository info, credentials, and git identity
|
||||
- The CONTRIBUTING.md rules from your briefing (commit standards, testing, PR requirements)
|
||||
- The **PR Compliance Checklist** (see PR Compliance Checklist section below) — workers must complete all items before creating a PR
|
||||
- For PR fix workers: instruct the worker to use the `ci-log-fetcher` subagent to retrieve CI failure logs
|
||||
|
||||
### Worker Attempt Comments
|
||||
@@ -122,6 +123,104 @@ These comments are how you track escalation state across worker sessions.
|
||||
|
||||
Every cycle, search for your workers using `async-agent-manager` by tag pattern (`[AUTO-IMP-ISSUE-*]` and `[AUTO-IMP-PR-*]`). Count active workers, verify they're progressing (by reviewing their session messages via `async-agent-manager`), and note any that have completed or errored. Workers completing is normal — they finished their task. Restart any errors workers via `async-agent-manager`.
|
||||
|
||||
## PR Compliance Checklist
|
||||
|
||||
Every worker prompt you dispatch **must** include the following mandatory checklist verbatim under a section titled **"PR Compliance Checklist (MANDATORY)"**. Workers must complete **all** items before creating a PR and include the completed checklist in their PR description.
|
||||
|
||||
```
|
||||
MANDATORY — Complete ALL items before creating a PR:
|
||||
[ ] 1. CHANGELOG.md — add entry under [Unreleased] section
|
||||
[ ] 2. CONTRIBUTORS.md — add or update contribution entry
|
||||
[ ] 3. Commit footer — include `ISSUES CLOSED: #<issue-number>` in the commit message
|
||||
[ ] 4. CI passes — all quality gates and tests green before requesting review
|
||||
[ ] 5. BDD/Behave tests — added or updated for the changed behaviour
|
||||
[ ] 6. Epic reference — PR description references the parent Epic issue number
|
||||
[ ] 7. Labels — applied via forgejo-label-manager: State/In Review, Priority/<level>, MoSCoW/<level>, Type/<type>
|
||||
[ ] 8. Milestone — PR assigned to the earliest open milestone matching the issue
|
||||
```
|
||||
|
||||
### CHANGELOG.md Update
|
||||
|
||||
Workers must add an entry under the `[Unreleased]` section in `CHANGELOG.md`. Example:
|
||||
|
||||
```markdown
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- **My Feature** (#1234): Brief description of what was added and why.
|
||||
```
|
||||
|
||||
Or for a fix:
|
||||
|
||||
```markdown
|
||||
## [Unreleased]
|
||||
|
||||
### Fixed
|
||||
- **My Bug Fix** (#1234): Brief description of what was fixed and the root cause.
|
||||
```
|
||||
|
||||
### CONTRIBUTORS.md Update
|
||||
|
||||
Workers must add or update their entry in `CONTRIBUTORS.md`. Example:
|
||||
|
||||
```markdown
|
||||
# Contributors
|
||||
|
||||
* HAL 9000 <hal9000@cleverthis.com>
|
||||
|
||||
# Details
|
||||
|
||||
* HAL 9000 has contributed <description of contribution> (#<issue-number>).
|
||||
```
|
||||
|
||||
If HAL 9000 already appears in the list, add a new bullet under `# Details` describing this specific contribution.
|
||||
|
||||
### Commit Footer
|
||||
|
||||
Every commit that closes an issue must include the `ISSUES CLOSED` footer line. Example commit message:
|
||||
|
||||
```
|
||||
feat(module): add new capability for X
|
||||
|
||||
Implements the Y feature by doing Z. This resolves the problem described
|
||||
in issue #1234 where users could not perform the action.
|
||||
|
||||
ISSUES CLOSED: #1234
|
||||
```
|
||||
|
||||
The footer must be on its own line, separated from the body by a blank line, and must use the exact format `ISSUES CLOSED: #<issue-number>`.
|
||||
|
||||
### Compliance Verification Pseudocode
|
||||
|
||||
Before creating a PR, verify each checklist item:
|
||||
|
||||
```python
|
||||
# 1. CHANGELOG.md — check [Unreleased] section has new entry
|
||||
assert "[Unreleased]" in changelog and new_entry in changelog
|
||||
|
||||
# 2. CONTRIBUTORS.md — check HAL 9000 entry exists with this contribution
|
||||
assert "HAL 9000" in contributors and issue_reference in contributors
|
||||
|
||||
# 3. Commit footer — check last commit message contains ISSUES CLOSED footer
|
||||
assert f"ISSUES CLOSED: #{issue_number}" in git_log_last_commit
|
||||
|
||||
# 4. CI passes — run all quality gates locally before pushing
|
||||
# nox -e lint && nox -e typecheck && nox -e unit_tests
|
||||
# nox -e integration_tests && nox -e e2e_tests && nox -e coverage_report
|
||||
|
||||
# 5. BDD/Behave tests — check feature file exists or was updated
|
||||
assert behave_feature_file_exists_or_updated
|
||||
|
||||
# 6. Epic reference — check PR description mentions parent Epic
|
||||
assert f"Epic" in pr_description or epic_issue_number in pr_description
|
||||
|
||||
# 7. Labels — applied via forgejo-label-manager (not directly)
|
||||
# forgejo-label-manager: apply State/In Review, Priority/<level>, MoSCoW/<level>, Type/<type>
|
||||
|
||||
# 8. Milestone — PR assigned to earliest open milestone
|
||||
assert pr.milestone == earliest_open_milestone
|
||||
```
|
||||
|
||||
## Progressive Escalation
|
||||
|
||||
Workers start at the cheapest model tier and escalate to more expensive tiers only when the same problem persists across attempts. There are four tiers:
|
||||
|
||||
@@ -325,6 +325,18 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
`PlanError` if checkpoint metadata cannot be persisted. Writable sandboxable
|
||||
resources and write-capable tools now default to `checkpointable=True`, and
|
||||
new Behave scenarios cover DI wiring, rollback, and capability defaults. (#1253)
|
||||
|
||||
### Changed
|
||||
|
||||
- **Implementation Pool Supervisor PR Compliance Checklist** (#9824): Added a mandatory
|
||||
8-item PR Compliance Checklist to `implementation-pool-supervisor.md` that supervisors
|
||||
must pass verbatim to every worker prompt. Checklist covers: CHANGELOG.md update,
|
||||
CONTRIBUTORS.md update, commit footer (`ISSUES CLOSED: #N`), CI verification, BDD tests,
|
||||
Epic reference, label application via `forgejo-label-manager`, and milestone assignment.
|
||||
Populated the four subsections (`### CHANGELOG.md Update`, `### CONTRIBUTORS.md Update`,
|
||||
`### Commit Footer`, `### Compliance Verification Pseudocode`) with concrete examples
|
||||
to guide workers.
|
||||
|
||||
---
|
||||
|
||||
## [3.8.0] — 2026-04-05
|
||||
|
||||
@@ -20,3 +20,4 @@ Below are some of the specific details of various contributions.
|
||||
* This project was made possible thanks to considerable donation of time, money, and resources by CleverThis, Inc.
|
||||
* 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 mandatory PR compliance checklist to `implementation-pool-supervisor.md` (#9824): added an 8-item checklist with concrete examples for CHANGELOG.md, CONTRIBUTORS.md, commit footer, and compliance verification pseudocode to eliminate systemic PR merge blockers.
|
||||
|
||||
Reference in New Issue
Block a user