[UPD] spec: collision excess ranks, both papers, 30-minute search

Five operator answers, one of which reverses a ranking.

Meeting the same colleague four times is worse than meeting six
colleagues once. Neither cumulative collisions nor distinct pairs
yields that order — both rank the concentrated plan first, exactly
backwards. The excess, cumulative minus distinct, yields it, and now
opens the collision ranking; distinct pairs stop being a sort key and
stay a column. Both paper sizes become first-class, each with its own
imposition and its own pagination test. The search stop count carries a
thirty-minute ceiling, so a long run announces its expected duration
first, leaves the interface alive, and cancels immediately.

Checked: with excess first, the three plans order 0 < 2 < 3 as the
operator stated; under either count alone the order inverts.

--- FR ---

[UPD] spec : l'excédent classe, les deux papiers, recherche de 30 min

Cinq réponses de l'opérateur, dont une renverse un classement.

Retrouver quatre fois le même collègue est pire que croiser six
collègues une fois. Ni les collisions cumulées ni les paires distinctes
ne rendent cet ordre — les deux classent le plan concentré en tête,
exactement à l'envers. L'excédent, cumulées moins distinctes, le rend,
et ouvre désormais le classement des collisions ; les paires distinctes
cessent d'être une clé de tri et restent une colonne. Les deux formats
de papier passent à égalité, chacun avec son imposition et son épreuve
de pagination. Le compte d'arrêt reçoit un plafond de trente minutes :
un calcul long annonce sa durée, laisse l'interface vivante, s'annule.

Vérifié : excédent d'abord, les trois plans s'ordonnent 0 < 2 < 3 comme
l'opérateur l'énonce ; sous l'un ou l'autre compte seul, l'ordre
s'inverse.

Assisted-by: Claude Opus 5
This commit is contained in:
Mathieu Benoit 2026-10-05 06:27:10 -04:00
parent 3b16be48b3
commit 44553c3544

190
spec.md
View file

