Implementation Plan: AI Development Gateway

Overview

This implementation plan breaks down the AI Development Gateway into discrete coding tasks that build incrementally toward a complete system. The implementation follows a microservices architecture with the Chat Gateway Service as the core orchestrator, integrating with OpenWebUI chat interface, BMAD workflow engine, multiple AI models, Git repositories, and Kubernetes observability.

PRIORITY: Get OpenWebUI running early for immediate visual feedback and development progress visibility, then implement BMAD workflow engine for structured development methodology.

Tasks

  • 1. Set up project structure and core interfaces

    • Create Python project structure with FastAPI framework
    • Define core data models for Project, State, and Configuration
    • Set up dependency injection and configuration management
    • Requirements: 2.1, 6.1
  • 1.5. Steel Thread - Minimal Working System

    • 1.5.1 Create minimal OpenWebUI deployment

      • Deploy OpenWebUI with basic configuration to Kubernetes
      • Set up ingress for external access
      • Verify UI loads and is accessible from browser
      • Requirements: 1.1
    • 1.5.2 Create minimal gateway with echo functionality

      • Implement basic FastAPI service with single chat endpoint
      • Return echo responses to verify end-to-end connectivity
      • Deploy to Kubernetes with service exposure
      • Requirements: 1.1, 1.4
    • 1.5.3 Connect OpenWebUI to gateway

      • Configure OpenWebUI to connect to gateway service
      • Test basic message flow: UI → Gateway → Echo Response
      • Verify browser compatibility
      • Requirements: 1.1, 1.4
    • 1.5.4 Add basic AI model integration

      • Integrate single AI model (Claude or OpenAI) with minimal routing
      • Replace echo with actual AI responses
      • Test complete flow: UI → Gateway → AI Model → Response
      • Requirements: 10.1
  • 1.6. Steel Thread Checkpoint

    • Verify complete steel thread works end-to-end
    • Test from browser
    • Confirm AI responses are working through OpenWebUI
  • 2. Deploy OpenWebUI and basic gateway integration

    • 2.1 Create Kubernetes manifests for OpenWebUI

      • Deploy OpenWebUI to local Kubernetes cluster
      • Configure ingress and service exposure
      • Set up basic environment configuration
      • Requirements: 1.1
    • 2.2 Implement basic chat endpoint for OpenWebUI integration

      • Create minimal chat API endpoint that OpenWebUI can connect to
      • Implement basic request/response handling
      • Add CORS configuration for OpenWebUI access
      • Requirements: 1.1, 1.4
    • 2.3 Deploy gateway service to Kubernetes

      • Create Kubernetes deployment manifests for gateway
      • Configure service discovery and networking
      • Set up development ingress for API access
      • Requirements: All
  • 3. Implement basic AI model integration

    • 3.1 Create simple model router for immediate functionality

      • Implement basic ModelRouter with Claude/OpenAI support
      • Create simple request forwarding without lifecycle restrictions
      • Enable basic chat functionality through OpenWebUI
      • Requirements: 10.1-10.3
    • 3.2 Add basic authentication middleware

      • Implement simple JWT token validation
      • Create development token generation for testing
      • Secure the chat endpoint with basic auth
      • Requirements: 6.1, 6.2
  • 4. Checkpoint - Verify OpenWebUI integration works

    • Ensure OpenWebUI can connect to gateway and send/receive messages
    • Verify AI model responses are working through the UI
    • Test basic authentication flow
  • 5. Implement project discovery and context loading

    • 5.1 Implement Git repository scanning for .ai/project.yaml files

      • Create GitService class with repository scanning capabilities
      • Implement project discovery logic with path resolution
      • Requirements: 2.1, 5.1
    • 5.2 Implement project scope validation

      • Create ScopeValidator class for included/excluded path matching
      • Implement glob pattern matching for file access control
      • Requirements: 5.5, 5.6
    • 5.3 Add project selection to chat interface

      • Extend chat API to include project context
      • Implement project switching in OpenWebUI
      • Show current project in UI
      • Requirements: 1.4, 5.1-5.4
  • 6. Implement lifecycle state management

    • 6.1 Create lifecycle state machine

      • Implement LifecycleManager class with stage transitions
      • Create state.yaml parsing and validation logic
      • Requirements: 3.1, 3.2
    • 6.2 Implement Git-based approval tracking

      • Create ApprovalTracker class to analyze Git commit history
      • Parse commit messages and trailers for approval metadata
      • Requirements: 2.2, 2.3
    • 6.3 Add lifecycle enforcement to AI model routing

      • Implement capability-based AI restrictions
      • Show current lifecycle stage in OpenWebUI
      • Restrict AI capabilities based on current stage
      • Requirements: 4.1-4.7
  • 7. Implement BMAD workflow engine

    • 7.1 Create BMAD workflow state machine

      • Implement BMADEngine class with phase management
      • Create workflow.yaml parsing and validation logic
      • Implement role-based capability enforcement
      • Requirements: 11.1, 11.2
    • 7.2 Implement BMAD artifact management

      • Create ArtifactManager class for structured artifact generation
      • Implement template-based artifact creation
      • Add artifact validation and consistency checking
      • Requirements: 11.3, 11.7
    • 7.3 Integrate BMAD with lifecycle management

      • Connect BMAD phases with traditional lifecycle stages
      • Implement dual workflow state management
      • Add BMAD phase transitions to OpenWebUI
      • Requirements: 11.4, 11.5
    • 7.4 Implement role-specific AI context

      • Create RoleManager class for AI capability restriction
      • Implement role-specific context provision to AI models
      • Add role switching capabilities in OpenWebUI
      • Requirements: 11.6
  • 8. Implement Git operations service

    • 8.1 Create Git operations manager

      • Implement GitOperationsManager class with repository access
      • Create branch management and pull request creation logic
      • Requirements: 7.1-7.5
    • 8.2 Implement diff-only code generation

      • Create DiffGenerator class for AI code output formatting
      • Implement validation to ensure only diff format is used
      • Requirements: 4.6, 7.1
  • 9. Implement Kubernetes observability

    • 9.1 Create Kubernetes observer service

      • Implement K8sObserver class with read-only cluster access
      • Create deployment status and pod health monitoring
      • Requirements: 8.1-8.5
    • 9.2 Implement log summarization

      • Create LogSummarizer class for application log analysis
      • Implement safe log filtering to prevent secret exposure
      • Requirements: 8.3
  • 10. Advanced features and polish

    • 10.1 Implement advanced request orchestration

      • Create RequestOrchestrator class to coordinate all services
      • Implement advanced context loading and capability checking
      • Integrate BMAD workflow with traditional lifecycle
      • Requirements: 1.1-1.5, 3.1-3.5, 11.1-11.7
    • 10.2 Implement secret isolation

      • Create SecretManager class with secure secret store integration
      • Implement request/response filtering to prevent secret exposure
      • Requirements: 6.3, 6.5
    • 10.3 Implement CI/CD validation

      • Implement CIValidator class for lifecycle compliance checking
      • Create validation rules for stage transitions and artifact changes
      • Add BMAD workflow validation to CI pipeline
      • Requirements: 9.1-9.5
  • 11. Testing and validation

    • [ ]* 11.1 Write property test for project configuration validation

      • Property 1: Configuration Schema Validation
      • Validates: Requirements 2.1
    • [ ]* 11.2 Write property test for project discovery

      • Property 2: Project Context Isolation
      • Validates: Requirements 5.1, 5.2
    • [ ]* 11.3 Write property test for scope enforcement

      • Property 3: Project Scope Enforcement
      • Validates: Requirements 5.5, 5.6
    • [ ]* 11.4 Write property test for lifecycle enforcement

      • Property 1: Lifecycle Stage Enforcement
      • Validates: Requirements 3.2, 4.1-4.5
    • [ ]* 11.5 Write property test for Git state consistency

      • Property 4: Git State Consistency
      • Validates: Requirements 2.2, 2.3
    • [ ]* 11.6 Write property test for authentication

      • Property 6: Authentication Token Validity
      • Validates: Requirements 6.1, 6.2
    • [ ]* 11.7 Write property test for secret isolation

      • Property 8: Secret Isolation
      • Validates: Requirements 6.3, 6.5
    • [ ]* 11.8 Write property test for diff-only generation

      • Property 7: Diff-Only Code Generation
      • Validates: Requirements 4.6, 7.1
    • [ ]* 11.9 Write property test for CI enforcement

      • Property 9: CI Validation Enforcement
      • Validates: Requirements 9.1-9.5
    • [ ]* 11.10 Write property test for BMAD role enforcement

      • Property 10: BMAD Role Capability Enforcement
      • Validates: Requirements 11.1, 11.2
    • [ ]* 11.11 Write property test for BMAD artifact consistency

      • Property 11: BMAD Artifact Structure Consistency
      • Validates: Requirements 11.3, 11.7
    • [ ]* 11.12 Write property test for BMAD phase transitions

      • Property 12: BMAD Phase Transition Validation
      • Validates: Requirements 11.4
    • [ ]* 11.13 Write property test for BMAD state synchronization

      • Property 13: BMAD Workflow State Synchronization
      • Validates: Requirements 11.5
    • [ ]* 11.14 Write property test for BMAD role context

      • Property 14: BMAD Role Context Provision
      • Validates: Requirements 11.6
    • [ ]* 11.15 Write integration tests for chat API

      • Test end-to-end chat workflows with project context
      • Test lifecycle enforcement through API endpoints
      • Test BMAD workflow integration
      • Requirements: 1.1-1.5, 3.1-3.5, 11.1-11.7
    • [ ]* 11.16 Write unit tests for model routing

      • Test model selection logic and fallback mechanisms
      • Test capability enforcement across different stages
      • Test BMAD role-based restrictions
      • Requirements: 4.1-4.7, 10.1-10.5, 11.1-11.2
    • [ ]* 11.17 Write unit tests for Kubernetes integration

      • Test read-only access enforcement
      • Test log summarization and filtering
      • Requirements: 8.1-8.5
    • [ ]* 11.18 Write acceptance tests

      • Test complete AI-assisted development workflows
      • Test multi-project context isolation
      • Test security and authentication flows
      • Test BMAD workflow end-to-end scenarios
      • Requirements: All
  • 12. Final checkpoint - Ensure all tests pass

    • Ensure all tests pass, ask the user if questions arise.

Notes

  • PRIORITY CHANGE: Tasks 2-4 focus on getting OpenWebUI running early for immediate visual feedback
  • BMAD INTEGRATION: Tasks 7.1-7.4 implement BMAD workflow engine for structured development methodology
  • Tasks marked with * are optional and can be skipped for faster MVP
  • Each task references specific requirements for traceability
  • Checkpoints ensure incremental validation
  • Property tests validate universal correctness properties
  • Unit tests validate specific examples and edge cases
  • Integration and acceptance tests validate end-to-end functionality
  • All testing tasks moved to section 11 to focus on core functionality first
  • BMAD workflow integration adds structured methodology while maintaining Git-native state management