Les enseignants ont besoin de moyennes à jour immédiatement après la publication ou modification des notes, sans attendre un batch nocturne. Le système recalcule via Domain Events synchrones : statistiques d'évaluation (min/max/moyenne/médiane), moyennes matières pondérées (normalisation /20), et moyenne générale par élève. Les résultats sont stockés dans des tables dénormalisées avec cache Redis (TTL 5 min). Trois endpoints API exposent les données avec contrôle d'accès par rôle. Une commande console permet le backfill des données historiques au déploiement.
3.2 KiB
3.2 KiB
title, type, created, status, context
| title | type | created | status | context |
|---|---|---|---|---|
| {title} | feature | {date} | draft |
Intent
Problem: ONE_TO_TWO_SENTENCES
Approach: ONE_TO_TWO_SENTENCES
Boundaries & Constraints
Always: INVARIANT_RULES
Ask First: DECISIONS_REQUIRING_HUMAN_APPROVAL
Never: NON_GOALS_AND_FORBIDDEN_APPROACHES
I/O & Edge-Case Matrix
| Scenario | Input / State | Expected Output / Behavior | Error Handling |
|---|---|---|---|
| HAPPY_PATH | INPUT | OUTCOME | N/A |
| ERROR_CASE | INPUT | OUTCOME | ERROR_HANDLING |
Code Map
FILE-- ROLE_OR_RELEVANCEFILE-- ROLE_OR_RELEVANCE
Tasks & Acceptance
Execution:
FILE-- ACTION -- RATIONALE
Acceptance Criteria:
- Given PRECONDITION, when ACTION, then EXPECTED_RESULT
Spec Change Log
Design Notes
DESIGN_RATIONALE_AND_EXAMPLES
Verification
Commands:
COMMAND-- expected: SUCCESS_CRITERIA
Manual checks (if no CLI):
- WHAT_TO_INSPECT_AND_EXPECTED_STATE