Context:
To maintain signal quality and prevent spam, we integrate AI validation (xAI) to analyze signal rationale, detect patterns, and score quality.
Problem:
Build a service that sends signal data to xAI API for quality assessment and uses the score to filter low-quality signals.
What Done Looks Like:
- xAI API integration
- Signal quality scoring (0-100)
- Automatic rejection of low-quality signals (<30 score)
- Async processing to avoid blocking submission
- Fallback when xAI unavailable
Folder Structure:
src/
├── ai-validation/
│ ├── ai-validation.service.ts
│ ├── ai-validation.module.ts
│ ├── dto/
│ │ ├── validation-request.dto.ts
│ │ └── validation-response.dto.ts
│ └── interfaces/
│ └── xai-client.interface.ts
Implementation Guidelines:
- Use xAI Grok API for analysis
- Send signal rationale + asset pair + action
- Request quality score and fraud detection
- Process asynchronously with Bull queue
- Store validation score in signal entity
- Reject signals with score < 30
- Handle API timeouts gracefully (default to manual review)
Validation Criteria:
- Rationale coherence and specificity
- Market data references
- Realistic price targets
- Spam/manipulation detection
Edge Cases:
- xAI API timeout
- Rate limit exceeded
- Invalid API response
Validation:
- High-quality signal passes (score >70)
- Low-quality signal rejected (score <30)
- Async processing doesn't block submission
- Fallback works when API unavailable
Context:
To maintain signal quality and prevent spam, we integrate AI validation (xAI) to analyze signal rationale, detect patterns, and score quality.
Problem:
Build a service that sends signal data to xAI API for quality assessment and uses the score to filter low-quality signals.
What Done Looks Like:
Folder Structure:
Implementation Guidelines:
Validation Criteria:
Edge Cases:
Validation: