Commit e9daa3a
Refactor IssueHandler from supervisor to issue_verification_agent
Move the IssueHandler workflow from ymir/supervisor/ into a standalone
BeeAI Framework agent at ymir/agents/issue_verification_agent.py,
following the pattern established by preliminary_testing_agent.
This includes:
- New agent: issue_verification_agent with Workflow-based state machine
- Testing analyst inlined as a sub-agent for AI-driven test result
analysis, using ReasoningAgent with maintainer rules from MCP
- New MCP tools: errata (GetErratum, GetErratumBuildNvr),
testing_farm (GetTestingFarmRequest, ReproduceTestingFarmRequest),
gitlab (SearchGitlabProjectMrs), jira (UpdateJiraComment,
AddJiraAttachments, GetJiraAttachment)
- New unprivileged tools: read_logfile, read_readme, search_resultsdb,
analyze_ewa_testrun
- Supporting modules moved to ymir/agents/utilities/
- Shared types added to ymir/common/models.py (JotnarTag renamed to
YmirTag)
- Skill definition for issue_verification with full workflow details
- Makefile target and compose service for standalone execution
- Jira dev-status tools return dict-wrapped responses for MCP compliance
- Blocking sync calls wrapped in asyncio.to_thread
- URL allowlisting removed from read_logfile (egress control handles
security)
The supervisor's ErratumHandler remains unchanged for a follow-up.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 91fe1b1 commit e9daa3a
26 files changed
Lines changed: 3234 additions & 38 deletions
File tree
- agents_as_skills
- issue_verification
- ymir
- agents
- tests/unit
- utilities
- common
- tools
- privileged
- unprivileged
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
292 | 292 | | |
293 | 293 | | |
294 | 294 | | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
295 | 303 | | |
296 | 304 | | |
297 | 305 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
41 | 45 | | |
42 | 46 | | |
43 | 47 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
19 | 37 | | |
20 | 38 | | |
21 | 39 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
169 | 176 | | |
170 | 177 | | |
171 | 178 | | |
| |||
0 commit comments