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.
38 lines
1.5 KiB
Markdown
38 lines
1.5 KiB
Markdown
---
|
|
---
|
|
|
|
# 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`
|