[
  {
    "prompt": "Split src/timmy/dispatcher.py (917 lines) into a src/timmy/dispatch/ package. Create a PR branch, implement the split, verify tests pass, push and create a PR.\n\nPLAN:\n1. cd /tmp/timmy-agents/hermes/repo\n2. git checkout -b refactor/split-dispatcher main\n3. mkdir -p src/timmy/dispatch\n4. Create src/timmy/dispatch/routing.py with:\n   - All imports needed\n   - AgentType, TaskType, DispatchStatus enums\n   - AgentSpec dataclass\n   - AGENT_REGISTRY dict\n   - _TASK_ROUTING dict\n   - select_agent() function\n   - infer_task_type() function\n\n5. Create src/timmy/dispatch/queue.py with:\n   - _post_gitea_comment()\n   - _apply_gitea_label()\n   - _poll_issue_completion()\n   - _log_escalation()\n   - wait_for_completion()\n\n6. Create src/timmy/dispatch/assignment.py with:\n   - DispatchResult dataclass\n   - _format_assignment_comment()\n   - _select_label()\n   - _dispatch_via_gitea()\n   - _dispatch_via_api()\n   - _dispatch_local()\n   - _validate_task()\n   - _select_dispatch_strategy()\n   - _log_dispatch_result()\n   - dispatch_task()\n   - Import from routing.py and queue.py as needed\n\n7. Create src/timmy/dispatch/__init__.py that re-exports all public names:\n   AgentType, TaskType, DispatchStatus, AgentSpec, AGENT_REGISTRY, DispatchResult,\n   select_agent, infer_task_type, dispatch_task, wait_for_completion,\n   _dispatch_local, _dispatch_via_api, _dispatch_via_gitea\n\n8. Replace src/timmy/dispatcher.py with a thin backward-compat shim that does:\n   from timmy.dispatch import * (re-exporting everything for existing imports)\n   Keep the module docstring.\n\n9. Run: cd /tmp/timmy-agents/hermes/repo && tox -e unit (timeout 120s)\n   All 966 tests must pass. Fix any import errors.\n\n10. Run: tox -e lint and fix any issues\n\n11. git add and commit: \"refactor: split dispatcher.py into dispatch/ package (#1450)\"\n\n12. Push: git push origin refactor/split-dispatcher\n\n13. Create PR via curl:\n    TOKEN from env var GITEA_TOKEN\n    API=http://143.198.27.163:3000/api/v1\n    REPO=rockachopa/Timmy-time-dashbo",
    "chosen": "",
    "session": "session_20260324_171141_23b7b9.json"
  }
]