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.
95 lines
2.8 KiB
Markdown
95 lines
2.8 KiB
Markdown
---
|
|
name: 'step-01b-resume'
|
|
description: 'Resume interrupted workflow from last completed step'
|
|
outputFile: '{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.
|