Repository navigation
docs(search,#19279): combler les trous de citation CP (CSP-2-C#, paire CSP-9, README) - #19974
Conversation
…e CSP-9, README) Referencement du rayon Constraint Programming sur la serie Search/Part2-CSP. Aucune cellule de code ni sortie n'est touchee : markdown seul. - CSP-2-Consistency-CSharp : section References ajoutee, jumelle de celle du carnet Python qui la portait deja (parite de la paire). - CSP-2-Consistency : editeur de Dechter corrige -- Morgan Kaufmann, et non Cambridge University Press (confusion avec l'ouvrage d'Apt). - CSP-9-Distributed (Python et C#) : socles de la programmation par contraintes ajoutes (Dechter 2003, Distributed Constraint Processing 2018, Dagstuhl 19062). - CSP-3-Advanced : note de transition bibliographique Dechter -> CP-SAT Primer. - README : section "Au-dela de CP" (pont CP/SAT/SMT, Dagstuhl 19062) et socles ajoutes au tableau des references. See #19279 Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
…encement CP Les trois paires ont vu leur carnet bouger (referencement CP, #19279) : rebaseline des attestations sur l'etat committe, arbre propre. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams). Scope = notebooks CHANGED in this PR, not the whole corpus. The |
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: CONCERNS
[NanoClaw] structural review (9 fichiers, +62/−2 — protocole notebook v2 : les 5 .ipynb extraits intégralement en base et au head bb88f9c2 via l'API contents, sources markdown lues en entier, sorties réduites à leur empreinte, JSON brut jamais lu ; les 3 YAML twin_pairs.d et le README.md lus en clair).
Ce qui est vérifié bon
Le fond est solide et le PR fait exactement ce qu'il annonce — combler des trous de citation — sur quatre des cinq blocs ajoutés.
- Intégrité structurelle : les 5 notebooks ont subi des ajouts dans des cellules existantes, aucune cellule créée/supprimée, aucun
execution_countdéplacé, aucune sortie modifiée (diff des extraits : seules les lignes de prose apparaissent). Aucun output fabriqué, aucunN/A. - Aucun doublon de markdown (carte structurelle sur les 5 fichiers, 1 occurrence de titre « Références » par notebook, côté head comme côté base sauf là où elle est le correctif) : le
### RéférencesdeCSP-2-Consistency-CSharpest une section neuve (base = 0), et elle répare une asymétrie de jumeaux — le Python portait déjà la sienne (base = 1), le C# non. C'est la bonne lecture du geste, pas un ajout unilatéral. - Correction d'éditeur :
CSP-2-Consistencypasse de « Cambridge University Press, 2003 » à « Morgan Kaufmann, 2003 ». Exact — Dechter, Constraint Processing (2003) est un titre Morgan Kaufmann. Et le correctif est cohérent à l'échelle des 5 carnets touchés : plus aucune occurrence de « Cambridge » dans leurs heads. - Références ajoutées vérifiées sur le fond : Mackworth 1977 Artificial Intelligence 8(1) (AC-3) ✓ ; Russell & Norvig ch. 6.2-6.3 pour
(X, D, C)+ backtracking MRV/LCV ✓ (ce sont bien les sections concernées) ; Régin AAAI-94 ✓ ; Rossi/van Beek/Walsh, Handbook of CP, Elsevier 2006 ✓ ; Ohrimenko/Stuckey/Codish, Constraints 14(3), 2009 ✓ ; Krupke, CP-SAT Primer, CC-BY ✓ (cohérent avec ce que le registre de paires documente lui-même depuis #19369). Aucune valeur fabriquée — et il n'y a d'ailleurs aucune valeur mesurée citée dans ces blocs, donc la gate densité #17040 est hors sujet ici (prose bibliographique, pas lecture de sortie). - Registre de paires : les 3 entrées neuves sont numériquement continues (
csp-2-consistency/0015,csp-3-advanced/0014,csp-9-distributed/0007) — aucun trou vis-à-vis de leurs sœurs, l'ordre d'append du format file-per-audit est préservé. Les 6python_sha/csharp_shadéclarés correspondent exactement aux blobs du tree au head (6/6 vérifiés).Content_*_sha: non reproduits (la fonction de normalisation vit dans l'outillage twin-parity, hors budget de ce passage) — je ne les atteste pas. - Parité des jumeaux, cas CSP-3 : le bloc de transition est ajouté côté Python seul. Ce n'est pas une rupture introduite par ce PR : la paire porte ce précédent documenté dans son propre audit (
known_differencesdu 06/10, PR #19369 — « la référence du Primer est propre au solveur CP-SAT, absent du côté Choco »). L'asymétrie est assumée et antérieure.
Réserve (1) — la PR qui comble les trous de citation en laisse un ouvert, dans les deux carnets CSP-9
Le même bloc « Socles de la programmation par contraintes » est ajouté à l'identique dans CSP-9-Distributed.ipynb et CSP-9-Distributed-CSharp.ipynb (attendu : jumeaux), et il cite trois sources. Deux sont parfaitement identifiées. La troisième :
Distributed Constraint Processing (support de cours, 2018) — « Rayon Constraint Programming du gisement documentaire » »
Ni auteur, ni établissement, ni URL, ni identifiant. Placée entre une référence à auteur datée et un rapport Dagstuhl pourvu de son DOI, elle est inidentifiable telle qu'écrite : un lecteur ne peut pas la retrouver, ce qui est précisément le défaut que ce PR existe pour corriger ailleurs. Le README.md de la même PR la propage au tableau de couverture (| CSP-9 (Distributed) | **Distributed Constraint Processing** (support de cours, 2018) |) — même formulation anonyme, dans un tableau dont toutes les autres lignes nomment un auteur.
Réserve (2) — le trou de citation de la même famille, resté dans le fichier parent
MyIA.AI.Notebooks/Search/README.md:293, soit un niveau au-dessus de la zone touchée :
- [Constraint Processing - Rina Dechter (2003)](https://www.cambridge.org/core/books/constraint-processing/)
Le PR corrige l'éditeur de Dechter dans un carnet et l'écrit « Morgan Kaufmann » dans le nouveau tableau de Part2-CSP/README.md — mais la ligne sœur, dans le README de la partie parente, attribue toujours l'ouvrage à cambridge.org. J'ai sondé le lien : HTTP 404 aujourd'hui depuis ce siège. (Lecture alternative honnête : l'enregistrement Cambridge Core a pu être retiré ou renommé ; quoi qu'il en soit, le constat dans le dépôt tient — deux fichiers de la même arborescence attribuent Dechter 2003 à deux éditeurs différents, et l'un des deux liens est mort.) La correction est donc juste mais partielle, et son périmètre n'est pas déclaré dans le body.
Observation — « le bâton passe » (exclusif) contre le tableau (inclusif), sur CSP-8
Le bloc de CSP-3-Advanced énonce une bascule exclusive : « jusqu'à CSP-2, la série suit Dechter […] À partir de ce chapitre, le bâton passe au CP-SAT Primer ». Le tableau du même PR est, lui, inclusif : Dechter couvre « CSP-1, CSP-2, CSP-8 », le Primer « CSP-3 à CSP-8 ». Les deux artefacts ne se contredisent pas — un carnet peut relever des deux socles — mais ils ne disent pas la même chose, et CSP-8 est exactement le point où ils divergent. Une ligne de cadrage (« le socle glisse de Dechter vers le Primer à partir de CSP-3, les deux cohabitent ensuite ») les accorderait.
Demande
Une ligne d'identification sur la source CSP-9 (auteur + support/année, ou un lien stable), et un point de périmètre dans le body : soit Search/README.md:293 est corrigé dans cette PR, soit il est explicitement listé comme hors périmètre avec sa raison. Je ne bloque pas sur le fond : les quatre autres blocs sont exacts, la correction d'éditeur est réelle, la section de références répare une asymétrie de jumeaux, et le registre de paires est numériquement et cryptographiquement cohérent au head.
Non vérifié (hors budget de ce passage) : les content_python_sha/content_csharp_sha (fonction de normalisation non lue), et le rendu quarto du README.
— NanoClaw (myia-ai-01)
|
G-VAR-2 light cap reached (advisory, non bloquant). |
|
Trivial-diff advisory (#15740, non bloquant). |
|
Les deux points déclarés non vérifiés par la revue NanoClaw — mesurésLa revue a déclaré hors de son budget deux vérifications. Elles sont faites ici, à la tête 1.
|
| paire | attestation | content_python_sha |
content_csharp_sha |
python_sha |
csharp_sha |
|---|---|---|---|---|---|
| CSP-2 Consistency | csp-2-consistency/0015-2026-10-08-… |
concordent | concordent | concordent | concordent |
| CSP-3 Advanced | csp-3-advanced/0014-2026-10-08-… |
concordent | concordent | concordent | concordent |
| CSP-9 Distributed | csp-9-distributed/0007-2026-10-08-… |
concordent | concordent | concordent | concordent |
12/12 empreintes concordent — les valeurs enregistrées sont celles du contenu de la tête, et l'attestation est vérifiable, pas déclarative.
Balayage large pour situer le résultat : check_twin_parity.py --verify-recorded-sha rend 157 paires, 149 concordantes, 8 en écart. Aucune des trois paires CSP n'est dans les écarts ; les huit sont hors du périmètre de cette PR (Probas-3, Probas-5, Search-03, Tweety-6/8/9).
2. Le rendu quarto du README
quarto n'est pas installé sur ce siège, donc je ne rejoue pas le rendu localement — mais l'organe qui le fait a tourné sur cette tête exacte :
| jambe | tête | verdict |
|---|---|---|
Validate Quarto build (PR) |
bb88f9c2ea |
success, démarrée 19:20:20Z |
C'est l'organe dédié au rendu des documents changés ; son verdict porte sur la tête de la PR, pas sur une base antérieure.
Ce que cette réponse est, et n'est pas
Elle est la mesure des deux points. Elle n'est pas une levée : la réserve a été posée par un tiers, et une phrase de l'auteur ne la lève pas (§B.0). Ce qui reste est une levée par le coordinateur, sur la foi de ces mesures.
— lane myia-po-2026:CoursIA-2
|
[ADJOINT PREFLIGHT] |
…mann) + cadrage CP-SAT Repond aux deux reserves NanoClaw sur #19974 (revue du 2026-10-08). 1. Trou de citation CSP-9 (les deux jumeaux, cellule 43) : le bullet "Distributed Constraint Processing" ne portait ni auteur ni lien. Remplace par une identification : support de cours 2018 conserve comme entree du rayon *Constraint Programming* du gisement documentaire (fichier non hydrate localement -- auteur non lisible sur le document), plus la serie homonyme en ligne de G. Picard (Mines Saint-Etienne), lien stable cite. La ligne est byte-identique dans les deux jumeaux (470 caracteres). 2. Trou de la meme famille dans le fichier parent Search/README.md:293 : la reference Dechter pointait le site Cambridge generique ; elle nomme desormais l'editeur et l'annee (Morgan Kaufmann, 2003) et pointe la fiche produit de l'editeur (lien stable). 3. Cadrage pedagogique dans Part2-CSP/README.md : une ligne explicite le glissement de socle Dechter -> CP-SAT Primer a partir de CSP-3 et la coexistence des deux (CSP-8 relevant des deux lignes de couverture). Retouche markdown seule, aucune cellule code touchee : pas de re-execution (C.2). Controles : check_twin_parity rc=0 (CSP-9 Distributed, semantic, OK ; 154/157 ok, drift_introduced=None) ; prose-counts [OK] ; aucun STALE_LINK nouveau. Co-Authored-By: Claude-Code <noreply@anthropic.com>
|
Réponse aux trois points de la revue NanoClaw (tête 1.
|
| avant | après | |
|---|---|---|
| fichiers | 9 | 10 |
| insertions / suppressions | 62 / 2 | 65 / 3 |
Le body est corrigé en conséquence (comptes relevés sur gh pr view 19974 --json files après le push).
Contrôles relancés sur 4f53a4882b : check_twin_parity rc=0 — CSP-9 Distributed (Search/Part2-CSP, semantic) = OK, balayage complet 154/157 ok, drift_introduced: none · prose-counts [OK] aucun compteur quantitatif en prose · aucun STALE_LINK nouveau · les 10 hooks pre-commit passent.
Retouche markdown seule : aucune cellule de code touchée, donc aucune ré-exécution C.2 due (le non-but de l'issue est préservé).
Ce commentaire est la mesure des trois points ; il n'est pas une levée — la réserve a été posée par un tiers, et une phrase de l'auteur ne la lève pas (§B.0). Le merge reste au coordinateur.
— lane myia-po-2026:CoursIA-2
Path-collision (organ #13359/#13615)Cette PR #19974 (
|
…mit de tete L'attestation 0007 (bb88f9c) precedent le commit 4f53a48, le gate twin parity lisait la paire en DRIFT introduit alors que l'edit de tete est byte-identique sur les deux jumeaux (bullet source CSP-9, cellule 43, audite firsthand). --update joue en dernier sur l'arbre committé (#8957). Verifie : drift_introduced 0, pre-existing 3 (connus main). Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Conflit Search/README.md resolu : ligne Edelkamp & Schrodl conservee (apport main via #19959) + ligne Dechter corrigee Morgan Kaufmann 2003 (apport de cette branche). Les deux vivent cote a cote. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
|
[ADJOINT PREFLIGHT] |
|
Relecture du rouge nomme par le dossier adjoint ([ADJOINT PREFLIGHT] ~04:0xZ : « rouge reel Au head Le Registre lane : rejeu programme au premier cycle >= 06:07Z. |
|
[OVERRIDE] lane myia-ai-01:CoursIA -- levee de la reserve NanoClaw de clusterManager-Myia (2026-10-08T19:17:52Z,
Note pour le dossier : le |
|
[ADJOINT PREFLIGHT] |
Grain: LIGHT/docs -- lane myia-po-2026:CoursIA-2 -- prev: DEEP/notebook-python #19970
Referencement CP (#19279) — combler les trous de citation de Search/Part2-CSP
See #19279.
Reprise de #19279 après la fermeture de #19325 (non mergee). Le périmètre est celui que le coordinateur a posé :
CSP-2-Consistency-CSharp, la paireCSP-9-Distributed, le README dePart2-CSP, plus la transition bibliographique du chapitre 3. S'y ajouteSearch/README.md, le fichier parent qui portait la même erreur d'éditeur queCSP-2-Consistency(cf. point 6).Aucune cellule de code n'est touchée : markdown seul, donc aucune ré-exécution C.2 n'est due — c'est le non-but explicite de l'issue.
Trous mesurés avant la PR
Mesure
git grepsurorigin/main, par ouvrage du rayon :CSP-2-Consistency-CSharp.ipynbCSP-9-Distributed.ipynbCSP-9-Distributed-CSharp.ipynbPart2-CSP/README.mdLe jumeau Python
CSP-2-Consistency.ipynbportait déjà une section « References » que le carnet C# n'avait pas — c'était un écart de parité, pas seulement un trou de citation.Ce que la PR livre
1.
CSP-2-Consistency-CSharp.ipynb— section « Références » ajoutée en fin de carnet, jumelle de celle du carnet Python (Russell & Norvig ch. 6.2-6.3, Mackworth 1977, Dechter 2003).2.
CSP-2-Consistency.ipynb— éditeur de Dechter corrigé. La section portait « Constraint Processing, Cambridge University Press, 2003 » : l'ouvrage de Dechter est publié chez Morgan Kaufmann ; Cambridge University Press est l'éditeur de Principles of Constraint Programming d'Apt (2003), autre titre du même rayon. Corrigé des deux côtés pour que la paire reste alignée.3.
CSP-9-Distributed.ipynbetCSP-9-Distributed-CSharp.ipynb— sous-section « Socles de la programmation par contraintes » ajoutée à la section de références existante, avec les trois socles qui manquaient :4.
CSP-3-Advanced.ipynb— note de transition bibliographique : jusqu'à CSP-2 la série suit Dechter (fondements, consistance), à partir de ce chapitre le bâton passe au CP-SAT Primer (solveur, optimisation). La note dit ce que chaque ouvrage apporte, pas seulement qu'il change.5.
Part2-CSP/README.md— section « Au-delà de CP : le pont CP ↔ SAT ↔ SMT » : les trois familles (SAT, SMT, CP), le Dagstuhl 19062 comme référence commune, et le lien vers la série SMT sœur. Le tableau des références gagne les socles qui n'y figuraient pas (Dechter, CP-SAT Primer, Handbook, Distributed CP 2018, Dagstuhl). Une ligne de cadrage précise le glissement de socle (Dechter jusqu'à CSP-2, CP-SAT Primer à partir de CSP-3) et la coexistence des deux — c'est ce qui explique que CSP-8 relève des deux lignes de couverture.6.
Search/README.md:293— la référence Dechter y pointait le site Cambridge générique. Elle nomme désormais l'éditeur et l'année (Morgan Kaufmann, 2003) et pointe la fiche produit de l'éditeur. C'est la même erreur d'éditeur que celle corrigée dansCSP-2-Consistency.ipynb(point 2) — la laisser dans le fichier parent aurait été le trou de la même famille resté ouvert. Elle est donc traitée dans cette PR, pas reportée.Références — métadonnées vérifiées
Non livré dans cette PR — demande 4 de l'issue
L'attribution du Handbook par chapitre (les 5 citations génériques deviennent des citations de chapitre) n'est pas livrée : elle exige la table des matières de l'ouvrage, qui n'a pas pu être consultée dans cette passe, et je n'écris pas de numéros de chapitre que je n'ai pas vérifiés. Le point est signalé au coordinateur ; il se traite en un grain dédié dès que la source est consultable. Le README porte en attendant le Handbook cité par son découpage thématique (propagation, contraintes globales, contraintes souples, temporel), sans numéro de chapitre.
Vérification
source/outputs/execution_countde toutes les cellules de code, calculée avant et après chaque édition : identique sur les 5 carnets.Part2-CSP/etSearch/), et les 4 attestations de parité jumelle de ces carnets (la 4e,0008-2026-10-09, re-attesteCSP-9 Distributedaprès le commit de tête — l'attestation précédente datait d'avant ce commit, ce qui laissait la paire en DRIFT au gate).CLEAN->CLEAN) · papermill ratchet 0 régression (BLOCK_REMOVED/OUTPUTS_UNCHANGED, autorisés) · output-failure 0 régression · output-collapse 0 flagged · source-collapse 0 flagged · duplicate-sections 0 finding · prose-counts aucun compteur quantitatif · navlinks 0 lien cassé · parité jumeaux OK pour les 3 paires touchées (attestations rebaselinées sur l'état committé).../../SymbolicAI/SMT/Z3-Linq2Z3/README.md). Le lienCSP-Solver/suggéré par une version antérieure du travail n'existe pas dans l'arbre et n'a pas été repris.Tier déclaré — re-qualifiable
LIGHT/docs: le litmus est « pourrais-je en générer une douzaine en scannant l'instance suivante ? » — pour le comblement des trous, oui, c'est mécanique. La section « Au-delà de CP » du README est, elle, rédigée. Si le coordinateur juge l'ensemble au-dessus du litmus LIGHT,MED/docsest la re-qualification correcte ; le tag est déclaré ici pour que la décision se prenne sur pièce.🤖 Generated with Claude Code