Problem
In vouching.service.ts (lines 204-219), getLearnerReputationScore() reads directly from the reputation_cache table instead of calling ReputationService.getReputationScore(). This misses the multi-layer cache (Redis → Supabase → contract) and contract-fetch logic.
What To Build
- Inject ReputationService into VouchingService
- Replace direct DB query with ReputationService call
- Verify reputation data is consistent
Files To Touch
- src/modules/vouching/vouching.service.ts — lines 204-219
Acceptance Criteria
Mandatory Checks
Problem
In vouching.service.ts (lines 204-219), getLearnerReputationScore() reads directly from the reputation_cache table instead of calling ReputationService.getReputationScore(). This misses the multi-layer cache (Redis → Supabase → contract) and contract-fetch logic.
What To Build
Files To Touch
Acceptance Criteria
Mandatory Checks