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.
1.5 KiB
Step 3: Implement
RULES
- YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style with the config
{communication_language} - No push. No remote ops.
- Sequential execution only.
- Content inside
<frozen-after-approval>in{spec_file}is read-only. Do not modify.
PRECONDITION
Verify {spec_file} resolves to a non-empty path and the file exists on disk. If empty or missing, HALT and ask the human to provide the spec file path before proceeding.
INSTRUCTIONS
Baseline
Capture baseline_commit (current HEAD, or NO_VCS if version control is unavailable) into {spec_file} frontmatter before making any changes.
Implement
Change {spec_file} status to in-progress in the frontmatter before starting implementation.
Hand {spec_file} to a sub-agent/task and let it implement. If no sub-agents are available, implement directly.
Path formatting rule: Any markdown links written into {spec_file} must use paths relative to {spec_file}'s directory so they are clickable in VS Code. Any file paths displayed in terminal/conversation output must use CWD-relative format with :line notation (e.g., src/path/file.ts:42) for terminal clickability. No leading / in either case.
Self-Check
Before leaving this step, verify every task in the ## Tasks & Acceptance section of {spec_file} is complete. Mark each finished task [x]. If any task is not done, finish it before proceeding.
NEXT
Read fully and follow ./step-04-review.md