Issue to Code documentation
A reference for how the system is structured and how its endpoints behave. Aimed at the thesis evaluation.
What this system does
Issue to Code is a multi-agent service that converts an issue (a bug report, a feature request, an improvement) into a pull request opened on GitHub. The user creates an issue from the application, the pipeline runs in the background, the user reviews and approves the plan, and a PR appears in their repository minutes later.
Under the hood the work is split among seven specialised agents orchestrated with LangGraph. Each agent has one responsibility and communicates through a shared graph state. Long-running steps are streamed to the frontend over Server-Sent Events.
The seven agents
- Parser (Claude Haiku 4.5) — extracts the issue type, keywords, affected areas and a one-sentence summary from the raw title and description.
- Locator (Claude Sonnet 4.6) — runs a two-phase retrieval over the indexed repository: semantic search over symbol embeddings, then expansion through the dependency graph.
- Plan Generator (Claude Sonnet 4.6) — produces a structured plan describing files to modify, files to create and the subtasks involved.
- Human review — the pipeline pauses at a LangGraph interrupt. The user approves, rejects or instructs the agent before any code is generated.
- Few-shot retriever — pulls up to three historical resolved issues from the same user as in-context examples. No LLM, just an embedding lookup.
- Code Generator (Claude Sonnet 4.6) — rewrites each file in the approved plan in full.
- Self-Reflector (Claude Sonnet 4.6) — a second pass of the same model reviewing its own output (plan alignment, imports, exports, completeness). Up to three retries.
- PR Creator (Claude Haiku 4.5) — opens the branch, commits the files and writes the PR description.
The UI compresses these into six visible steps; the Few-shot Retriever is presented as a sub-step inside Code because it is preparatory work without its own LLM call.
How to read this documentation
- Architecture— the bird's eye view of how the services fit together (Postgres, Redis, Qdrant, the FastAPI backend, the Next.js frontend).
- Authentication — how sessions work. Note the API does not use bearer tokens: it relies on an HTTP-only cookie.
- Streams (SSE) — the two long-running streams the backend exposes and the shape of the events they emit.
- Rate limits & errors — every limit currently in place and the conventional meaning of every HTTP status code.
- API reference— the endpoints grouped by resource. The content is generated from the backend's live
/openapi.jsonso it cannot drift from the real implementation.
Scope of this reference
The reference covers the endpoints that drive the product end-to-end: /api/repos, /api/issues and the GitHub helpers under /api/github. Authentication endpoints, settings and health-check endpoints are intentionally omitted; they are internal to the application shell and not part of the “Issue to Code” flow.