Piloter l’économie des jours d’appoint #74

Closed
opened 2026-10-08 22:59:06 +02:00 by nessar · 8 comments
nessar commented 2026-10-08 22:59:06 +02:00 (Migrated from 172.24.0.1:8928)

Blocked by: #72, #73

What to build

L’utilisateur ajoute une préférence « Économiser les jours d’appoint » et décide, par sa position, jusqu’où les améliorations du planning peuvent consommer des congés qui expirent après l’horizon.

Tranche d’économie des placements d’appoint de l’ADR 0008, sur la branche d’intégration commune. Les tickets #72 et #73 fournissent les objectifs qui peuvent justifier ces placements et contre lesquels cette préférence doit être vérifiée. La migration globale est réservée au ticket #75.

Acceptance criteria

  • Permettre de créer, éditer, activer, désactiver, supprimer, réordonner et sauvegarder une règle qui minimise le nombre de placements d’appoint selon le contrat commun.
  • Compter uniquement les placements d’appoint au sens du domaine : des placements supplémentaires issus de soldes expirant après l’horizon pour améliorer le plan. Les placements explicitement demandés par une règle ne deviennent pas tous des placements d’appoint parce que leur solde expire plus tard.
  • En position supérieure aux objectifs de calendrier ou de séquences de travail, cette préférence peut empêcher des ajouts d’appoint qui amélioreraient seulement ces objectifs inférieurs. En position inférieure, elle économise des placements sans dégrader les objectifs supérieurs ni les obligations.
  • La suppression, le déplacement ou la réaffectation d’un placement conserve une classification et une provenance cohérentes. Les conditions chronologiques des congés gagnés et les soldes disponibles restent valides.
  • Désactiver cette règle retire son critère de comparaison ; aucune étape fixe ne rétablit la minimisation du nombre de placements d’appoint. Sa désactivation ne déclenche pas à elle seule de nouveaux placements : un objectif actif doit justifier un ajout.
  • Les cas à égalité sur les règles actives conservent les départages finaux par expiration puis dates. Un objectif supprimé ne réapparaît pas sous forme de départage caché.
  • La gestion dans l’interface, la persistance et les commandes au clavier traversent jusqu’au calcul réel. Explications, trace et analyses contrefactuelles rendent compte de la règle active et de la contribution des placements concernés.
  • Adapter les tests existants sur la conservation de provenance et l’économie des placements d’appoint. Ajouter des arbitrages vérifiables contre une amélioration de calendrier et contre une amélioration des séquences de travail, avec inversion des priorités et comparaison entre désactivation et absence.

Vérification de bout en bout : Comparer un plan qui ajoute des jours d’appoint pour améliorer le repos à un plan où la préférence d’économie est remontée ; montrer les jours consommés, les soldes conservés et l’objectif décisif.

Blocked by

  • #72 — Composer les règles de semaines fériées et de repos
  • #73 — Composer les règles de séquences de travail
