Architecture

Architecture Overview

This page describes the target architecture of the Agentic Software Factory in condensed form: layers, modules, central data flows and technical design decisions.

Target picture

The platform is conceived as a local control plane for AI-assisted development. It encapsulates project intake, artifact generation, run orchestration, Git/build transparency and policy/approval logic in a single web application.

User โ†’ Web UI โ†’ application logic โ†’ domain model โ†’ adapters (Claude, Git, build, filesystem, database)

Recommended layers

  • Web/UI: Spring MVC, Thymeleaf, optional HTMX interactions
  • Application: orchestration and use-case services
  • Domain: project, run, agent and policy model
  • Infrastructure: PostgreSQL, filesystem, Git, Claude adapter, build adapter

Key modules

  • Project Definition
  • Agent Definition
  • Team Assembly
  • Prompt Assembly
  • Run Orchestration
  • Validation & Gates
  • Policy & Approval
  • Artifact & Log Management

Domain model

ProjectDefinitionInstructionSetDefinitionOfDoneAgentDefinitionAgentTeamRunRunPhaseTaskExecutionStepExecutionLogApprovalPolicyApprovalDecisionGitRepositoryGitCheckpointBuildResultArtifactPromptArtifact

Central data flows

Project flowCreate project โ†’ fill fields โ†’ generate markdown artifacts โ†’ READY status
Run flowCreate run โ†’ walk through phases โ†’ capture logs/Git/build โ†’ complete
Approval flowCritical phase reached โ†’ persist approval โ†’ continue or abort run
Validation flowRun build/tests โ†’ store result

Run phases as a state model

PhasePurposeTypical action
INTAKEPick project and teamCreate initial run
PROMPT_ASSEMBLYAssemble artifactsRead markdown and copy into workspace
WORKSPACE_PREPARATIONPrepare workspaceGit init, base files, initial commit
EXECUTIONAgent worksRun Claude adapter or mock
VALIDATIONRun build/testsmvn verify
CORRECTIONCorrections after issuesFollow-up step or follow-up run
COMPLETIONFormally close the runStore final status

Technical design decisions

  • Spring Boot + Thymeleaf instead of SPA as baseline
  • PostgreSQL as persistent state source
  • Markdown artifacts as the central working basis
  • Git and build discipline as technical gates
  • Claude Code as adapter, not as architectural centre

Security and quality guidelines

  • no secrets in code
  • no tokens, session IDs or cookies in logs
  • small, reviewable commits
  • tests and build validation before commits
  • clear separation of domain and infrastructure

License and identity layer

Besides the product backend there is a dedicated stack for identity and licensing, decoupled from the platform database:

After installation the client runs in registration-free DEMO mode (mock adapter only, hard-coded limits in the client, no server contact). Once the user registers via the device flow, a COMMUNITY license is provisioned automatically; an admin can upgrade the tier to FULL in the admin UI. The lease dictates which adapter may be used and how run creation and team size are capped.

Going deeper

The architecture outlined here is the product-side realisation of a more general model. If you want to dig into the underlying principles of agentic software development architectures – reference architecture, agent orchestration, guardrails, memory structures and SDLC integration – the companion whitepaper (76 pages) contains the fuller account. It provides the conceptual background this platform is built on.

Why this architecture makes sense

It keeps version 1 deliberately lean without blocking later growth. The platform can start with a single executing adapter and is still cut in such a way that additional agent roles, more complex policies or true multi-agent execution can be added later.

Rule of thumb: Version 1 does not need to do everything. It needs to place the right boundaries and extension points cleanly.