@ -380,6 +380,7 @@ une lecture et non un jugement :
| **personnes distinctes rencontrées** | sur l'ensemble des tours ; une personne revue compte une fois | | **personnes distinctes rencontrées** | sur l'ensemble des tours ; une personne revue compte une fois |
| **collisions cumulées** | occurrences (paire, tour) où deux personnes d'une même appartenance partagent une table — l'unité dans laquelle les planchers du § 5.6 se démontrent | | **collisions cumulées** | occurrences (paire, tour) où deux personnes d'une même appartenance partagent une table — l'unité dans laquelle les planchers du § 5.6 se démontrent |
| **paires de même appartenance** | **paires distinctes** réunies au moins une fois ; jamais la même unité que la ligne précédente | | **paires de même appartenance** | **paires distinctes** réunies au moins une fois ; jamais la même unité que la ligne précédente |
| **excédent de collisions** | collisions cumulées − paires distinctes : le nombre de **retrouvailles au-delà de la première** entre deux personnes d'une même appartenance. Nul quand aucune paire de collègues n'est réunie deux fois |
| **rencontres répétées** | paires réunies plus d'une fois | | **rencontres répétées** | paires réunies plus d'une fois |
| **nombre maximal de rencontres d'une même paire** | | | **nombre maximal de rencontres d'une même paire** | |
| **retours à une table déjà occupée** | *voir ci-dessous* | | **retours à une table déjà occupée** | *voir ci-dessous* |
@ -411,6 +412,25 @@ unité**. Un plan qui garde les deux mêmes collègues ensemble aux quatre tours
mesure **4** collisions cumulées et **1** paire distincte : confondre les deux mesure **4** collisions cumulées et **1** paire distincte : confondre les deux
fait afficher une mesure inférieure à son propre plancher. fait afficher une mesure inférieure à son propre plancher.
**Une collision répétée coûte plus cher que la même quantité répartie, et c'est
l'excédent qui le dit.** Trois plans à comparer, tous en conflit :
| plan | collisions cumulées | paires distinctes | excédent |
|---|---|---|---|
| un collègue retrouvé **quatre fois** | 4 | 1 | **3** |
| deux collègues retrouvés **deux fois** chacun | 4 | 2 | **2** |
| six collègues retrouvés **une fois** chacun | 6 | 6 | **0** |
Le dernier est le moins mauvais, bien qu'il porte le **plus** de collisions
cumulées — passer la soirée avec le même collègue est pire que croiser six
collègues une fois. Ni les collisions cumulées ni les paires distinctes, prises
seules, ne rendent cet ordre : **les deux classent le premier plan en tête**,
c'est-à-dire exactement à l'envers. L'excédent le rend, et c'est pour cela qu'il
ouvre le classement du § 5.7.
Les trois restent **affichés** : ce sont trois conflits, et aucun ne se cache
derrière la grandeur qui ordonne.
**Quand une population est vide, le logiciel écrit « — », jamais zéro.** Un **Quand une population est vide, le logiciel écrit « — », jamais zéro.** Un
ensemble vide n'est pas une mesure nulle. ensemble vide n'est pas une mesure nulle.
@ -557,6 +577,11 @@ inévitable, **combien**, et ce qui le rendrait évitable :
cumulées sur les 4 tours, portées par au moins 2 paires distinctes ». Le cumulées sur les 4 tours, portées par au moins 2 paires distinctes ». Le
plancher se démontre **en occurrences** ; le chiffre nomme donc son unité, et plancher se démontre **en occurrences** ; le chiffre nomme donc son unité, et
le compte de paires distinctes l'accompagne (§ 5.4) ; le compte de paires distinctes l'accompagne (§ 5.4) ;
- **le plancher de l'excédent**, quand un groupe de g personnes subit un plancher
de C collisions cumulées et que `C > C(g, 2)` : les retrouvailles sont alors
forcées, et l'excédent ne descend pas sous `C − C(g, 2)`. Le diagnostic l'écrit
**quand il est strictement positif**, et se tait sinon — annoncer un plancher
nul laisserait croire qu'un plancher a été calculé là où il n'y en a pas ;
- redondance minimale `r_min(p) = max(0, |F(p)| − G)` → « au moins 6 - redondance minimale `r_min(p) = max(0, |F(p)| − G)` → « au moins 6
appartenances recroisées par personne ; avec 3 tours au lieu de 4, aucune ne appartenances recroisées par personne ; avec 3 tours au lieu de 4, aucune ne
le serait » ; le serait » ;
@ -603,12 +628,24 @@ explicite**, écrit dans l'interface. Confondre les deux ferait dépendre l'ordr
de poids internes que l'opérateur ne voit pas. de poids internes que l'opérateur ne voit pas.
Ordre par défaut : **écart au plafond a priori** le plus faible (§ 5.5), puis Ordre par défaut : **écart au plafond a priori** le plus faible (§ 5.5), puis
**paires de même appartenance** — des paires **distinctes**, l'unité est nommée **excédent de collisions**, puis **collisions cumulées**, puis rencontres
—, puis rencontres répétées, puis **redondance d'appartenance comme départage**. répétées, puis **redondance d'appartenance comme départage**.
Ce rang se justifie par l'asymétrie des gains — rencontrer une personne de plus
est un gain certain, rencontrer une appartenance de plus est un raffinement. Le premier rang se justifie par l'asymétrie des gains — rencontrer une personne
Mettre la diversité au-dessus ferait **refuser un contact neuf** parce que de plus est un gain certain, rencontrer une appartenance de plus est un
l'appartenance du voisin est déjà croisée. raffinement. Mettre la diversité au-dessus ferait **refuser un contact neuf**
parce que l'appartenance du voisin est déjà croisée.
**Les deux rangs de collision sont dans cet ordre, et l'inverse serait faux.**
Le § 5.4 le démontre en trois plans : classer d'abord sur les collisions
cumulées — comme classer d'abord sur les paires distinctes — met en tête le plan
qui fait passer toute la soirée aux deux mêmes collègues, parce qu'il en porte le
moins. L'excédent d'abord, le volume ensuite : un plan qui répartit six collisions
sur six paires passe devant un plan qui en concentre quatre sur une seule.
**Les paires distinctes ne sont pas une clé de tri** ; elles restent une colonne
affichée, et se retrouvent de toute façon par soustraction. Trois clés pour deux
quantités indépendantes feraient un départage qui ne départage rien.
Quand le plafond a priori par personne n'est pas disponible (§ 17, point 4), le premier Quand le plafond a priori par personne n'est pas disponible (§ 17, point 4), le premier
critère est **sauté** et la page nomme celui qu'elle applique à sa place : un critère est **sauté** et la page nomme celui qu'elle applique à sa place : un
@ -696,10 +733,31 @@ d'écran (§ 19.4) tomberait avec. L'interdit de `performance.now` dans le moteu
(§ 14.7) n'est donc pas une règle d'hygiène : c'est elle qui rend vraie la phrase (§ 14.7) n'est donc pas une règle d'hygiène : c'est elle qui rend vraie la phrase
« à graine égale, placement identique ». « à graine égale, placement identique ».
**Le compte est un réglage, et son plafond d'usage est de trente minutes.** Il
est exposé dans les réglages de génération, avec son unité ; le logiciel affiche
à côté la **durée réellement observée du dernier calcul sur cette machine**, qui
est la seule façon d'étalonner un compte. Le réglage livré par défaut est celui
qui, sur la machine de référence, reste bien en deçà de ce plafond.
**Une génération longue s'annonce avant de partir.** À partir de la dernière
durée mesurée, le logiciel énonce l'ordre de grandeur attendu — « environ vingt
minutes à ce réglage » — et demande. Une recherche d'une demi-heure lancée par
mégarde est une demi-heure de soirée perdue, et aucun réglage par défaut ne
protège de cela.
**Pendant la recherche, l'application reste vivante.** Le calcul ne tient pas le
fil d'exécution de l'interface : le plan reste lisible, la page de qualité des
propositions déjà obtenues reste ouverte, et l'avancement est visible. Une
demi-heure de fenêtre figée se lit comme un plantage, et l'opérateur tue le
logiciel — ce qui perd exactement ce que la recherche avait trouvé. Le compteur
d'inactivité du § 8.4 est suspendu tant qu'un calcul tourne, donc le retour
automatique en lecture ne tombe jamais au milieu d'une génération.
**Une commande annule une génération en cours, et elle écarte le résultat **Une commande annule une génération en cours, et elle écarte le résultat
partiel.** Une proposition issue d'une recherche tronquée porterait la même partiel.** L'annulation est immédiate — elle n'attend pas la fin d'une itération
graine et le même compte qu'une proposition complète, et ne s'en distinguerait longue. Une proposition issue d'une recherche tronquée porterait la même graine
dans aucun fichier. et le même compte qu'une proposition complète, et ne s'en distinguerait dans aucun
fichier.
**Le recalcul complet est la mesure**, celui dont sortent les chiffres du § 5.4 **Le recalcul complet est la mesure**, celui dont sortent les chiffres du § 5.4
et de la page de qualité ; **l'incrémental n'existe que dans la boucle de et de la page de qualité ; **l'incrémental n'existe que dans la boucle de
@ -1823,7 +1881,30 @@ Conséquences à tenir :
pas, et le mesurer là introduirait la seconde arithmétique que le § 13.2 pas, et le mesurer là introduirait la seconde arithmétique que le § 13.2
interdit. interdit.
### 11.2 La planche : quatre badges A6 exacts par feuille A4 ### 11.2 La planche : deux impositions, A4 et Lettre
**Le logiciel sait produire sur les deux papiers, et aucun des deux n'est un cas
de repli.** Le badge est un A6 exact — 105 × 148 mm — dans les deux cas ; ce qui
change est le nombre de cellules par feuille et le tracé de coupe.
| papier | format | badges par feuille | axes de coupe | pour 257 badges |
|---|---|---|---|---|
| **A4** | 210 × 297 mm | **4**, deux colonnes de 105 et deux rangées de 148 | **3** : une verticale, deux horizontales | **65 planches** |
| **Lettre** | 215,9 × 279,4 mm | **2**, à plat, 148 de large et 105 de haut | **5** : un encadrement complet | **129 planches** |
**Le logiciel demande le format à la première production et ne le redemande
plus** (§ 8.5). Il n'en impose aucun par défaut : choisir pour l'opérateur, c'est
produire soixante-cinq feuilles inutilisables quand le bac contient l'autre
papier. Le format retenu est écrit sur la feuille de contrôle et dans le nom du
fichier (§ 11.3, § 11.6), parce que c'est la seule chose qui survit à l'envoi de
la planche à quelqu'un d'autre.
**Les deux impositions sont éprouvées à égalité** (§ 14.4) : la pagination sur
`n = 1, 4, 5, 259, 261` en A4 et `n = 1, 2, 3, 257` en Lettre, et la géométrie —
cellules, filets, zone de silence — sur chacune. Une branche qui ne serait
éprouvée que « au cas où » est une branche qui sort fausse le jour où elle sert.
#### L'A4 : quatre cellules, un millimètre perdu
A4 fait 210 × 297 mm, A6 fait 105 × 148 mm. Deux colonnes de 105 occupent A4 fait 210 × 297 mm, A6 fait 105 × 148 mm. Deux colonnes de 105 occupent
**exactement** 210 ; deux rangées de 148 occupent 296 et laissent **1 mm**. **exactement** 210 ; deux rangées de 148 occupent 296 et laissent **1 mm**.
@ -1838,10 +1919,11 @@ taillée à 148 accepte — et la planche cesserait de pouvoir s'annoncer A6. **
sortie qui ment sur son format est pire qu'une sortie qui coûte une coupe**, et sortie qui ment sur son format est pire qu'une sortie qui coûte une coupe**, et
c'est la même règle qui gouverne le papier Lettre ci-dessous. c'est la même règle qui gouverne le papier Lettre ci-dessous.
> La troisième coupe ne coûte rien à qui tranche la rame entière : trois réglages > La troisième coupe ne coûte rien à qui tranche la rame entière sur un massicot :
> de butée, trois passes, quel que soit le nombre de feuilles. Elle coûte un > trois réglages de butée, trois passes, quel que soit le nombre de feuilles. Elle
> geste par feuille aux ciseaux. C'est un argument de plus pour l'imposition en > coûte un geste par feuille aux ciseaux. C'est un argument de plus pour
> pile (§ 11.6) sur les gros tirages, pas une raison de changer le défaut. > l'imposition en pile (§ 11.6) sur les gros tirages, pas une raison de rogner le
> badge.
**L'absence de marge latérale gouverne tout le reste.** Le bord d'un badge est le **L'absence de marge latérale gouverne tout le reste.** Le bord d'un badge est le
bord de la feuille, où aucune imprimante à jet ou à laser courante ne dépose bord de la feuille, où aucune imprimante à jet ou à laser courante ne dépose
@ -1850,14 +1932,24 @@ cadre** : un fond coloré ressort avec une bande blanche de trois à cinq
millimètres sur deux côtés, et la coupe se met à chasser la bande au lieu de millimètres sur deux côtés, et la coupe se met à chasser la bande au lieu de
suivre un repère. suivre un repère.
**Le papier Lettre n'est pas un cas exotique.** Il mesure 215,9 × 279,4 mm : deux #### Le Lettre : deux cellules, un encadrement complet
rangées de 148 en demandent 296. Un gabarit A4 imprimé sur Lettre perd la rangée
du bas. Le logiciel **refuse de réduire en silence** : il produit **deux badges Le Lettre mesure 215,9 × 279,4 mm : deux rangées de 148 en demandent 296. Un
A6 exacts par feuille, à plat** — 148 de large, 105 de haut — plutôt que quatre gabarit A4 imprimé sur Lettre perd la rangée du bas. Le logiciel **refuse de
cartons rognés à 139 mm. Sur Lettre les badges ne pavent plus la feuille : le réduire en silence** : il produit **deux badges A6 exacts par feuille, à plat** —
logiciel trace un **encadrement de coupe complet**, et la coupe demande cinq 148 de large, 105 de haut — plutôt que quatre cartons rognés à 139 mm. Sur Lettre
passes au lieu de trois. Le nombre de feuilles **double**, et le logiciel les badges ne pavent plus la feuille : le logiciel trace un **encadrement de coupe
l'annonce **avant** de produire. complet**, et la coupe demande cinq passes au lieu de trois. Le nombre de feuilles
**double**, et le logiciel l'annonce **avant** de produire.
> **Trois badges par feuille Lettre sont géométriquement possibles, et le logiciel
> ne les produit pas.** Deux A6 debout côte à côte occupent 210 × 148, et un A6
> couché entre dans la bande de 215,9 × 131,4 qui reste : quatre-vingt-sept
> feuilles au lieu de cent trente pour deux cent soixante badges. Le prix est une
> **coupe non traversante**, qui interdit de trancher la rame entière en un
> réglage — elle échange un tiers du papier contre un geste par feuille. Elle se
> décidera sur l'outil de coupe réellement disponible, et pas avant : une
> imposition de plus est une imposition de plus à éprouver.
**La pagination s'éprouve sur les deux impositions, et sur les comptes qui **La pagination s'éprouve sur les deux impositions, et sur les comptes qui
séparent les deux arrondis** (§ 14.2) : `n = 1, 4, 5, 259, 261` pour l'A4 — séparent les deux arrondis** (§ 14.2) : `n = 1, 4, 5, 259, 261` pour l'A4 —
@ -1898,6 +1990,14 @@ du § 14.4 : elle se fait sur les imprimantes visées, avant la livraison, parce
qu'un banc de navigateur ne mesure ni un décalage d'imprimante ni une erreur de qu'un banc de navigateur ne mesure ni un décalage d'imprimante ni une erreur de
main. Une zone calculée au plus juste fait couper dans un patronyme. main. Une zone calculée au plus juste fait couper dans un patronyme.
**La cote intérieure des pochettes n'est pas une contrainte de la première
itération.** Le badge reste un A6 exact, et la troisième coupe reste : la découpe
se fait au massicot, où trois passes coûtent trois réglages de butée quel que soit
le nombre de feuilles. Si une pochette mesurée tolérait un demi-millimètre, la
bande perdue pourrait être répartie et la troisième coupe disparaître — mais la
planche cesserait alors de pouvoir s'annoncer A6, et **une sortie qui ment sur son
format est pire qu'une sortie qui coûte une coupe**.
**La feuille de contrôle est la page 1 du document, et ne se découpe pas.** Elle **La feuille de contrôle est la page 1 du document, et ne se découpe pas.** Elle
porte une **échelle graphique de 100 mm, repérée tous les 10 mm**, les dimensions porte une **échelle graphique de 100 mm, repérée tous les 10 mm**, les dimensions
annoncées du badge, le format de papier, l'imposition retenue, le nombre de annoncées du badge, le format de papier, l'imposition retenue, le nombre de
@ -2241,13 +2341,23 @@ empilée en **deux segments** : **prouvé inévitable** (le plancher du diagnost
et **reste**. Chaque ligne porte l'effectif du groupe. et **reste**. Chaque ligne porte l'effectif du groupe.
**La barre est dessinée en collisions cumulées** — des occurrences **La barre est dessinée en collisions cumulées** — des occurrences
(paire, tour) —, parce que c'est l'unité dans laquelle le plancher se démontre, et (paire, tour) —, parce que c'est l'unité dans laquelle le plancher se démontre.
chaque ligne porte **en encre secondaire** le compte de **paires distinctes** Empiler deux unités dans une même barre produit un segment « reste » négatif : un
(§ 5.4). Empiler les deux unités dans une même barre produit un segment « reste » plan qui garde les deux mêmes collègues ensemble aux quatre tours mesure **1**
négatif : un plan qui garde les deux mêmes collègues ensemble aux quatre tours paire distincte contre un plancher de **4**, la garde du § 12.3 refuse alors de
mesure **1** paire distincte contre un plancher de **4**, la garde du § 12.3 dessiner, et elle a raison — l'arithmétique est fausse, non dans le code mais
refuse alors de dessiner, et elle a raison — l'arithmétique est fausse, non dans dans la spécification.
le code mais dans la spécification.
**Chaque ligne porte en encre secondaire ses trois autres chiffres** : l'effectif
du groupe, les **paires distinctes**, et l'**excédent** (§ 5.4). Les deux derniers
sont ce qui distingue un conflit réparti d'un conflit concentré, et c'est
l'excédent qui ordonne les propositions (§ 5.7) : une vue qui ne montrerait que
le volume ferait conclure que le plan le mieux classé est le plus mauvais.
**Les lignes se trient sur l'excédent, pas sur la longueur de la barre.** La pire
appartenance est celle qui remet le plus souvent les mêmes personnes ensemble,
non celle qui porte le plus d'occurrences — c'est le même arbitrage qu'au § 5.7,
et deux tris opposés dans une même page se contredisent devant l'opérateur.
**Le second segment ne s'appelle pas « évitable ».** Le plancher se calcule en **Le second segment ne s'appelle pas « évitable ».** Le plancher se calcule en
relâchant les contraintes : c'est une **borne inférieure**, jamais un fait. relâchant les contraintes : c'est une **borne inférieure**, jamais un fait.
@ -3165,8 +3275,13 @@ moins une collision par tour, quatre sur les quatre tours** — mais l'indicateu
« paires de même appartenance » compte des **paires distinctes**, et un plan qui « paires de même appartenance » compte des **paires distinctes**, et un plan qui
garde les deux mêmes personnes ensemble aux quatre tours n'en affiche qu'**une**. garde les deux mêmes personnes ensemble aux quatre tours n'en affiche qu'**une**.
Affirmer « aucune proposition ne descend sous quatre » sur cet indicateur ferait Affirmer « aucune proposition ne descend sous quatre » sur cet indicateur ferait
échouer le test sur un plan légitime, et même sur le plan que le classement par échouer le test sur un plan légitime. Un second test tient l'autre bout : le
défaut du § 5.7 **préfère**. classement par défaut du § 5.7 **préfère le plan qui répartit**, donc celui dont
l'**excédent** est nul et qui porte quatre paires distinctes, et non celui qui
concentre ses quatre collisions sur une seule paire. Le test compare deux plans
construits à la main — l'un réparti, l'autre concentré — et affirme l'ordre ; il
est l'unique garde contre une réécriture du classement qui le remettrait à
l'envers (§ 5.4).
#### Le PDF #### Le PDF
@ -3562,9 +3677,14 @@ de tailles **5, 4, 3**. Cinq personnes ne se répartissent pas sur quatre tables
sans que deux se retrouvent : **au moins une collision par tour, quatre collisions sans que deux se retrouvent : **au moins une collision par tour, quatre collisions
cumulées sur les quatre tours**, quel que soit l'algorithme — et **au moins une cumulées sur les quatre tours**, quel que soit l'algorithme — et **au moins une
paire distincte**, jamais quatre : un plan qui garde les deux mêmes personnes paire distincte**, jamais quatre : un plan qui garde les deux mêmes personnes
ensemble aux quatre tours n'en réunit qu'une, et c'est même le plan que le ensemble aux quatre tours n'en réunit qu'une. Les deux planchers sont dans deux
classement par défaut du § 5.7 préfère. Les deux planchers sont dans deux unités unités différentes et le logiciel ne les confond jamais (§ 5.4).
différentes et le logiciel ne les confond jamais (§ 5.4).
Cette variante est aussi l'instance la plus courte où le classement du § 5.7 se
lit : le groupe de 5 porte dix paires possibles pour quatre collisions forcées,
donc l'**excédent n'est pas forcé** — un plan peut répartir ses quatre collisions
sur quatre paires distinctes, et c'est celui que le logiciel met en tête, devant
un plan qui les concentrerait sur une seule.
Une personne déplacée d'un groupe à l'autre fait basculer le logiciel de « minimum Une personne déplacée d'un groupe à l'autre fait basculer le logiciel de « minimum
atteint » à « quatre collisions cumulées inévitables » : c'est le contraste le atteint » à « quatre collisions cumulées inévitables » : c'est le contraste le
@ -4159,7 +4279,7 @@ n'interviennent qu'aux étapes où une configuration **déjà tendue** est le pr
| `10-diagnostic.png` | **grande démonstration** | le diagnostic préalable (§ 5.6), le plafond a priori, les **99 retours imposés** énoncés à part, et le plancher de l'écart d'itinéraire | les valeurs affichées égalent celles du moteur pour la même entrée ; le plafond des quatre animateurs des tables de 7 vaut **24** | | `10-diagnostic.png` | **grande démonstration** | le diagnostic préalable (§ 5.6), le plafond a priori, les **99 retours imposés** énoncés à part, et le plancher de l'écart d'itinéraire | les valeurs affichées égalent celles du moteur pour la même entrée ; le plafond des quatre animateurs des tables de 7 vaut **24** |
| `11-propositions.png` | l'événement en construction | plusieurs propositions comparées, l'ordre de classement **écrit dans l'interface** (§ 5.7), les colonnes de diversité | au moins trois propositions ; l'ordre affiché est celui que produit la clé de tri du moteur | | `11-propositions.png` | l'événement en construction | plusieurs propositions comparées, l'ordre de classement **écrit dans l'interface** (§ 5.7), les colonnes de diversité | au moins trois propositions ; l'ordre affiché est celui que produit la clé de tri du moteur |
| `12-qualite-profil.png` | **grande démonstration** | la courbe en escalier, deux séries sur **un seul axe**, le plafond réalisé tracé dans le même ordre, le pire cas au premier rang (§ 12.3) | la page a **dessiné** plutôt que d'opposer son refus — c'est ainsi que la garde du § 12.3 montre qu'elle n'a pas été déclenchée | | `12-qualite-profil.png` | **grande démonstration** | la courbe en escalier, deux séries sur **un seul axe**, le plafond réalisé tracé dans le même ordre, le pire cas au premier rang (§ 12.3) | la page a **dessiné** plutôt que d'opposer son refus — c'est ainsi que la garde du § 12.3 montre qu'elle n'a pas été déclenchée |
| `13-qualite-collisions.png` | **petite démonstration, variante « conflit inévitable »** | les barres horizontales à deux segments, « prouvé inévitable » et « reste », en **collisions cumulées**, avec le compte de paires distinctes en encre secondaire | le segment prouvé vaut **4 collisions cumulées** et égale le plancher du diagnostic, au chiffre près | | `13-qualite-collisions.png` | **petite démonstration, variante « conflit inévitable »** | les barres horizontales à deux segments, « prouvé inévitable » et « reste », en **collisions cumulées**, avec l'effectif, les paires distinctes et l'**excédent** en encre secondaire | le segment prouvé vaut **4 collisions cumulées** et égale le plancher du diagnostic, au chiffre près ; les lignes sont triées sur l'excédent (§ 12.4) |
| `14-qualite-paires.png` | **12 personnes, 4 tables de 3, 6 tours**, construite | le tableau des paires répétées trié, pas la matrice (§ 12.5) | le tableau n'est pas vide, et chaque ligne mène au tour fautif | | `14-qualite-paires.png` | **12 personnes, 4 tables de 3, 6 tours**, construite | le tableau des paires répétées trié, pas la matrice (§ 12.5) | le tableau n'est pas vide, et chaque ligne mène au tour fautif |
| `15-pas-de-matrice.png` | **grande démonstration** | à 260 participants, le tableau et non la matrice, avec la phrase qui le dit | aucune matrice n'est dessinée | | `15-pas-de-matrice.png` | **grande démonstration** | à 260 participants, le tableau et non la matrice, avec la phrase qui le dit | aucune matrice n'est dessinée |
| `16-minimum-atteint.png` | **petite démonstration** | **« minimum atteint »**, les compteurs de collision et de répétition **mesurés** à zéro, la ligne secondaire « ancrés » à **« — »** (§ 15.3) | la mention est présente, les compteurs mesurés sont nuls, et la population vide affiche un tiret, **jamais zéro** | | `16-minimum-atteint.png` | **petite démonstration** | **« minimum atteint »**, les compteurs de collision et de répétition **mesurés** à zéro, la ligne secondaire « ancrés » à **« — »** (§ 15.3) | la mention est présente, les compteurs mesurés sont nuls, et la population vide affiche un tiret, **jamais zéro** |