Strategic Technical Advisory for AI Agents - A comprehensive meta-reasoning system that transforms issue descriptions into structured strategic analysis for complex software development projects.
I2P (Issue to Prompt) is an AI-powered meta-reasoning system designed to provide strategic technical advisory for complex software development projects. It analyzes issues across multiple dimensions and generates comprehensive strategic guidance with specific code navigation paths.
- ποΈ System Boundary Analysis - Maps issue scope and dependencies across system components
- π― Strategic Gap Analysis - Identifies what you have, what you need, and what's missing
- πΊοΈ Code Navigation Index - Provides specific file references and implementation pathways
- π Multi-Language Vector Search - Searches across Rust, TypeScript, Solidity, and Documentation
- π Knowledge Base Integration - Semantic search across organizational knowledge repositories
- π PRD-Style Requirements - Structures complex issues into actionable requirements
- π€ Trained Query Generation - GEPA module learns to generate optimized search queries from training data
- π Continuous Model Training - Automated training pipeline with GitHub Actions integration
- Python 3.11+
- uv (installed automatically if missing)
- OpenRouter API Key (for LLM access)
- Qdrant Vector Database (local or cloud)
- Modal Account (for embedding services)
# Clone the repository
git clone [email protected]:ardaglobal/i2p.git
cd i2p
# Complete setup with virtual environment (uv-based)
make setup
# Or step-by-step:
make venv # Create virtual environment
make install # Install dependencies
# Set up environment variables
cp .env.example .env
# Edit .env with your API keys:
# OPENROUTER_API_KEY=your_openrouter_key
# QDRANT_URL=your_qdrant_url
# QDRANT_API_KEY=your_qdrant_key
# Activate virtual environment
source .venv/bin/activate
# Verify setup
make check-env# Ingest your codebase for vector search
make ingest
# (Optional) Train GEPA search query model
make train
# Analyze an issue
make i2p ISSUE='Implement privacy-preserving credit score verification using zero-knowledge proofs'
# Run demo with sample issues
make demo
# Check system health
make healthi2p/
βββ π Makefile # Comprehensive command interface
βββ π CLAUDE.md # Development guidelines & best practices
βββ
βββ modules/ # Core I2P processing modules
β βββ cli/ # Command-line interface
β β βββ π§ i2p_cli.py # Main CLI entry point
β βββ core/ # Core processing pipeline
β β βββ π pipeline.py # Main processing pipeline orchestrator
β β βββ π― classifier.py # System boundary analysis
β β βββ π analyzer.py # Strategic gap analysis
β β βββ π generator.py # Code navigation & output generation
β β βββ β
validation.py # Input validation & error handling
β β βββ π vector_search.py # Vector similarity search
β β βββ π€ gepa.py # GEPA search query generation module
β βββ training/ # Training & model optimization
β β βββ π train_gepa.py # GEPA model training script
β β βββ π€ gepa_trainer.py # DSPy BootstrapFewShot trainer
β β βββ π dataset_generator.py # Automated dataset generation
β β βββ π dataset_manager.py # Dataset loading & splitting
β β βββ π dataset_statistics.py # Dataset analysis & metrics
β β βββ π§ dataset_loader.py # Dataset I/O operations
β β βββ π₯οΈ generate_dataset_cli.py # CLI for dataset generation
β βββ ingest/ # Ingestion & embedding services
β βββ core/
β β βββ π pipeline.py # Multi-language ingestion pipeline
β β βββ βοΈ config.py # Ingestion configuration
β β βββ π embedding_service.py # Embedding generation
β β βββ π¦ batch_processor.py # Batch processing
β βββ parsers/
β β βββ π¦ rust_parser.py # Rust code parsing & analysis
β β βββ π typescript_parser.py # TypeScript code parsing
β β βββ β‘ solidity_parser.py # Solidity contract parsing
β β βββ π documentation_parser.py # Documentation extraction
β βββ services/
β β βββ π vector_client.py # Qdrant vector database client
β β βββ π tei_service.py # TEI embedding service (Modal L4 GPU)
β β βββ π€ modal_client.py # Modal service client
β β βββ π enhanced_ranking.py # Advanced search ranking
β β βββ β
quality_validator.py # Code quality validation
β βββ deploy/
β βββ π modal_deploy.py # Modal deployment orchestrator
β
βββ repos/ # Target codebases for analysis
βββ arda-credit/ # Rust blockchain infrastructure
βββ arda-platform/ # TypeScript monorepo (Platform, Credit App, IDR)
βββ arda-knowledge-hub/ # Documentation and knowledge base (Obsidian vault)
βββ aig/ # Arda Investment Group markdown documentation
βββ arda-chat-agent/ # JavaScript/TypeScript chat agent implementation
βββ ari-ui/ # JavaScript/TypeScript chat bot implementation
make venv # Create virtual environment using uv
make install # Install Python dependencies (creates venv if needed)
make sync # Sync dependencies with uv (faster than install)
make setup # Complete system setup (venv + install + check environment)
make check-env # Verify environment variables and credentialsmake ingest # Full ingestion pipeline (Rust + TypeScript + Solidity + Documentation)
make ingest-warmup # Warm up Modal embedding service before ingestion
make ingest-search QUERY='text' # Test vector search functionality
make vector-status # Check Qdrant collections and vector countsmake i2p ISSUE='your issue description' # Run I2P analysis
make demo # Run demo with sample Arda Credit issues
make examples # Generate example analyses for common issuesmake modal-deploy # Deploy Qwen3-Embedding-8B service to Modal (L4 GPU)
make modal-health # Check Modal embedding service health
make modal-monitor # Monitor GPU distribution across containersmake train # Train GEPA search query model with DSPy optimization
make train-eval # Evaluate trained model on test set
make generate-dataset # Generate training dataset from codebase
make train-clean # Clean training cache and artifactsmake health # System health check (pipeline + vector search)
make test # Run all tests
make clean # Clean up generated files and cachesmake i2p ISSUE='Implement privacy-preserving credit score verification using zero-knowledge proofs in the Arda Credit loan approval process'Output includes:
- System boundary analysis identifying affected components
- Strategic gap analysis of current ZK infrastructure vs requirements
- Specific file references for implementation (
contracts/src/,program/src/main.rs) - Step-by-step implementation roadmap
make i2p ISSUE='Implement comprehensive error handling for API timeouts in the Arda Credit authentication service'Output includes:
- Code navigation to auth handlers (
api/src/authentication_handlers.rs:45) - Strategic analysis of current error handling vs robust patterns
- Implementation suggestions with middleware integration
graph LR
A[Issue Input] --> B[Boundary Analysis]
B --> C[Strategic Gap Analysis]
C --> D[Vector Search]
D --> E[Code Navigation Index]
E --> F[Structured Output]
- π― Issue Classifier - Categorizes issues by type, complexity, and domain
- π Strategic Analyzer - Performs gap analysis using "have/need/missing" framework
- π€ GEPA Module - Trained DSPy module for generating optimized search queries from issue analysis
- π Vector Search - Semantic search across ingested codebases
- π Output Generator - Creates structured markdown with code references
- π Modal Embedding Service - High-performance embedding generation (L4 GPU)
- π¦ Rust - Complete parsing including macros, traits, and async code
- π TypeScript - React components, hooks, utilities, and type definitions
- β‘ Solidity - Smart contracts, interfaces, and deployment scripts
- π Documentation - Markdown files, knowledge bases (Obsidian), technical documentation
# Required
OPENROUTER_API_KEY=your_openrouter_api_key
QDRANT_URL=http://localhost:6333
QDRANT_API_KEY=your_qdrant_api_key
# Optional
MODAL_TOKEN_ID=your_modal_token_id
MODAL_TOKEN_SECRET=your_modal_token_secretThe system uses OpenRouter for LLM access with optimized model selection:
- Grok-4-Fast: Primary model (8192 tokens)
- Claude-3.5: Alternative model (4096 tokens)
- GPT-4: Fallback option (4096 tokens)
- Code Collections:
arda_code_rust,arda_code_typescript,arda_code_solidity - Documentation Collection:
arda_documentation(for knowledge bases and technical docs) - Embedding Model: Qwen3-Embedding-8B (4096 dimensions)
- Chunk Size: 500 tokens with 50 token overlap (code), 6k-12k chars (documentation)
GEPA (Query Generation and Exploration for Prompt Augmentation) is a trained DSPy module that generates optimized search queries from issue descriptions. It uses DSPy BootstrapFewShot optimization to learn patterns from training data and produces domain-specific, codebase-aware queries.
# Generate training dataset from codebase (optional)
make generate-dataset NUM_EXAMPLES=50 OUTPUT=custom_dataset.json
# Train the GEPA model
make train
# Evaluate model performance
make train-eval- π Semantic Similarity Metrics - Uses embedding-based cosine similarity for evaluation
- π Vector Search Integration - Enriches training with real codebase context during optimization
- π BootstrapFewShot Optimization - Automatically generates few-shot examples from training data
- π― Domain-Specific Queries - Learns to generate queries using actual type/struct/function names
- πΎ Model Persistence - Saves trained models to
trained_model.jsonfor reuse
- Model: OpenRouter API (Claude Sonnet 4.5, GPT-4o-mini, or Grok-4-fast)
- Dataset: 93 examples (74 train / 9 val / 10 test) across backend and frontend domains
- Metric: Semantic similarity using Qwen3-Embedding-8B (4096-dim cosine similarity)
- Optimizer: DSPy BootstrapFewShot with 8-40 bootstrapped demos
- Cache: Training results cached in
.cache/training/for faster iteration
The system includes a GitHub Actions workflow (.github/workflows/gepa-training.yml) that:
- Triggers weekly or after vector ingestion completes
- Trains GEPA model with latest codebase context
- Evaluates accuracy and commits improved models
- Provides comprehensive training reports with metrics
- Semantic similarity using cosine distance
- File type relevance boosting
- Recency scoring for recently modified files
- Dependency graph awareness for related components
- Syntax verification for all ingested code
- Content filtering removing comments and empty files
- Deduplication preventing redundant vector storage
- Error handling with graceful fallbacks
make health # Pipeline status & vector search connectivity
make vector-status # Detailed vector database metricsHealth Check Coverage:
- Pipeline component initialization status
- Vector search connectivity and basic query test
- Component readiness verification
Note: Health checks verify system readiness but do not include end-to-end DSPy module testing or embedding service response time measurement.
- Vector Collections: ~50K+ code chunks + documentation across all collections
- Search Latency: <200ms for semantic queries
- Embedding Generation: ~45 embeddings/sec via Modal TEI (L4 GPU)
- Pipeline Processing: Varies by model (2-10s for boundary analysis, 5-30s for gap analysis, 3-15s for navigation index)
- GEPA Training: ~5-15 minutes on 93 examples with vector context enrichment
- Documentation Chunks: Intelligent section grouping (6k-12k chars per chunk)
- Feature Planning - Strategic analysis of complex feature requirements
- Technical Debt - Identification of gaps and missing components
- Code Navigation - Quick discovery of relevant implementation files
- Architecture Decisions - Boundary analysis for system design choices
- Context Enhancement - Rich markdown output optimized for agent consumption
- Code Discovery - Specific file paths and line references for implementation
- Strategic Guidance - Structured requirements and implementation pathways
- Multi-Language Support - Comprehensive codebase understanding
- Files must be under 500 lines (strict enforcement)
- Single responsibility principle for all classes
- Comprehensive error handling and validation
- Security-first approach with no exposed secrets
- OOP-First Design - Every functionality in dedicated classes
- Modular Architecture - Lego-like component composition
- DSPy Integration - Optimized LLM interactions with structured signatures
- Vector Search - Semantic code discovery across languages
- Output validation is skipped - The system relies on vector search quality assurance rather than strict output validation
- Confidence scores are provided as metadata but don't block pipeline execution
- This enables faster processing while maintaining quality through context-aware LLM reasoning
- Vector search includes cross-system contamination prevention
- When analyzing I2P system issues, search is automatically scoped to I2P codebase only
- Documentation search is excluded by default from code searches to prevent pattern contamination
- Use
search_with_documentation_priority()for architectural context when needed
- Code Collections:
arda_code_rust,arda_code_typescript,arda_code_solidity - Documentation Collection:
arda_documentation(knowledge bases, technical docs, architectural overviews) - Default searches exclude documentation to focus on implementation patterns
- Gap analysis uses documentation-priority search for existing system understanding
- Knowledge base integration provides organizational context and research findings
- Follow the guidelines in
CLAUDE.md - Ensure all files remain under 500 lines
- Use single responsibility principle
- Add comprehensive tests for new features
- Maintain security best practices
docs/architecture/ARCHITECTURE.md- π Comprehensive architecture guide and navigation hubdocs/- Complete technical documentation (architecture, modules, guides)CLAUDE.md- Development guidelines and coding standardsMakefile- Complete command reference with examples- Module docstrings - Detailed API documentation for each component
- Example outputs - Run
make examplesto generate analyses inexamples/directory (not checked into repo)
- Arda Credit - Privacy-preserving credit infrastructure (Rust)
- Arda Platform - Monorepo with Platform, Credit App, and IDR (TypeScript)
- Arda Knowledge Hub - Organizational knowledge base and documentation (Markdown/Obsidian)
- Modal Platform - Serverless GPU infrastructure for embeddings
- Qdrant - Vector database for semantic search
MIT License - see LICENSE file for details.
I2P Meta-Reasoning System - Transforming complex issues into strategic technical guidance with AI-powered analysis and code navigation.