AI SOFTWARE FACTORY

Forge: from ticket to pull request.

Forge is an autonomous system that takes development work from a ticket through to a pull request, with a human approving before anything is merged. I built it in C# and .NET.

This page is an architecture-level overview of how it is put together and why. The codebase is private, so there is no source or repository to link to. A live demo is available on request.

ARCHITECTURE

How the pieces fit

Three MCP servers do the work. A webhook starts a run, and a person approves the result.

Forge architecture A Jira or Azure DevOps webhook starts a run in ForgeMCP, the orchestration server. ForgeMCP calls ForgeRAG for retrieval and ForgeMemory for agent memory over MCP. Its output goes through agentic QA in an isolated git worktree, then a final review stage that fixes issues and updates the pull request, then a human approval gate run through n8n. Sentry, Seq and Graylog observe the whole flow. Ticket Jira or Azure DevOps webhook ForgeMCP: orchestration Microsoft Agent Framework, checkpointed workflows Intent classifier Task router Architect QA PR reviewer Per-role model providers Cloud and local LLMs MCP MCP ForgeRAG pgvector retrieval nomic-embed-text Heading-based chunking ForgeMemory Short-term memory Long-term memory Lessons learned Output Agentic QA Isolated git worktree Final review Fixes issues, updates the pull request Human approval gate (n8n) Observed throughout with Sentry, Seq and Graylog
Forge at the architecture level. Arrows show the direction of a run, the two MCP links are two-way.

THE THREE SERVERS

Three MCP servers, one job each

Splitting the system this way keeps each concern separate and lets any MCP-capable client use the same tools.

ForgeMCP

Orchestration

Runs the workflow. It is built on Microsoft Agent Framework with checkpointed workflows, so a run can resume from its last checkpoint instead of starting again. Work is split between specialised agent roles: an Architect, QA, a task router, an intent classifier and a PR reviewer.

Each role can use a different model provider, across both cloud and local LLMs, so the model can be matched to the job. Runs are triggered by Jira and Azure DevOps webhooks.

ForgeRAG

Retrieval

Gives agents the project knowledge they need. Documents are split by heading, embedded with nomic-embed-text and stored in pgvector.

Retrieval is exposed as MCP tools, so the same index works for both Claude and Qwen clients.

ForgeMemory

Agent memory

Provides short-term and long-term memory for agents. It captures the lessons agents learn during a run, so later runs can improve on earlier ones.

EVALUATION AND SELF-CORRECTION

Agents that check their own work

Output is scored, not just accepted. Problems are fixed before a person has to look at them.

1

Score

The QA and PR reviewer agents score what the other agents produce.

2

Track

Scores are tracked across runs, so quality can be compared over time.

3

Fix

A final review stage fixes the issues it finds and updates the pull request.

4

Approve

A person approves the result. Nothing is merged on the agents' say-so alone.

GUARDRAILS AND OVERSIGHT

Autonomy with limits

The system is allowed to work on its own, within boundaries a person can see and control.

Human approval gates

Approval steps are run through n8n, so a person decides at the points that matter before work moves on.

Isolated QA

Agentic QA runs in isolated git worktrees, so testing a change does not disturb other work in progress.

Observability

Runs are observable through Sentry, Seq and Graylog, so behaviour can be inspected and failures traced.

WHAT THIS DEMONSTRATES

The practices behind it

Forge is a working example of the building blocks that practical generative AI adoption depends on.

Agent orchestration

Specialised roles, checkpointed workflows and per-role model choice, coordinated through one workflow engine.

Retrieval-augmented generation

Embeddings, heading-based chunking and a vector store, giving agents grounded context.

Model Context Protocol

Capabilities exposed as MCP servers and tools, usable by different model clients.

Human review

Approval gates keep a person accountable for what is merged.

Evaluation

Scored outputs, tracked across runs, with a correction stage before human review.

SEE IT RUNNING

A demo is
available on request.

The Forge codebase is private. If you would like to see it working, or talk through the design in more detail, get in touch and I will arrange a demo.

Request a demo →

Looking for a different kind of example? JobHunter is a smaller system built spec first and tested first.

Read the JobHunter case study →