You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These represent fundamentally different concepts: one is a tag/enum ("this task needs RESEARCH capability"), the other is a descriptor ("this agent has these specs"). Same name, different semantics, never reconciled.
The `enhanced_orchestration` package side-steps the collision by importing the Enum:
A reader following `from … import AgentCapability` cannot tell which shape they're getting without checking the import path. Future refactors that move classes between packages risk silent semantic breakage.
Recommendation
Rename one of them to make intent unambiguous. Suggested:
Keep `orchestration.types.AgentCapability` as the Enum (tag) — broadly imported.
Rename `agents.agent_orchestration.types.AgentCapability` → `AgentCapabilityDescriptor` — it's an agent profile, not a capability tag.
Acceptance criteria
Single class named `AgentCapability` in the codebase, OR both classes have explicitly distinct names
All call sites updated
`grep -rn '^class AgentCapability'` returns at most one definition
✅ Verified post-merge: grep -rn '^class AgentCapability\b' autobot-backend --include='*.py' returns one hit (the Enum at orchestration/types.py:19) — collision resolved
✅ grep -rn 'class AgentCapabilityDescriptor' autobot-backend --include='*.py' returns one hit — rename complete
The canonical orchestration.types.AgentCapability(Enum) is untouched.
Activity
refactor(agents): rename AgentCapability dataclass → AgentCapabilityD…
mrveiss commentedon May 4, 2026
✅ Closed with proof — PR #6924 merged in commit
d7c3833e4Implementation acceptance criteria:
agents/agent_orchestration/76/76 pass (1 pre-existing unrelated failure confirmed present pre-PR)agents.agent_orchestration.types.AgentCapability(dataclass, line 147) →AgentCapabilityDescriptorIntegration acceptance criteria (#6836 gate):
grep -rn '^class AgentCapability\b' autobot-backend --include='*.py'returns one hit (the Enum atorchestration/types.py:19) — collision resolvedgrep -rn 'class AgentCapabilityDescriptor' autobot-backend --include='*.py'returns one hit — rename completeThe canonical
orchestration.types.AgentCapability(Enum)is untouched.