Skip to content

chore(changelog): une seule version publiée, 0.1.84, plutôt que douze fantômes - #194

Merged
stephrobert merged 1 commit into
mainfrom
chore/une-seule-version-0-1-84
Aug 24, 2026
Merged

chore(changelog): une seule version publiée, 0.1.84, plutôt que douze fantômes#194
stephrobert merged 1 commit into
mainfrom
chore/une-seule-version-0-1-84

Conversation

@stephrobert

Copy link
Copy Markdown
Owner

Summary

scripts/check-release.py refusait le tag : douze versions décrites au
CHANGELOG et absentes de PyPI
. Le dernier tag comme la dernière version
publiée sont 0.1.72.

La cause est un défaut de méthode, pas un accident

J'ai bumpé la version à chaque PR de la journée, en suivant la règle du dépôt
« un changement fonctionnel → CHANGELOG + bump + release », sans jamais faire
la release qui va avec
. Douze numéros sont ainsi apparus, sous lesquels rien
n'a jamais été installable.

Ce que j'ai écarté

Exempter ces versions nommément dans check-release.py. Le mécanisme le permet,
et c'est ce que le message d'erreur propose en second recours — j'avais commencé
par là. Mais exempter, c'est apprendre au garde-fou à se taire sur un défaut
réel
: le CHANGELOG aurait continué de décrire douze versions qu'aucun
utilisateur ne peut installer.

Ce que fait ce commit

Les entrées 0.1.73 à 0.1.84 sont fusionnées sous la seule 0.1.84, celle
qui part réellement.

Contrôle Avant Après
puces de contenu, CHANGELOG.md 30 30
puces de contenu, CHANGELOG.fr.md 30 30
numéros fantômes restants 12 0

Aucun contenu n'est perdu : les puces sont regroupées par section et dans
l'ordre chronologique d'origine, ce qu'un contrôle vérifie avant et après la
fusion. Les exemptions que j'avais ajoutées entre-temps sont retirées — elles
n'ont plus d'objet, et VERSIONS_JAMAIS_PUBLIEES retrouve sa seule entrée
historique.

Le garde-fou rend désormais « les 71 versions annoncées sont publiées ».

Type of change

  • Bug fix
  • New feature
  • Refactor
  • Documentation
  • Chore / tooling
  • Security / supply chain

Checklist

Always

  • uv run ruff check src/dsoxlab tests tests_e2e fuzz scripts passes
  • uv run mypy src/dsoxlab passes (strict)
  • uv run pytest passes — 861 passed
  • uv run pytest tests_e2e passes — 18 passed (inchangés)
  • The engine stays domain-agnostic — aucun code moteur n'est touché
  • No hardcoded personal path or host
  • Manually tested — scripts/check-release.py rejoué : le contrôle des versions annoncées passe au vert

When behavior changes

  • Both CHANGELOG.md and CHANGELOG.fr.md updated
  • La version reste 0.1.84 ; uv.lock est déjà aligné, rien à rafraîchir

When a command or option is added, removed or changed

N/A — aucune commande ni option n'est touchée.

When .github/workflows/ is touched

N/A — aucun workflow n'est touché.

When the declarative contract (meta.yml / lab.yaml) changes

N/A — le contrat est inchangé.

🤖 Generated with Claude Code

… fantômes

Le garde-fou de publication refusait le tag : douze versions étaient décrites au
CHANGELOG et absentes de PyPI. Le dernier tag comme la dernière version publiée
sont 0.1.72.

La cause est un défaut de méthode, pas un accident : j'ai bumpé la version à
chaque PR de la journée en suivant la règle « un changement fonctionnel, un
CHANGELOG, un bump », sans jamais faire la release qui va avec. Douze numéros
sont ainsi apparus, sous lesquels rien n'a jamais été installable.

Première tentative, écartée : exempter ces versions nommément dans
check-release.py. Le mécanisme le permet, et c'est ce que le message d'erreur
proposait en second recours. Mais exempter, c'est apprendre au garde-fou à se
taire sur un défaut réel — le CHANGELOG aurait continué de décrire douze
versions qu'aucun utilisateur ne peut installer.

Ce commit corrige la cause. Les entrées 0.1.73 à 0.1.84 sont fusionnées sous la
seule 0.1.84, celle qui part réellement. Aucun contenu n'est perdu : les 30
puces des deux fichiers sont conservées, regroupées par section et dans l'ordre
chronologique d'origine, ce qu'un contrôle vérifie avant et après. Les
exemptions ajoutées entre-temps sont retirées : elles n'ont plus d'objet.

Le garde-fou rend maintenant « les 71 versions annoncées sont publiées ».

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@stephrobert
stephrobert merged commit 01d1289 into main Aug 24, 2026
19 checks passed
@stephrobert
stephrobert deleted the chore/une-seule-version-0-1-84 branch August 24, 2026 20:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant