Implement Phase 2: Core API Integration

- Add Claude API client with Anthropic SDK
  - Retry logic with exponential backoff (3 attempts)
  - Handle auth errors, rate limits, and server errors
  - Architecture classification with JSON parsing
  - Research query generation from architecture
- Add Perplexity API client with native fetch
  - Retry logic with exponential backoff
  - Parse responses with sources and citations
  - Execute multiple research queries
- Add prompt templates for architecture classification
- Add default query generation as fallback
- Add ArchitectureGenerator combining Claude + Perplexity
- Add 44 new tests (80 total, all passing)

All Phase 2 acceptance criteria met:
- Claude client sends prompts and retries on failure
- Perplexity client searches and parses with sources
- Architecture classification returns valid JSON
- Research queries generated (4-6 per architecture)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Debian
2026-01-10 12:17:42 +00:00
parent 606f27d6bb
commit ae0165a802
11 changed files with 1643 additions and 28 deletions

View File

@@ -26,7 +26,7 @@
"name": "Claude API Client",
"description": "Anthropic SDK integration with retry logic",
"priority": 1,
"passes": false,
"passes": true,
"acceptance": "Can send prompt to Claude and receive response, retries on failure"
},
{
@@ -35,7 +35,7 @@
"name": "Perplexity API Client",
"description": "Perplexity REST API integration",
"priority": 2,
"passes": false,
"passes": true,
"acceptance": "Can search Perplexity and parse response with sources"
},
{
@@ -44,7 +44,7 @@
"name": "Architecture Classification",
"description": "Claude prompt for classifying app type",
"priority": 3,
"passes": false,
"passes": true,
"acceptance": "Given idea text, returns valid Architecture JSON"
},
{
@@ -53,7 +53,7 @@
"name": "Research Query Generation",
"description": "Generate Perplexity queries from architecture",
"priority": 4,
"passes": false,
"passes": true,
"acceptance": "Given architecture, generates 4-6 relevant search queries"
},
{