Implements the task dispatch system described in issue #1072:
- AgentRegistry with capabilities for Claude Code, Kimi Code, Agent API,
and Timmy — each with strengths, Gitea label, interface type, and
max_concurrent limit
- TaskType enum covering architecture, refactoring, code review,
routine coding, research, triage, planning, etc.
- select_agent() routing table maps task types to best-fit agents
- infer_task_type() heuristic infers task category from title/description
- dispatch_task() top-level entry point: auto-selects agent, dispatches
via Gitea label + comment (claude-ready / kimi-ready), HTTP API, or
local Timmy execution; retries on failure; escalates with Gitea comment
- wait_for_completion() polls a Gitea issue until closed or timed out
- 44 unit tests covering registry, routing, inference, dispatch flows,
retry/escalation, and completion monitoring
Fixes#1072
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>