build: Fixed some model settings
CI / build (push) Successful in 29s
CI / quality (push) Successful in 32s
CI / push-validation (push) Successful in 17s
CI / lint (push) Successful in 36s
CI / helm (push) Successful in 23s
CI / security (push) Successful in 51s
CI / typecheck (push) Successful in 57s
CI / benchmark-regression (push) Has been skipped
CI / e2e_tests (push) Successful in 3m4s
CI / integration_tests (push) Successful in 3m58s
CI / unit_tests (push) Successful in 5m9s
CI / docker (push) Successful in 11s
CI / coverage (push) Successful in 10m24s
CI / status-check (push) Successful in 1s
CI / benchmark-publish (push) Has been cancelled

This commit is contained in:
CleverAgents Build Agent
2026-04-09 16:41:09 -04:00
parent 6a78953691
commit fc9c730670
6 changed files with 6 additions and 166 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ description: >
mode: subagent
hidden: true
temperature: 0.1
model: anthropic/claude-haiku-4-6
model: anthropic/claude-haiku-4-5
color: info
permission:
edit: deny
@@ -1,160 +0,0 @@
# New Escalation Architecture Proposal
## Overview
This proposal redesigns the escalation system to eliminate redundancy by leveraging the fact that when a model isn't specified, the agent inherits the model of its caller.
## Current Problem
We have massive duplication:
- `implementer-haiku.md`, `implementer-codex.md`, `implementer-sonnet.md`, `implementer-opus.md`
- `behave-tester-haiku.md`, `behave-tester-codex.md`, `behave-tester-sonnet.md`, `behave-tester-opus.md`
- `robot-tester-haiku.md`, `robot-tester-codex.md`, `robot-tester-sonnet.md`, `robot-tester-opus.md`
Each contains 90% identical content with only the model and escalation context differing.
## Proposed Solution
### 1. Core Worker Agents (No Model Specified)
Create model-agnostic worker agents that contain the actual implementation logic:
```yaml
# implementer.md
---
description: >
Core implementation worker that writes code for subtasks. Model is inherited
from the calling tier agent, enabling progressive escalation without duplication.
mode: subagent
hidden: true
temperature: 0.2
# NO MODEL SPECIFIED - inherits from caller
permission:
edit: allow
bash:
"*": allow
# Block ALL commands that could hit the label creation endpoints
"*api/v1/orgs/*/labels*": deny
"*api/v1/repos/*/labels*": deny
"*https://git.cleverthis.com/api/v1/repos/cleveragents/cleveragents-core/labels*": deny
task:
"*": deny
"ref-reader": allow
forgejo:
"*": allow
# CRITICAL: Label creation is COMPLETELY FORBIDDEN
"forgejo_create_label": deny
"forgejo_create_org_label": deny
"forgejo_create_repo_label": deny
"forgejo_add_issue_labels": deny
---
# [Full implementation logic here - identical for all tiers]
```
### 2. Tier Selector Agents
Create thin wrapper agents that only set the model and invoke the worker:
```yaml
# tier-haiku.md
---
description: >
Haiku tier selector for progressive escalation. Sets model to Haiku and
invokes the requested worker agent.
mode: subagent
hidden: true
temperature: 0.0
model: anthropic/claude-haiku-4-6
permission:
task:
"implementer": allow
"behave-tester": allow
"robot-tester": allow
"unit-test-runner": allow
"typecheck-fixer": allow
---
# Tier Selector: Haiku
You are a tier selector that enables Haiku model usage for worker agents.
When invoked with a worker type and context, immediately invoke that worker
with the provided context. Your Haiku model will be inherited by the worker.
## Workers you can invoke:
- `implementer` - Code implementation
- `behave-tester` - Unit test writing
- `robot-tester` - Integration test writing
- `unit-test-runner` - Unit test execution and fixing
- `typecheck-fixer` - Type error resolution
Pass ALL provided context directly to the worker without modification.
```
### 3. Updated Subtask Loop
The subtask-loop agent would be updated to call tier selectors:
```python
# Instead of:
invoke implementer-{tier}
# Now:
invoke tier-{tier} with:
worker_type: "implementer"
context: {all the implementation context}
```
### 4. Benefits
1. **Eliminates redundancy** - One implementation per worker type
2. **Easier maintenance** - Update logic in one place
3. **Cleaner architecture** - Separation of concerns
4. **Flexible escalation** - Easy to add new tiers or workers
5. **Consistent behavior** - All tiers guaranteed to use identical logic
### 5. Migration Path
Phase 1: Create new architecture
- Create core worker agents (implementer.md, behave-tester.md, etc.)
- Create tier selector agents (tier-haiku.md, tier-codex.md, etc.)
- Update subtask-loop.md to use new pattern
Phase 2: Testing
- Test with one worker type first (e.g., implementer)
- Verify escalation works correctly
- Ensure state persistence still functions
Phase 3: Full rollout
- Migrate all worker types
- Delete old tier-specific agents
- Update any other agents that reference them
### 6. State Persistence
The escalation state tracking remains in subtask-loop and other orchestrators.
The tier selectors are stateless - they just set the model and pass through.
### 7. Example Usage
```
subtask-loop determines tier="haiku", worker="implementer"
→ invokes tier-haiku with {worker_type: "implementer", context: {...}}
→ tier-haiku (model: haiku) invokes implementer with context
→ implementer (inherits haiku model) does the work
If that fails, subtask-loop escalates to tier="codex"
→ invokes tier-codex with {worker_type: "implementer", context: {...}}
→ tier-codex (model: codex) invokes implementer with context
→ implementer (inherits codex model) does the work
```
## Implementation Order
1. Start with implementer as proof of concept
2. Add unit-test-runner and typecheck-fixer (as requested)
3. Migrate behave-tester and robot-tester
4. Consider other agents that could benefit (coverage-checker, test-fixer)
This architecture provides maximum flexibility with minimal redundancy.
+1 -1
View File
@@ -6,7 +6,7 @@ description: >
mode: subagent
hidden: true
temperature: 0.0
model: anthropic/claude-haiku-4-6
model: anthropic/claude-haiku-4-5
color: info
permission:
edit: deny
+1 -1
View File
@@ -7,7 +7,7 @@ description: >
mode: subagent
hidden: true
temperature: 0.3
model: anthropic/claude-haiku-4-6
model: anthropic/claude-haiku-4-5
color: "#9B59B6"
permission:
edit: deny
+1 -1
View File
@@ -6,7 +6,7 @@ description: >
mode: subagent
hidden: true
temperature: 0.3
model: anthropic/claude-haiku-4-6
model: anthropic/claude-haiku-4-5
color: secondary
permission:
edit: deny
+2 -2
View File
@@ -5,7 +5,7 @@ description: >
mode: subagent
hidden: true
temperature: 0.0
model: anthropic/claude-haiku-4-6
model: anthropic/claude-haiku-4-5
permission:
task:
"implementer": allow
@@ -84,4 +84,4 @@ invoke implementer
[all other fields exactly as provided]
```
The implementer will then execute using the Haiku model inherited from you.
The implementer will then execute using the Haiku model inherited from you.