Construire les périodes de repos réelles du plan et utiliser leur gain de jours non ouvrés comme premier critère de qualité du calendrier après les préférences. Les périodes affichées doivent refléter leurs week-ends et jours fériés, y compris aux bords de l’horizon.
Acceptance criteria
Une période de repos fusionne les placements contigus avec les week-ends et jours fériés immédiatement adjacents.
Les jours non ouvrés adjacents juste avant le début ou après la fin de l’horizon appartiennent à la période, sans autoriser de placement hors horizon.
Le gain compte les dates distinctes de week-end et de jour férié contenues dans les périodes.
Les dates de placement ne contribuent jamais au gain.
Le gain est maximisé après toutes les préférences et ne peut dégrader aucun critère supérieur.
Les périodes et leur durée sont restituées par le PlanningOutcome et rendues correctement par le calendrier.
Les tests couvrent fusion, chevauchement, jours fériés en semaine, week-ends, déduplication et les deux bords de l’horizon.
## Parent
#11
## What to build
Construire les périodes de repos réelles du plan et utiliser leur gain de jours non ouvrés comme premier critère de qualité du calendrier après les préférences. Les périodes affichées doivent refléter leurs week-ends et jours fériés, y compris aux bords de l’horizon.
## Acceptance criteria
- [ ] Une période de repos fusionne les placements contigus avec les week-ends et jours fériés immédiatement adjacents.
- [ ] Les jours non ouvrés adjacents juste avant le début ou après la fin de l’horizon appartiennent à la période, sans autoriser de placement hors horizon.
- [ ] Le gain compte les dates distinctes de week-end et de jour férié contenues dans les périodes.
- [ ] Les dates de placement ne contribuent jamais au gain.
- [ ] Le gain est maximisé après toutes les préférences et ne peut dégrader aucun critère supérieur.
- [ ] Les périodes et leur durée sont restituées par le `PlanningOutcome` et rendues correctement par le calendrier.
- [ ] Les tests couvrent fusion, chevauchement, jours fériés en semaine, week-ends, déduplication et les deux bords de l’horizon.
## Blocked by
- #40
Verified merged time-off periods, adjacent non-working dates at horizon boundaries, distinct non-working-day gain, returned periods, and calendar rendering. Planner and presentation tests pass; full checks pass: 157 tests, lint, typechecks, and production build.
Verified merged time-off periods, adjacent non-working dates at horizon boundaries, distinct non-working-day gain, returned periods, and calendar rendering. Planner and presentation tests pass; full checks pass: 157 tests, lint, typechecks, and production build.
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.
Parent
#11
What to build
Construire les périodes de repos réelles du plan et utiliser leur gain de jours non ouvrés comme premier critère de qualité du calendrier après les préférences. Les périodes affichées doivent refléter leurs week-ends et jours fériés, y compris aux bords de l’horizon.
Acceptance criteria
PlanningOutcomeet rendues correctement par le calendrier.Blocked by
mentioned in issue #42
Verified merged time-off periods, adjacent non-working dates at horizon boundaries, distinct non-working-day gain, returned periods, and calendar rendering. Planner and presentation tests pass; full checks pass: 157 tests, lint, typechecks, and production build.
Preserved GitLab #41 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 0; visible source notes: 2.
gitlab-35-issue-41.md (SHA-256
9f4197a32773aa97848af9cb379441b8e3f76147188fbb5cfa6a1c18e9b8d0d3)gitlab-35-issue-41.json (SHA-256
0f4689640141f98cbf8e949f1869b6bfa6b78697395af14ff5fe25d035d27365)Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.