Skip to main content

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 CaseConsumerData Sent
Tutor context (RAG)delivery-service → ai-gatewayLearner's recent verbs + activities in current attempt (tenant-scoped)
At-risk predictionanalytics-serviceAggregated attempt outcomes, time-on-task (anonymized per AI policy)
Adaptive path recommendation (M5+)delivery-serviceCurrent 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) via evidenceStatementIds.
  • 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.