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.0 KiB
3.0 KiB
name, description, nextStepFile, outputFile, progressFile
| name | description | nextStepFile | outputFile | progressFile |
|---|---|---|---|---|
| step-04-docs-and-scripts | Document setup and add package.json scripts | ./step-05-validate-and-summary.md | {test_dir}/README.md | {test_artifacts}/framework-setup-progress.md |
Step 4: Documentation & Scripts
STEP GOAL
Create test documentation and add build/test scripts appropriate for {detected_stack}.
MANDATORY EXECUTION RULES
- 📖 Read the entire step file before acting
- ✅ Speak in
{communication_language}
EXECUTION PROTOCOLS:
- 🎯 Follow the MANDATORY SEQUENCE exactly
- 💾 Record outputs before proceeding
- 📖 Load the next step only when instructed
CONTEXT BOUNDARIES:
- Available context: config, loaded artifacts, and knowledge fragments
- Focus: this step's goal only
- Limits: do not execute future steps
- Dependencies: prior steps' outputs (if any)
MANDATORY SEQUENCE
CRITICAL: Follow this sequence exactly. Do not skip, reorder, or improvise.
1. tests/README.md
Create {outputFile} and include:
- Setup instructions
- Running tests (local/headed/debug)
- Architecture overview (fixtures, factories, helpers)
- Best practices (selectors, isolation, cleanup)
- CI integration notes
- Knowledge base references
2. Build & Test Scripts
If {detected_stack} is frontend or fullstack:
Add to package.json at minimum:
test:e2e: framework execution command (e.g.,npx playwright test)
If {detected_stack} is backend or fullstack:
Add the idiomatic test commands for the detected framework:
- Python (pytest): Add to
pyproject.tomlscripts orMakefile:pytest,pytest --cov,pytest -m integration - Java (JUnit): Add to
build.gradle/pom.xml:./gradlew test,mvn test,mvn verify(integration) - Go: Add to
Makefile:go test ./...,go test -race ./...,go test -cover ./... - C#/.NET: Add to CI scripts or
Makefile:dotnet test,dotnet test --collect:"XPlat Code Coverage" - Ruby (RSpec): Add to
Gemfilebinstubs orMakefile:bundle exec rspec,bundle exec rspec spec/integration
3. Save Progress
Save this step's accumulated work to {progressFile}.
-
If
{progressFile}does not exist (first save), create it with YAML frontmatter:--- stepsCompleted: ['step-04-docs-and-scripts'] lastStep: 'step-04-docs-and-scripts' lastSaved: '{date}' ---Then write this step's output below the frontmatter.
-
If
{progressFile}already exists, update:- Add
'step-04-docs-and-scripts'tostepsCompletedarray (only if not already present) - Set
lastStep: 'step-04-docs-and-scripts' - Set
lastSaved: '{date}' - Append this step's output to the appropriate section of the document.
- Add
Load next step: {nextStepFile}
🚨 SYSTEM SUCCESS/FAILURE METRICS:
✅ SUCCESS:
- Step completed in full with required outputs
❌ SYSTEM FAILURE:
- Skipped sequence steps or missing outputs Master Rule: Skipping steps is FORBIDDEN.