Fix JSON syntax errors in .devcontainer/devcontainer.json (removed
invalid JS-style // comments) and .devcontainer/opencode.json (removed
90+ trailing commas). Apply auto-fixes for end-of-file and trailing
whitespace issues across 100+ files. Fix SIM105 ruff violations in
benchmarks/core_circuit_breaker_bench.py (use contextlib.suppress).
Note: The security fix from issue #7478 (validate_path startswith bypass)
was already delivered to master in commit e18ac5f2. This PR as currently
structured is non-atomic (35 commits across 10+ issues) and needs
significant restructure before merge. This commit only addresses the
CI/pre-commit failures.
ISSUES CLOSED: #7478
Updated automation-tracking-manager.md to enforce mandatory labels on all tracking issues:
- Status tracking issues now require both 'Automation Tracking' and 'Priority/Medium' labels
- Announcement issues require both 'Automation Tracking' and a priority label
- Added critical rule #4 to enforce label application with failure handling
- Added comprehensive BDD tests to verify mandatory label application
ISSUES CLOSED: #3105
Added new continuous PR reviewer agent (ca-continuous-pr-reviewer) that prioritizes
pull requests based on their associated milestone. The agent:
- Fetches all milestones and open PRs
- Assigns priority scores based on milestone due date, MoSCoW labels, and PR age
- Sorts PRs by priority score (descending)
- Reviews PRs in milestone order, ensuring critical path items are reviewed first
Added comprehensive BDD feature tests for milestone-based prioritization scenarios:
- Prioritize PRs by milestone due date
- Prioritize by MoSCoW labels within milestone
- Use PR age as tie-breaker for same milestone/label
ISSUES CLOSED: #3111
- Resolve Forgejo label name to integer ID before PUT /issues/{n}/labels
(both create_uat_tracking_issue and create_uat_announcement_issue);
string names cause 422 / silent no-op, breaking the cleanup filter
- Add rm -rf /tmp/uat-tester-* and rm -rf /tmp/docs-* to bash allowlist
so worker clone cleanup can actually execute
- Replace multi-line python3 -c calls in Pool Supervisor with jq:
EXISTING_WORKERS lookup now uses jq ltrimstr/startswith filter;
SESSION_ID creation now uses jq -r '.id'
Worker Mode requires git clone, git config, git pull, git checkout,
git add, git commit, git push, and uv commands in bash. These were all
missing from the frontmatter permission block, causing every Worker Mode
instance to fail immediately with permission denied on the first command.
- Delete scripts/fix_uat_tester.py: one-off patch script with a
hardcoded /tmp path that no longer exists. Per CONTRIBUTING.md,
scripts/ is for ongoing-purpose utilities, not development artifacts.
- Remove update_examples_json() from create_documentation_pr(): each
per-PR call was modifying examples.json inside the git clone, causing
merge conflicts when parallel UAT workers created docs PRs
simultaneously. Option A from reviewer: move the call outside the PR
creation function entirely.
- Add batch update_examples_json(documented_examples) call after the
inner docs-PR creation loop completes, guarded by `if documented_examples`.
This runs once per cycle instead of once per PR, eliminating the
examples.json conflict surface for parallel workers.
- Expand CHANGELOG entry to reflect the examples.json fix.
ISSUES CLOSED: #4374
Fixed two critical bugs in the uat-tester agent's create_documentation_pr() function:
1. **Branch-existence guard bug**: Changed existing_branch.get('error') to existing_branch.get('errors') to correctly detect when a branch does not exist. The Forgejo API returns a JSON error body with an errors field (not error) when a branch is absent.
2. **Open-PR duplicate check bug**: Changed head={branch_name} to head={owner}:{branch_name} in the Forgejo API query. The API expects the owner prefix to properly filter PRs by head branch.
These fixes ensure parallel workers can safely coordinate without creating conflicting PRs.
Closes#4374
Add Step 0 to both first_review and re_review modes — posts a comment
on the PR immediately after parameter validation, before any reading
or cloning. Gives the PR author instant visibility that a review is
in progress.
CI flag mode is unchanged (too lightweight to warrant a notification).
ISSUES CLOSED: #11028
Add Step 2 (notification) to issue_impl and pr_fix procedures —
posts a comment on the issue/PR after reading it but before cloning,
giving authors instant visibility that implementation work has started.
Also update CHANGELOG.md with entry for #11031.
ISSUES CLOSED: #11031
Add a new implementation-pool-supervisor agent definition with an embedded
8-item PR Compliance Checklist. Workers dispatched by the pool supervisor
must complete all 8 items before creating any PR: 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. Includes concrete markdown examples for each
subsection and compliance verification pseudocode.
Also adds BDD test coverage (pr_compliance_pool_supervisor.feature + steps)
to verify the pool supervisor agent definition contains all 8 checklist items.
Parent Epic: #9779
ISSUES CLOSED: #9824
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 the worker prompt body
in implementation-supervisor.md that supervisors must pass to every worker.
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
Also removed @tdd_expected_fail tag from PlanContextInheritance test in
depth_breadth_projection.feature (bug #4198 is fixed).
Added BDD tests in features/pr_compliance_checklist.feature with 10 scenarios
covering all 8 checklist items.
ISSUES CLOSED: #9824
Expand the Duplicate Avoidance section from a 3-step placeholder into a
comprehensive 6-step process to prevent the 48+ duplicate TEST-INFRA issues
observed across 8 topic clusters.
Key additions:
- CRITICAL blockquote: when in doubt, skip
- Keyword extraction before filing
- Keyword-based search (open AND closed issues, not just TEST-INFRA: prefix)
- Semantic comparison with concrete examples
- Cross-agent prefix checking (TEST-INFRA:, BUG-HUNT:, UAT:)
- Post-filing verification with 5-second delay for race condition handling
- Duplicate Check audit section requirement in every filed issue body
ISSUES CLOSED: #2370
Replace fragile cycle-modulo health posting guard with timestamp-based
approach and state-change-only posting. The inner monitoring loop no
longer posts health comments — posting is gated by a 10-minute timer
OR meaningful state changes (worker completion, dispatch events).
Approved proposal: #3385
Pattern: workflow_fix
Evidence: Agent posted 44 of 52 session comments in 20 minutes, all
identical, drowning out other agent signals.
Fix: Timestamp-based health posting with state-change triggers.
Approved proposal: #3385
Pattern: workflow_fix
Evidence: Agent posted 44 of 52 comments in 20 minutes, drowning out all
other agent signals. The cycle % 60 guard was ambiguous and ignored by the
model.
Fix: Replace fragile modulo guard with explicit timestamp-based rate
limiting (10-minute minimum between health posts). Add prominent CRITICAL
warning about rate limiting. Clarify that health posting runs in the outer
loop, not the inner monitoring loop.
ISSUES CLOSED: #3385
Approved proposal: #3831
Pattern: permission_gap
Evidence: Bug-hunter worker mode requires cloning the repository to
analyze source code, but git clone/config/fetch/checkout/reset
permissions were missing from the bash permission list. Workers
were unable to clone the repo and therefore could not perform
any code analysis.
Fix: Add git clone*, git config*, git fetch*, git checkout*,
git reset*, mkdir *, and rm -rf * permissions to enable workers
to clone and clean up their isolated working directories.
ISSUES CLOSED: #3831
Add Ten Merge Criteria section to pr-merge-pool-supervisor.md documenting
all 10 criteria the supervisor checks at runtime. Previously only 6 criteria
were documented, creating inconsistency with actual runtime behaviour.
Also update CHANGELOG.md and CONTRIBUTORS.md.
Closes#8107
# Conflicts:
# CONTRIBUTORS.md
The implementation-worker has a PR fix mode that needs to read PR changes
to understand what is failing. However, it lacked forgejo_list_pull_request_files
and forgejo_get_pull_request_diff permissions, forcing it to clone the entire
repository just to inspect what files changed.
The pr-reviewer agent already has both permissions. This change aligns the
implementation-worker permissions with its actual usage patterns and reduces
unnecessary full-repo clones in PR fix mode.
Also adds curl, printenv, and echo bash permissions that were inadvertently
omitted from the permission block. These are needed for the agent to make
Forgejo API calls, check environment variables, and perform basic shell
operations.
ISSUES CLOSED: #8175
The implementation-worker has a PR fix mode that needs to read PR changes to understand what is failing. However, it lacked forgejo_list_pull_request_files and forgejo_get_pull_request_diff permissions, forcing it to clone the entire repository just to inspect what files changed.
The pr-reviewer agent already has both permissions. This change aligns the implementation-worker permissions with its actual usage patterns and reduces unnecessary full-repo clones in PR fix mode.
Also adds curl, printenv, and echo bash permissions that were inadvertently omitted from the permission block restructuring. These are needed for the agent to make Forgejo API calls, check environment variables, and perform basic shell operations.
ISSUES CLOSED: #8175
Added a concrete curl example showing how to query the earliest open milestone via the Forgejo API at PR creation time, and added the ISSUES CLOSED footer requirement to the PR compliance checklist in agent-evolution-worker.md. Also updated CHANGELOG.md to reflect these additions.
ISSUES CLOSED: #8370
Restore original permission structure and model configuration while adding
only the changes needed for issue #7521: forgejo_update_pull_request
permission and PR Workflow for Major Changes documentation section.
Fixes addressed:
- Restore flat permission format (was incorrectly restructured to nested)
- Restore model to claude-haiku-4-5 with reasoningEffort max
- Restore removed critical rules (6: label delegation, 7: pagination)
- Restore removed permission denials (*, doom_loop, question, etc.)
- Add CHANGELOG.md entry for this feature
- Restore CONTRIBUTORS.md to master (remove unrelated changes)
ISSUES CLOSED: #7521
# Conflicts:
# CONTRIBUTORS.md
Add milestone assignment step to the PR workflow for major specification changes.
The architecture-pool-supervisor agent now assigns created PRs to the current active
milestone using forgejo_update_pull_request, improving traceability and ensuring
spec PRs are properly tracked within project milestone planning.
Changes:
- Add 'PR Workflow for Major Changes' section to architecture-pool-supervisor.md
- Document milestone assignment using forgejo_update_pull_request
- Document milestone querying using forgejo_list_repo_milestones
- Add graceful error handling for missing active milestones
- Add support for multi-milestone spec PRs (use earliest milestone)
- Allow forgejo_update_pull_request in agent permissions
- Add comprehensive BDD tests for milestone assignment feature
ISSUES CLOSED: #7521
# Conflicts:
# CONTRIBUTORS.md
Merged PR #8176 from branch fix/pr-review-pool-supervisor-prefix-mismatch
Resolved conflicts in:
- .opencode/agents/pr-review-pool-supervisor.md: Accepted incoming version with corrected tracking prefix AUTO-REV-SUP (instead of AUTO-REV-POOL)
- CHANGELOG.md: Accepted incoming version documenting the tracking prefix fix
- CONTRIBUTORS.md: Accepted incoming version with updated contributor tracking
The PR fixes the tracking prefix inconsistency, changing from AUTO-REV-POOL to AUTO-REV-SUP to match the actual tracking issues created by the agent. This prevents duplicate tracking issues from being created each cycle.
Merged PR #7586 from branch improvement/agent-bug-hunt-pool-supervisor-tracking-prefix
Resolved conflicts in:
- .opencode/agents/bug-hunt-pool-supervisor.md: Accepted incoming version with improved tracking prefix AUTO-BUG-SUP and restructured tracking procedures
- CHANGELOG.md: Accepted incoming version with clearer tracking fix documentation
The PR fixes the tracking prefix inconsistency, changing from AUTO-BUG-POOL to AUTO-BUG-SUP for consistency with other agents, and improves the tracking issue format with better structured health reports and announcements.