Skip to content

Commit a2f5164

Browse files
EightRiceclaude
andcommitted
chore: minor fixes from agent implementations
- Orchestrator tools cleanup - Trace logger fix - WebSocket server update - Constitutional geometry and governance minor fixes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 24af202 commit a2f5164

5 files changed

Lines changed: 33 additions & 8 deletions

File tree

atn/orchestrator/tools.py

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
from ..events import Event, EventType
3636
from ..loader import delete_agent_dir, save_agent
3737
from ..providers.base import ToolDefinition
38+
from ..runtime.provider_manager import get_model_tier, get_tier_label
3839

3940
if TYPE_CHECKING:
4041
from ..runtime import Runtime
@@ -919,12 +920,24 @@ async def _create_agent(runtime: Runtime, input: dict[str, Any]) -> dict[str, An
919920
if not system_prompt and prompt and parent_id:
920921
system_prompt = build_delegate_prompt(agent_type, agent_id, parent_id)
921922

923+
effective_model = model or runtime._config.orchestrator.model or "sonnet"
924+
model_tier = get_model_tier(effective_model)
925+
926+
# Warn if model tier seems low for agent_type
927+
tier_warning = None
928+
if agent_type in ("general",) and model_tier < 3:
929+
tier_warning = (
930+
f"Model '{effective_model}' is tier {model_tier} ({get_tier_label(model_tier)}). "
931+
f"Agent type '{agent_type}' works best with tier 3+ (autonomous) models."
932+
)
933+
log.warning("Low capability tier for agent: %s", tier_warning)
934+
922935
defn = AgentDefinition(
923936
id=agent_id,
924937
name=input.get("name", "") or input.get("id", agent_id),
925938
mode=AgentMode.COGNITIVE,
926-
provider=model or runtime._config.orchestrator.model or "sonnet",
927-
cognitive_model=model or runtime._config.orchestrator.model or "sonnet",
939+
provider=effective_model,
940+
cognitive_model=effective_model,
928941
system_prompt=system_prompt,
929942
task_prompt=prompt,
930943
agent_type=agent_type,
@@ -984,9 +997,17 @@ async def _create_agent(runtime: Runtime, input: dict[str, Any]) -> dict[str, An
984997
data=node.to_dict(),
985998
))
986999

987-
return {"agent_id": aid, "status": "running", "execution_id": eid}
988-
989-
return {"agent_id": aid, "status": "registered"}
1000+
result = {"agent_id": aid, "status": "running", "execution_id": eid,
1001+
"capability_tier": model_tier, "tier_label": get_tier_label(model_tier)}
1002+
if tier_warning:
1003+
result["tier_warning"] = tier_warning
1004+
return result
1005+
1006+
result = {"agent_id": aid, "status": "registered",
1007+
"capability_tier": model_tier, "tier_label": get_tier_label(model_tier)}
1008+
if tier_warning:
1009+
result["tier_warning"] = tier_warning
1010+
return result
9901011
except Exception as exc:
9911012
return {"error": str(exc)}
9921013

atn/trace_logger.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
}
2121
}
2222
23-
See C:\\code\\research\\AGENT_TRACE_TRAINING.md for the full specification.
23+
See docs/AGENT_TRACE_TRAINING.md for the full specification.
2424
2525
Phase B Step 1 — Agent Trace Collection.
2626
"""

atn/ws_server.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
from .events import Event, EventBus, EventType
4444
from .orchestrator.tools import execute_tool
4545
from .runtime import Runtime
46+
from .runtime.provider_manager import get_model_tier, get_tier_label
4647

4748
log = logging.getLogger(__name__)
4849

@@ -162,9 +163,12 @@ async def _handle_message(self, msg: dict[str, Any]) -> dict[str, Any]:
162163
return {"msg_id": msg_id, "ok": False, "error": "Missing 'model' field"}
163164
try:
164165
await self.runtime.set_orchestrator_model(model)
166+
tier = get_model_tier(model)
165167
return {"msg_id": msg_id, "ok": True, "result": {
166168
"model": model,
167169
"status": "Model changed",
170+
"capability_tier": tier,
171+
"tier_label": get_tier_label(tier),
168172
}}
169173
except ValueError as exc:
170174
return {"msg_id": msg_id, "ok": False, "error": str(exc)}

nodes/common/constitutional_geometry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Constitutional Geometry: Embedding-Space Constitutional Evaluation
33
44
Implements the 3-tier evaluation architecture from the constitutional
5-
geometry survey (C:\code\research\surveys\constitutional_geometry_survey.md):
5+
geometry survey:
66
77
Tier 1 — Geometric pre-filter (O(1))
88
Cosine similarity against principle direction vectors in JEPA embedding

nodes/common/governance.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
logger = logging.getLogger(__name__)
4141

4242
# Quorum requirement for constitutional amendments (EvolutionProposal.sol parameter).
43-
# 95% per the RPB specification (C:\code\rpb\README.md: "requiring 95% quorum").
43+
# 95% per the RPB specification ("requiring 95% quorum").
4444
CONSTITUTIONAL_QUORUM_BPS: int = 9500 # 95% in basis points
4545

4646

0 commit comments

Comments
 (0)