Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions CHANGELOG.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,37 @@ Ce dépôt est un **catalogue de contenu**, pas une bibliothèque : il n'est pas
versionné et ne publie aucune release. Les entrées ci-dessous datent les
modifications du catalogue, et l'unité qui compte est le lab.

## [0.2.2] - 2026-10-23

### Ajouté

- Un verdict ne peut plus être commité avec ce qu'il mesure. Le hook
`verdicts-et-commun-separes` refuse un commit portant `validation-labs.json`
à côté de ce que le cycle joue : `challenge/tests/`, `setup.yaml`,
`cleanup.yaml`, `lab.yaml` d'un lab, et l'outillage partagé. Il est lui-même
éprouvé, dans les deux sens, par un hook à lui.

Cela ferme un cas **qu'aucune mesure ne rattrape après coup**. La péremption
d'un verdict se jugeait en comparant des DATES, et cette comparaison s'est
trompée dans les deux sens le 2026-10-22 : une correction commitée avec les
verdicts qu'elle périmait est passée pour saine, et des labs réattestés sur
une branche sont ressortis « à réattester » après leur fusion en squash,
contenu inchangé. Quand une pull request squashée retouche un test *après* sa
campagne, le commit unique porte les deux et le squash a détruit ce qui les
distinguait. Cela ne se constate pas, donc cela s'empêche.

L'énoncé reste autorisé à côté d'un relevé : il n'est pas joué par le cycle,
et l'interdire obligerait à une campagne pour une coquille.

### Corrigé

- `pipelineMustNotLeakSecretsInConfig` est retiré du `.plumber.yaml`, où il
était déclaré deux fois. Plumber a supprimé ce contrôle et répond « was
removed and is now ignored: secret detection is no longer part of Plumber;
remove this block ». Le garder laissait croire que la détection de secrets
était couverte ici. Elle ne l'est pas, et c'est `detect-private-key` qui s'en
approche, en hook.

## [0.2.1] - 2026-10-19

### Modifié
Expand Down
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,37 @@ This repository is a **content catalog**, not a library: it is not versioned and
publishes no releases. The entries below date changes to the catalog, and the
unit that matters is the lab.

## [0.2.2] - 2026-10-23

### Added

- A verdict can no longer be committed together with what it measures. The
`verdicts-et-commun-separes` hook refuses a commit carrying
`validation-labs.json` alongside anything the cycle plays:
`challenge/tests/`, `setup.yaml`, `cleanup.yaml`, `lab.yaml` of any lab, and
the shared tooling. It is itself tested, in both directions, by a hook of its
own.

This closes a case **no measurement can catch afterwards**. The staleness of
a verdict used to be judged by comparing DATES, and that comparison was wrong
in both directions on 2026-10-22: a correction committed together with the
verdicts it invalidated passed as healthy, and labs re-attested on a branch
came back "to be re-attested" after their squash merge, their content
unchanged. When a squashed pull request touches a test *after* its campaign,
the single commit carries both and the squash has destroyed what told them
apart. It cannot be observed, so it is prevented.

The statement stays allowed next to a verdict: it is not played by the cycle,
and forbidding it would demand a campaign for a typo.

### Fixed

- `pipelineMustNotLeakSecretsInConfig` is removed from `.plumber.yaml`, where
it was declared twice. Plumber dropped that control and answers "was removed
and is now ignored: secret detection is no longer part of Plumber; remove
this block". Keeping it suggested that secret detection was covered here. It
is not, and `detect-private-key` is what comes closest, as a hook.

## [0.2.1] - 2026-10-19

### Changed
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "python-dsoxlab-training"
version = "0.2.1"
version = "0.2.2"
description = "Labs vérifiables de la formation Python du blog, joués avec dsoxlab"
requires-python = ">=3.12"
dependencies = [
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading