- Block REST API endpoints for label creation at the bash level for all agents.
- Restrict `forgejo_create_label` and related MCP tools for all agents.
- Restrict `forgejo_add_issue_labels` to only the `forgejo-label-manager`.
- Ensure all label operations are centralized through the `forgejo-label-manager`.
- Update agent definitions to use the label manager instead of direct API calls or MCP tools for adding labels.
This prevents agents from creating new project-level labels and enforces the use of organization-level labels, resolving the issue of duplicate labels being created.
Add explicit clone isolation protocols and warnings to prevent agents
from manipulating the local repository in /app. This ensures:
- Agents use isolated /tmp/ clones for all source code operations
- No interference between parallel agents
- No disruption to developer's local work environment
- No conflicts from branch changes or file modifications
Updated agents:
- Core implementation agents (implementer, build, plan)
- Quality gate agents (lint-fixer, typecheck-fixer, test-fixer, etc.)
- Test writing agents (behave-tester, unit-test-runner, coverage-improver)
- Analysis agents (difficulty-evaluator, fix-pr)
- Special cases (build-opencode with .opencode/ exception)
Each agent now includes prominent warnings and proper isolation protocols
with detailed explanations of why clone isolation is critical for
system stability.
Updated multiple agents to understand and properly handle TDD (Test-Driven
Development) tags as documented in CONTRIBUTING.md. This prevents confusion
when agents encounter tests with @tdd_expected_fail that invert their behavior.
Key changes:
- Test writers (behave-tester, robot-tester) now understand when to use TDD tags
- Implementers know to remove @tdd_expected_fail tags when fixing bugs
- Test-fixer won't try to "fix" correctly passing TDD tests
- PR reviewers check for proper TDD tag removal in bug fix PRs
- Human liaison can explain TDD tags to confused developers
- Coverage improver avoids modifying TDD tests
- Reference reader includes TDD tag info in summaries
This ensures all agents work correctly with the TDD workflow where tests are
written before bug fixes and use special tags to prove bugs exist.
- Remove maximum cap (16) on CA_MAX_PARALLEL_WORKERS in resources.yaml
- Can now be set to any positive value (32, 64, etc.)
- Only minimum validation remains (must be > 0)
- Remove dynamic backpressure/throttling from implementation-orchestrator
- Dispatch always runs at full configured speed
- Resource monitoring remains for visibility only
- No automatic reduction of slots_available based on failures
- Convert system-watchdog from auto-degradation to monitoring + suggestions
- Renamed DEGRADATION_THRESHOLDS to HEALTH_THRESHOLDS
- Removed apply_system_degradation() and check_degradation_recovery()
- Changed findings to include suggestions instead of actions
- Watchdog now reports issues with fix recommendations
- No automatic throttling or pausing of agents
The system now operates at maximum configured speed at all times,
with the watchdog providing diagnostic insights when issues arise.
- Add system-watchdog audit for PRs with 3+ failed attempts
- Implement automatic human assistance requests with detailed analysis
- Add deep context gathering to implementation-worker before fixes
- Enhance all agents with enriched context propagation
- Add loop detection to prevent repetitive failed attempts
- Improve PR reviewer with anti-pattern detection
- Update human-liaison to provide targeted help for struggling PRs
- Add historical awareness to PR fix orchestrator
- Enhance epic-planner with context-aware issue creation
- Create documentation for improvements and future agent ideas
These changes enable the system to:
- Recognize when it's stuck and needs human help
- Learn from previous failures to avoid repetition
- Understand full context including comments and history
- Provide detailed debugging information to humans
BREAKING CHANGE: Removed all tier-specific agents in favor of model-agnostic versions
Key changes:
- Create model-agnostic agents:
- behave-tester.md (replaces 4 tier-specific versions)
- robot-tester.md (replaces 4 tier-specific versions)
- coverage-improver.md (replaces coverage-checker with escalation)
- Convert existing agents to support escalation:
- lint-fixer.md (now model-agnostic)
- test-fixer.md (now model-agnostic)
- integration-test-runner.md (now model-agnostic)
- Update tier selectors to support all new agents
- Update quality-gate-escalator to handle all quality fixers
- Update subtask-loop to use quality-gate-escalator for all quality gates
- Empty redundant tier-specific agents for deletion:
- All implementer-{tier}.md files
- All behave-tester-{tier}.md files
- All robot-tester-{tier}.md files
- coverage-checker.md (replaced by coverage-improver.md)
Benefits:
- Eliminates ~90% code duplication
- All agents now support full 4-tier escalation (haiku→codex→sonnet→opus)
- Consistent escalation behavior across all agent types
- Single source of truth for each agent's logic
- Significant cost savings by defaulting to haiku for all quality gates
The system now uses tier selectors (tier-haiku, tier-codex, tier-sonnet,
tier-opus) that set the model and invoke model-agnostic worker agents,
eliminating the need for separate implementations per model tier.