Corrige la date cible du digest lorsque demain est sans cours, pendant un week-end, une période de vacances, un jour férié ou une journée dont tous les cours sont annulés.
Contrat retenu
Un cours effectif demain est prioritaire.
Sinon, le prochain jour avec un cours effectif connu est sélectionné, sans dépendre de cours présents aujourd’hui.
Les cours annulés sont exclus ; les cours déplacés restent éligibles.
Si aucun cours futur n’est connu, la borne de fin exclusive d’un événement couvrant demain sert de reprise explicite.
Sans cours ni événement, demain est conservé comme valeur de repli et la raison est journalisée sans donnée personnelle.
Validation
752 passed
Couverture totale : 94.89 %
ruff check .
ruff format --check .
mypy . en mode strict
pre-commit run --all-files, y compris detect-secrets
git diff --check
Cette PR est empilée sur #32, elle-même basée sur #31.
## Résumé
Corrige la date cible du digest lorsque demain est sans cours, pendant un week-end, une période de vacances, un jour férié ou une journée dont tous les cours sont annulés.
## Contrat retenu
- Un cours effectif demain est prioritaire.
- Sinon, le prochain jour avec un cours effectif connu est sélectionné, sans dépendre de cours présents aujourd’hui.
- Les cours annulés sont exclus ; les cours déplacés restent éligibles.
- Si aucun cours futur n’est connu, la borne de fin exclusive d’un événement couvrant demain sert de reprise explicite.
- Sans cours ni événement, demain est conservé comme valeur de repli et la raison est journalisée sans donnée personnelle.
## Validation
- 752 passed
- Couverture totale : 94.89 %
- ruff check .
- ruff format --check .
- mypy . en mode strict
- pre-commit run --all-files, y compris detect-secrets
- git diff --check
Cette PR est empilée sur #32, elle-même basée sur #31.
Closes #30
La PR est approuvée pour fusion en squash, après #32.
Vérifications effectuées :
J+1 prioritaire lorsqu'un cours effectif existe ;
sélection du prochain cours effectif connu lorsque demain est vide, y compris sans cours présent aujourd'hui ;
exclusion des cours annulés et prise en compte des cours déplacés ;
utilisation explicite de la borne de reprise d'un événement scolaire couvrant demain, avec borne DTEND exclusive ;
repli J+1 journalisé lorsque la reprise n'est pas connue ;
validation de la tête 8c3ab3d1a1e57b688d409757186970029e63c91e : 754 tests passés, couverture 94,89 %, Ruff, format, mypy strict, bandit, pre-commit/detect-secrets et git diff --check passés.
La couverture reste locale et sans réseau réel.
## Revue — validée ✅
La PR est approuvée pour fusion en **squash**, après #32.
Vérifications effectuées :
- J+1 prioritaire lorsqu'un cours effectif existe ;
- sélection du prochain cours effectif connu lorsque demain est vide, y compris sans cours présent aujourd'hui ;
- exclusion des cours annulés et prise en compte des cours déplacés ;
- utilisation explicite de la borne de reprise d'un événement scolaire couvrant demain, avec borne `DTEND` exclusive ;
- repli J+1 journalisé lorsque la reprise n'est pas connue ;
- validation de la tête `8c3ab3d1a1e57b688d409757186970029e63c91e` : 754 tests passés, couverture 94,89 %, Ruff, format, mypy strict, bandit, pre-commit/detect-secrets et `git diff --check` passés.
La couverture reste locale et sans réseau réel.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Résumé
Corrige la date cible du digest lorsque demain est sans cours, pendant un week-end, une période de vacances, un jour férié ou une journée dont tous les cours sont annulés.
Contrat retenu
Validation
Cette PR est empilée sur #32, elle-même basée sur #31.
Closes #30
Revue — validée ✅
La PR est approuvée pour fusion en squash, après #32.
Vérifications effectuées :
DTENDexclusive ;8c3ab3d1a1e57b688d409757186970029e63c91e: 754 tests passés, couverture 94,89 %, Ruff, format, mypy strict, bandit, pre-commit/detect-secrets etgit diff --checkpassés.La couverture reste locale et sans réseau réel.