Files
Mathias STRASSER b7dc27f2a5
Some checks failed
CI / Backend Tests (push) Has been cancelled
CI / Frontend Tests (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
CI / Naming Conventions (push) Has been cancelled
CI / Build Check (push) Has been cancelled
feat: Calculer automatiquement les moyennes après chaque saisie de notes
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.
2026-04-04 02:25:00 +02:00

2.8 KiB

name, description, outputFile
name description outputFile
step-01b-resume Resume interrupted workflow from last completed step {test_artifacts}/automation-summary.md

Step 1b: Resume Workflow

STEP GOAL

Resume an interrupted workflow by loading the existing output document, displaying progress, and routing to the next incomplete step.

MANDATORY EXECUTION RULES

  • 📖 Read the entire step file before acting
  • Speak in {communication_language}

EXECUTION PROTOCOLS:

  • 🎯 Follow the MANDATORY SEQUENCE exactly
  • 📖 Load the next step only when instructed

CONTEXT BOUNDARIES:

  • Available context: Output document with progress frontmatter
  • Focus: Load progress and route to next step
  • Limits: Do not re-execute completed steps
  • Dependencies: Output document must exist from a previous run

MANDATORY SEQUENCE

CRITICAL: Follow this sequence exactly.

1. Load Output Document

Read {outputFile} and parse YAML frontmatter for:

  • stepsCompleted — array of completed step names
  • lastStep — last completed step name
  • lastSaved — timestamp of last save

If {outputFile} does not exist, display:

"⚠️ No previous progress found. There is no output document to resume from. Please use [C] Create to start a fresh workflow run."

THEN: Halt. Do not proceed.


2. Display Progress Dashboard

Display progress with / indicators:

  1. / Preflight & Context (step-01-preflight-and-context)
  2. / Identify Targets (step-02-identify-targets)
  3. / Generate Tests + Aggregate (step-03c-aggregate)
  4. / Validate & Summarize (step-04-validate-and-summarize)

3. Route to Next Step

Based on lastStep, load the next incomplete step:

  • 'step-01-preflight-and-context' → load ./step-02-identify-targets.md
  • 'step-02-identify-targets' → load ./step-03-generate-tests.md
  • 'step-03c-aggregate' → load ./step-04-validate-and-summarize.md
  • 'step-04-validate-and-summarize'Workflow already complete. Display: " All steps completed. Use [V] Validate to review outputs or [E] Edit to make revisions." Then halt.

If lastStep does not match any value above, display: "⚠️ Unknown progress state (lastStep: {lastStep}). Please use [C] Create to start fresh." Then halt.

Otherwise, load the identified step file, read completely, and execute.

The existing content in {outputFile} provides context from previously completed steps.


🚨 SYSTEM SUCCESS/FAILURE METRICS

SUCCESS:

  • Output document loaded and parsed correctly
  • Progress dashboard displayed accurately
  • Routed to correct next step

SYSTEM FAILURE:

  • Not loading output document
  • Incorrect progress display
  • Routing to wrong step

Master Rule: Resume MUST route to the exact next incomplete step. Never re-execute completed steps.