Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
f026bc7
[AISOS-2007] Implement Feature Stage Progression and Label Transitions
ekuris-redhat Jun 29, 2026
bd0533e
[AISOS-2008] Implement Webhook Comment Prefix Parser and Classifier
ekuris-redhat Jun 29, 2026
f789c60
[AISOS-2009] Integrate Specification Regeneration and Q&A Mode
ekuris-redhat Jun 29, 2026
3e1551e
[AISOS-2010] Implement Bug Triage and Completeness Check Node
ekuris-redhat Jun 29, 2026
8a13f7f
[AISOS-2011] Implement Bug RCA Reflection and Option Selection Loop
ekuris-redhat Jun 29, 2026
c1388a0
[AISOS-2012] Implement GitHub Webhook Handler and PR Comment Command …
ekuris-redhat Jun 29, 2026
25253ae
[AISOS-2013] Implement Pull Request Gate Skip Settings Persistence Store
ekuris-redhat Jun 29, 2026
723767a
[AISOS-2013] Implement Pull Request Gate Skip Settings Persistence Store
ekuris-redhat Jun 29, 2026
83cdbdd
[AISOS-2014] Implement Automated Git Rebase and Conflict Management E…
ekuris-redhat Jun 29, 2026
15461b2
[AISOS-2015] Integrate Gate Skipping Orchestrator with Pipeline Execu…
ekuris-redhat Jun 29, 2026
14308ba
[AISOS-2016] Implement State Aggregator and Ticket Ancestry Traversal
ekuris-redhat Jun 29, 2026
ad68e66
[AISOS-2017] Implement Idempotent Reporter and Formatting Engine
ekuris-redhat Jun 29, 2026
7238cc2
[AISOS-2019] Implement Weekly Metrics CLI and Local Dev Config Overrides
ekuris-redhat Jun 29, 2026
1cc62d4
[AISOS-2020] Set up Zensical Documentation Project Structure and Conf…
ekuris-redhat Jun 29, 2026
0089d04
[AISOS-2021] Implement Zensical Responsive Navigation and Mermaid Dia…
ekuris-redhat Jun 29, 2026
f26bb0e
[AISOS-2022] Configure Automated Zensical Build and GitHub Pages Depl…
ekuris-redhat Jun 29, 2026
e2215b5
[AISOS-2023] Implement CI Documentation Freshness Analysis Script
ekuris-redhat Jun 29, 2026
e4f5bd0
[AISOS-2024] Integrate Documentation Freshness Check Gate into PR CI …
ekuris-redhat Jun 29, 2026
c6eb166
[AISOS-2002-review] Local code review — fix breaking issues
ekuris-redhat Jun 29, 2026
986f25b
[AISOS-2002-docs] Update stale documentation for code changes
ekuris-redhat Jun 29, 2026
a090dc3
[AISOS-2002-ci-fix] Apply CI fix plan (attempt 1)
ekuris-redhat Jun 29, 2026
025fc4f
[AISOS-2002] review: address PR feedback
ekuris-redhat Jun 30, 2026
1ec9257
[AISOS-2002-review-review-impl] Fix test breakages, import errors, an…
ekuris-redhat Jun 30, 2026
5fc1284
[AISOS-2002] review: address PR feedback
ekuris-redhat Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 25 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: CI

on:
pull_request:
types: [opened, synchronize, edited]
branches:
- main

Expand Down Expand Up @@ -48,7 +49,7 @@ jobs:
python-version: "3.11"

- name: Install dependencies
run: uv sync --frozen --extra dev
run: uv sync --frozen --extra dev --extra docs

- name: Run unit tests
env:
Expand All @@ -57,3 +58,26 @@ jobs:
JIRA_USER_EMAIL: dummy@example.com
GITHUB_TOKEN: dummy
run: uv run pytest tests/unit/ -q

doc-freshness:
name: Doc Freshness
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Check documentation freshness
run: |
python scripts/check-doc-freshness.py --base origin/${{ github.base_ref }} --head HEAD --verbose
57 changes: 57 additions & 0 deletions .github/workflows/deploy-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Deploy Documentation

on:
push:
branches:
- main
paths:
- 'docs/**'
- 'zensical.toml'
- 'zensical.config.json'
- 'CONTRIBUTING.md'
- 'README.md'
- 'skills/README.md'
workflow_dispatch:

# Restrict permissions to only what's required for checking out code
# and writing/deploying the documentation build to the gh-pages branch.
permissions:
contents: write

jobs:
deploy:
name: Build & Deploy Portal
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Required for ghp-import to work properly with full history

- name: Set up uv
uses: astral-sh/setup-uv@v5
with:
version: "latest"
enable-cache: true

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install dependencies
run: uv sync --frozen --extra docs

- name: Build documentation
run: uv run zensical build

- name: Configure Git User
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"

- name: Deploy to GitHub Pages
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
uv run ghp-import -n -p -f site
37 changes: 0 additions & 37 deletions .github/workflows/docs.yml

This file was deleted.

45 changes: 45 additions & 0 deletions docs/architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Architecture

This document describes the high-level architecture of Forge, an AI-powered SDLC orchestrator that automates software development workflows using LangGraph, FastAPI, and Claude.

## System Overview

Forge is designed as a distributed, asynchronous system composed of several core modules:

```mermaid
graph TB
API[FastAPI Server] --> Queue[Redis Streams / Queue]
Queue --> Worker[Queue Worker]
Worker --> Graph[LangGraph Orchestrator]
Graph --> State[Redis State Store]
Graph --> Jira[Jira Integration]
Graph --> GitHub[GitHub Integration]
Graph --> Sandbox[Podman Sandbox]
Sandbox --> DeepAgents[Deep Agents Engine]
```

## Core Modules

### 1. API Server (`src/forge/api/`)
The entry point for external webhooks. It handles webhook payloads from Jira (issue updates, comment events) and GitHub (PR comments, push events, checks) and pushes them to Redis Streams.

### 2. Event Queue (`src/forge/queue/`)
An event queuing system based on Redis Streams. It provides asynchronous processing, reliable delivery guarantees, and backpressure management.

### 3. Queue Worker & Worker Logic (`src/forge/orchestrator/worker.py`)
Consumers that pull events from Redis Streams, resolve them to specific LangGraph state instances, and resume the corresponding workflow execution.

### 4. LangGraph Orchestrator (`src/forge/orchestrator/`)
Defines the workflow graph using LangGraph. The orchestrator:
- Manages state checkpoints in Redis.
- Governs transitions between nodes (PRD generation, Spec generation, Epic decomposition, Task execution, PR creation, CI fix loop).
- Implements human-in-the-loop approval gates using Jira labels and GitHub review approval markers.

### 5. Workspace & Sandbox (`src/forge/sandbox/`)
Executes code implementation and testing in ephemeral Podman containers. It prepares a isolated local Git repository workspace, runs the implementation task via Deep Agents, verifies code changes, and commits them locally.

## Design Principles

- **State Persistence:** Every node in the workflow graph commits its state to Redis. If the process is restarted, the state is safely restored and the workflow resumes where it was left off.
- **Security Isolation:** Code changes are performed in container sandboxes without network access, shielding the core system from unauthorized or accidental resource manipulation.
- **Asymmetric Human Approval:** Automatic planning is interleaved with explicit approval gates. Humans can inspect generated PRDs or Specs and request revisions by leaving comments.
Loading
Loading