Blocked by: #72, #73 ## What to build L’utilisateur ajoute une préférence « Économiser les jours d’appoint » et décide, par sa position, jusqu’où les améliorations du planning peuvent consommer des congés qui expirent après l’horizon. Tranche d’économie des placements d’appoint de l’ADR 0008, sur la branche d’intégration commune. Les tickets #72 et #73 fournissent les objectifs qui peuvent justifier ces placements et contre lesquels cette préférence doit être vérifiée. La migration globale est réservée au ticket #75. ## Acceptance criteria - [ ] Permettre de créer, éditer, activer, désactiver, supprimer, réordonner et sauvegarder une règle qui minimise le nombre de placements d’appoint selon le contrat commun. - [ ] Compter uniquement les placements d’appoint au sens du domaine : des placements supplémentaires issus de soldes expirant après l’horizon pour améliorer le plan. Les placements explicitement demandés par une règle ne deviennent pas tous des placements d’appoint parce que leur solde expire plus tard. - [ ] En position supérieure aux objectifs de calendrier ou de séquences de travail, cette préférence peut empêcher des ajouts d’appoint qui amélioreraient seulement ces objectifs inférieurs. En position inférieure, elle économise des placements sans dégrader les objectifs supérieurs ni les obligations. - [ ] La suppression, le déplacement ou la réaffectation d’un placement conserve une classification et une provenance cohérentes. Les conditions chronologiques des congés gagnés et les soldes disponibles restent valides. - [ ] Désactiver cette règle retire son critère de comparaison ; aucune étape fixe ne rétablit la minimisation du nombre de placements d’appoint. Sa désactivation ne déclenche pas à elle seule de nouveaux placements : un objectif actif doit justifier un ajout. - [ ] Les cas à égalité sur les règles actives conservent les départages finaux par expiration puis dates. Un objectif supprimé ne réapparaît pas sous forme de départage caché. - [ ] La gestion dans l’interface, la persistance et les commandes au clavier traversent jusqu’au calcul réel. Explications, trace et analyses contrefactuelles rendent compte de la règle active et de la contribution des placements concernés. - [ ] Adapter les tests existants sur la conservation de provenance et l’économie des placements d’appoint. Ajouter des arbitrages vérifiables contre une amélioration de calendrier et contre une amélioration des séquences de travail, avec inversion des priorités et comparaison entre désactivation et absence. **Vérification de bout en bout :** Comparer un plan qui ajoute des jours d’appoint pour améliorer le repos à un plan où la préférence d’économie est remontée ; montrer les jours consommés, les soldes conservés et l’objectif décisif. ## Blocked by - #72 — Composer les règles de semaines fériées et de repos - #73 — Composer les règles de séquences de travail
nessar commented 2026-10-08 22:59:07 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in issue #75

mentioned in issue #75
nessar commented 2026-10-08 23:01:06 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in issue #71

mentioned in issue #71
nessar commented 2026-10-08 23:01:07 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in issue #72

mentioned in issue #72
nessar commented 2026-10-08 23:01:09 +02:00 (Migrated from 172.24.0.1:8928)

changed the description

changed the description
nessar commented 2026-10-10 16:08:37 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in commit 6811142299

mentioned in commit 6811142299b21124af146ac7f8cf02a96c4d91c7
nessar commented 2026-10-10 16:08:57 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in merge request !189

mentioned in merge request [!189](https://gitea.nessar.fr/nessar/vac-optimizer/pulls/267)
nessar commented 2026-10-10 16:56:51 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in commit 0d900fd72d

mentioned in commit 0d900fd72d1a405d257f5a566c55cc0cb3d2bc61
nessar (Migrated from 172.24.0.1:8928) closed this issue 2026-10-10 17:01:51 +02:00

Preserved GitLab #74 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 0; visible source notes: 7.

gitlab-35-issue-74.md (SHA-256 e37c07b664a0b8f673dacf63911ee06b748443887b9f0d20d3a5aaf3c0a6a678)

gitlab-35-issue-74.json (SHA-256 7746aac6def57855fd4c612a66e91679497704ac19fb5679950753b1e4024b9d)

Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.

<!-- gitlab-to-gitea-history:35:Issue:74 --> Preserved GitLab #74 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 0; visible source notes: 7. [gitlab-35-issue-74.md](https://gitea.nessar.fr/attachments/cb3d3690-56ca-4707-bd91-6eb983d91706) (SHA-256 `e37c07b664a0b8f673dacf63911ee06b748443887b9f0d20d3a5aaf3c0a6a678`) [gitlab-35-issue-74.json](https://gitea.nessar.fr/attachments/dea4ffcc-e706-4ce1-92a7-ad4e9b76a456) (SHA-256 `7746aac6def57855fd4c612a66e91679497704ac19fb5679950753b1e4024b9d`) Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.
gitea-emergency added this to the Development project 2026-10-11 22:14:33 +02:00
gitea-emergency moved this to Closed in Development on 2026-10-11 22:14:33 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nessar/vac-optimizer#74