From 1da26db22ef3dc0f63d23e30d851be74832c28f2 Mon Sep 17 00:00:00 2001 From: Claude Code DTP Worker Date: Fri, 31 Jul 2026 02:09:55 +0000 Subject: [PATCH] =?UTF-8?q?[DTP-Worker]=20Sprint=208=20=C2=B7=20buffer=20L?= =?UTF-8?q?75=20=C2=B7=20Fix=20"vert=20trompeur"=20:=20les=206=20gates=20c?= =?UTF-8?q?i/*.sh=20passaient=20exit=200=20VERT=20hors=20d'un=20arbre=20gi?= =?UTF-8?q?t=20(cd=20"$(git=20rev-parse=20=E2=80=A6)"=20=E2=86=92=20cd=20"?= =?UTF-8?q?"=20no-op=20succ=C3=A8s=20=E2=86=92=20git=20ls-files=20vide=20?= =?UTF-8?q?=E2=86=92=200=20fichier=20contr=C3=B4l=C3=A9).=20Helper=20parta?= =?UTF-8?q?g=C3=A9=20ci/lib.sh::cd=5Frepo=5Froot=20=C3=A9choue=20bruyammen?= =?UTF-8?q?t=20(exit=203).=20INV-B=20(check=5Fci=5Fintegrity)=20durci=20:?= =?UTF-8?q?=20un=20ci/*.sh=20est=20c=C3=A2bl=C3=A9=20s'il=20est=20lanc?= =?UTF-8?q?=C3=A9=20par=20un=20job=20OU=20sourc=C3=A9=20par=20un=20gate=20?= =?UTF-8?q?(prouve=20que=20lib.sh=20n'est=20pas=20mort).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- ci/README.md | 20 ++++++++++++++++--- ci/check_artifacts.sh | 4 +++- ci/check_ci_integrity.sh | 33 ++++++++++++++++++++++++------ ci/check_docs.sh | 4 +++- ci/check_regression.sh | 4 +++- ci/guard_constraints.sh | 4 +++- ci/lib.sh | 43 ++++++++++++++++++++++++++++++++++++++++ ci/validate_json.sh | 4 +++- 8 files changed, 102 insertions(+), 14 deletions(-) create mode 100644 ci/lib.sh diff --git a/ci/README.md b/ci/README.md index cc1f20a..bac9d76 100644 --- a/ci/README.md +++ b/ci/README.md @@ -93,9 +93,11 @@ ne bloque **rien**, même rouge. Deux invariants : **oublié** du gate (MISSING → ne bloque pas), une **référence fantôme** (DANGLING → typo / job renommé-supprimé) et un job **manuel** glissé dans `needs` (gate en attente perpétuelle sur push). -- **INV-B** — chaque script `ci/*.sh` du dépôt est lancé par exactement un job - (`run: bash ci/