What Happened
A new open-source project called Hatice hit GitHub this week, offering autonomous issue orchestration powered by the Claude Code Agent SDK. Built in TypeScript, the system polls your issue tracker (GitHub Issues or Linear), creates isolated workspaces for each ticket, and dispatches Claude Code agents to solve them without human intervention.
The project comes from developer Mert Can Altin, inspired by OpenAI's "Harness Engineering" manifesto and the Symphony project built on Elixir/OTP. Hatice rebuilds the concept from scratch with a different tech stack and several additions that Symphony lacks.
The numbers are concrete: 4,148 source lines, 6,669 test lines, 328 tests across 30 files, zero type errors. It runs on Node.js 20+ or Bun, uses Hono for HTTP serving, Zod v4 for validation, and LiquidJS for prompt templates.
Core architecture breaks down into an orchestrator state machine, an AgentRunner for Claude SDK integration, workspace management with artifact cleanup, a typed event bus with 11 event types, and tracker adapters for both Linear (GraphQL) and GitHub (REST/GraphQL). Configuration lives in a WORKFLOW.md frontmatter file where you set tracker credentials, workspace paths, concurrency limits (default 10 agents), turn maximums (default 20 per session), and retry backoff strategies.
Key differentiators from Symphony include per-session cost tracking in USD with token metrics, fine-grained tool control, MCP server integration, built-in TDD methodology via CLAUDE.md embedding, and a real-time SSE dashboard for observability.
Why It Matters
The "Harness Engineering" concept is gaining traction: engineers define intent and specifications, agents execute the work. Hatice is one of the first complete implementations of this pattern using Anthropic's Agent SDK.
For teams already using Claude Code, this adds a missing orchestration layer. Instead of manually assigning issues and prompting an AI assistant, the system continuously polls your tracker and handles dispatch, execution, retry with exponential backoff, and reconciliation automatically. The per-session cost tracking is a practical addition since runaway agent costs are a real concern when you have 10 concurrent agents solving issues.
The isolated workspace approach matters too. Each issue gets its own directory, which prevents agents from stepping on each other's work. When an agent fails, the retry logic kicks in without affecting other running tasks.
Our Take
Hatice represents where AI-assisted development is heading: from copilot to autonomous worker on well-specified tasks. The architecture is solid for a v1. The test coverage ratio (more test code than source code) signals the developer takes reliability seriously, which you want when giving agents unsupervised access to your codebase.
The practical limitation is that this works best for well-defined, scoped issues. A ticket like "fix the null check in auth middleware" is a better fit than "redesign the notification system." The 20-turn default per session hints at this - these agents work best on bounded problems.
If you're running a team with a steady backlog of bug fixes and small features, Hatice is worth evaluating. The Linear and GitHub Issues integration covers most teams. The cost tracking alone could justify the setup time, since knowing exactly what each automated fix costs lets you make informed decisions about which issues to delegate to agents versus handle yourself.
The project is early but functional. Watch for how the community extends the tracker adapters and whether the concurrency model holds up under real workloads.