AI Integration
:::info Source
Sourced from services/progress-service/AI_INTEGRATION.md in the documentation repo.
:::
1. Scope
progress-service has no direct AI-generation responsibilities. It is the authoritative LRS.
AI touchpoints are:
- Consumed by analytics-service AI insights (M5+): cohort outcome prediction, at-risk learner detection.
- Provides data to ai-gateway-service when delivery-service builds RAG context for the tutor (e.g., "what blocks has the learner passed?").
2. AI Read Patterns
| Use Case | Consumer | Data Sent |
|---|---|---|
| Tutor context (RAG) | delivery-service → ai-gateway | Learner's recent verbs + activities in current attempt (tenant-scoped) |
| At-risk prediction | analytics-service | Aggregated attempt outcomes, time-on-task (anonymized per AI policy) |
| Adaptive path recommendation (M5+) | delivery-service | Current attempt state + historical attempts (tenant-scoped) |
All AI calls use AIClient port (F09). progress-service does not initiate AI calls; it exposes data via xAPI query API, which ai-gateway's RAG layer consumes with appropriate provenance.
3. Safety Requirements
- No PII to AI providers without redaction. Analytics aggregates use hashed actor IDs.
- No training on tenant data. Downstream consumers configure providers with
noTrain = true. - Tenant-scoped embeddings. When ai-gateway embeds progress data, embeddings are per-tenant partitions (never cross-tenant).
4. Provenance
- When AI makes a decision about a learner (at-risk flagging, adaptive recommendation), the decision includes
AIProvenance+ references the underlying attempt(s) viaevidenceStatementIds. - Stored in analytics-service; queryable by compliance officer.
5. EU AI Act Classification
- High-risk AI: adaptive grading, pass/fail decisions influenced by AI (not applicable; progress-service records outcomes, doesn't decide them).
- Limited-risk AI: tutor context, analytics insights.
6. Right to Explanation
- Any AI-driven decision that affects a learner (e.g., "nudge to retake" from analytics) has a rationale accessible to the learner.
- UI in delivery-service exposes "why this recommendation" with feature attribution.
7. AI Caching
- progress-service does not cache AI outputs.
- Downstream consumers cache per ai-gateway rules.
8. Prompt Registration
- No prompts owned by progress-service directly.
- Prompts touching progress data:
tutor.rag.progress-context(ai-gateway)analytics.at-risk-predictor(ai-gateway + analytics)tutor.adaptive-next(ai-gateway + delivery)
All registered in ai-gateway with tenant-scoped eval sets.
9. Bias Monitoring
- Quarterly: at-risk predictor evaluated on consenting sample for demographic-parity + equalized-odds.
- Findings reviewed by compliance + AI leads.
10. Refusal & Dispute
- Learners may dispute AI-influenced recommendations.
- progress-service provides raw evidence (statements, attempts) to support human review.