- 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>
41 lines
1.0 KiB
Markdown
41 lines
1.0 KiB
Markdown
---
|
|
active: true
|
|
iteration: 1
|
|
max_iterations: 40
|
|
completion_promise: "PHASE_2_COMPLETE"
|
|
started_at: "2026-01-10T12:10:57Z"
|
|
---
|
|
|
|
Execute Phase 2 - Core API Integration from PROMPT.md.
|
|
|
|
Phase 1 is complete. Now implement Phase 2.
|
|
|
|
Read PROMPT.md for API specifications.
|
|
Read prd.json for Phase 2 features.
|
|
|
|
Phase 2 tasks:
|
|
1. Claude API client with Anthropic SDK
|
|
2. Perplexity API client with fetch
|
|
3. Architecture classification prompt and parser
|
|
4. Research query generation
|
|
5. Tests for all API clients
|
|
|
|
API Integration notes:
|
|
- Use environment variables for API keys during testing
|
|
- Implement retry logic with 3 attempts and exponential backoff
|
|
- Handle rate limits gracefully
|
|
- Parse JSON responses safely
|
|
|
|
For each feature:
|
|
1. Write tests first using mocked API calls
|
|
2. Implement the feature
|
|
3. Verify: npm run build && npm run test && npm run lint
|
|
4. Update prd.json when feature passes
|
|
5. Commit and log progress
|
|
|
|
When ALL Phase 2 features pass:
|
|
Output <promise>PHASE_2_COMPLETE</promise>
|
|
|
|
If blocked:
|
|
Output <promise>PHASE_2_BLOCKED</promise>
|