Repository navigation
docs(symboliclearning,#15641): réconcilier README avec le disque (24 notebooks) + diagnostic catalogue - #15679
Conversation
…tail sections with disk (24 notebooks) - counters: 13/14 Python -> 15, totals 22/23 -> 24, durations 1205/1230 -> 1255 min (= table sum), pick-table 52 -> 55 exercises (4 prose spots), parente table 12 -> 15 rows, line count 665 -> 714 - phase 6: SL-12b' included (270 -> 295 min, "Quatre" -> "Cinq notebooks", mermaid P6) - tree: + SL-12b-PavlovDLS, + 2 -output.ipynb artifacts (kept, not deleted), + assets/ tests/ vendor/ _archive/ - Contenu detaille: + SL-12b' and SL-13 subsections - catalog stats section rewritten as narrative (marker = automation-owned, left byte-identical to main at 23; cron regen aligns marker+JSON to 24) - diagnostic: catalog on main = snapshot of main@2026-09-10T08:21Z (last successful cron); the 2026-09-11 run failed at regen step; generator itself measured healthy (local regen on fresh main indexes 24/24 SL entries); heal dispatched via workflow_dispatch run 34659687724 Closes #15641 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
Path-collision (organ #13359/#13615)Cette PR #15679 (
Le verdict terminal (#15578) signifie que la substance est deja sur |
Grain: MED/docs — lane myia-po-2023:CoursIA — prev: MED/notebook-python #15663
Résumé
#15641 demandait de réconcilier le README SymbolicLearning (catalogue, compteurs, structure) sans régénérer les artefacts catalogue sur la branche. Le diagnostic firsthand a déplacé la cause : le générateur est sain — c'est le cron de régén qui a échoué une fois, laissant sur main un catalogue en snapshot du 2026-09-10. Cette PR réconcile toute la prose avec le disque (24 notebooks), documente la trajectoire catalogue dans une section narrative, et laisse le marqueur
CATALOG-STATUSbyte-identique àmain.Acceptation 1 — diagnostic : pourquoi SL-13 et SL-12b' manquent du catalogue
Mesures firsthand (main frais, worktree isolé) :
generate_catalog.py --git-tracked-onlyrelancé localement surorigin/main→ 1136 entrées dont 24 SymbolicLearning —SL-12b-PavlovDLS-Reproduction.ipynbetSL-13-Discover-TPR.ipynbindexées (BETA toutes deux). Le walker ne les exclut pas : aucun terme d'EXCLUDE_PEDAGOGICALn'est sous-chaîne de leurs cheminsCOURSE_CATALOG.generated.jsonsur main = 1130 entrées dont 22 SL ; diff regen-vs-committed : 14 notebooks présents sur le disque absents du JSON (mes 2 SL + 8 GameTheory post-renum #15586 + App-18c + Lean-3b) et 8 entrées fantômes (anciens noms GameTheory 24-28 pré-renum) — toutes cohérentes avec un cutoff uniquecatalog-cron.yml: 2026-09-10T08:21Z ; le run du 2026-09-11T08:16Z a échoué à l'étape « Regenerate catalog » (jobs API : étapes suivantesnull; logs expirés — « log not found », runner ephemeral). Le workflow re-base bien la branche surorigin/mainfrais à chaque run, mais le run n'a jamais aboutiworkflow_dispatch(activé dans le workflow) lancé : run 34659687724 (2026-09-11T23:52:50Z) — régén depuis main frais, push surchore/catalog-refresh-pending, PR long-lived #15358 à merger par le coordinateur. Le merge n'est PAS fait par cette PR (ligne rouge worker)Acceptation 2 — source du catalogue : mesurée, aucun correctif requis
« Corriger la source du catalogue » supposait un défaut dans le générateur. Mesuré : le pipeline entier (generate_catalog → expand_catalog_markers → generate_health_dashboard → generate_parcours) passe vert localement sur main courant. Le défaut était un échec de run unique (logs expirés, runner éphémère) ; l'automatisation reprend via le dispatch ci-dessus. Le marqueur du README reste à 23 (posé par #15537, qui y a inscrit SL-13 à la main — écart catalog-pr-hygiene auto-résorbé à la prochaine régén) ; la régén l'alignera sur 24 (BETA=22, ALPHA=2) avec l'entrée JSON des deux derniers — consistance éventuelle <24 h, le contrat documenté.
Acceptation 3 — compteurs réconciliés prose ↔ table ↔ disque
Preuve de cohérence arithmétique : somme des 24 rangées de la table Notebooks = 1255 min = 20 h 55 (recalculée par script) ; Python 805 + Lean 40 + C# 410 = 1255 ; phases 2+4+4+2+5+6 = 23 + SL-1b hors phases = 24 ; BETA 2+4+4+2+4+5 = 21 + SL-1b = 22, + 2 ALPHA = 24.
Acceptation 4 — arbre et contenu détaillé complétés
## Structure des fichiers: +SL-12b-PavlovDLS-Reproduction.ipynb, + les 2 artefacts-output.ipynb(conservés, annotés « non indexé catalogue »), +assets/(readme/),tests/,vendor/(metagol, difflogic),_archive/— tous présents sur disque, tous cités ailleurs du README.## Contenu détaillé: + sous-sections SL-12b-PavlovDLS-Reproduction (9 sections, depuis les headings réels du notebook) et SL-13-Discover-TPR (10 sections) avec leurs références arXiv.Acceptation 5 — audit fichier-entier après correction
Re-scan du fichier final (714 lignes) : grep des 15 motifs périmés (« 52 exercices », « 20h05 », « ~1230 », « ~270 min », « ~220 min », « Quatre notebooks », « 12 lignes », « 665 lignes », « 14 Python », « 23 notebooks », « BETA=21 » hors narratif…) → 0 résidu hors (a) le marqueur lignes 5-10, byte-identique à
origin/main(diff vide, vérifié), et (b) la phrase narrative qui cite volontairement son état courant (23) et sa cible (24). Headings ajoutés < 80 caractères (guard mono-ligne). Table de pioche recomptée : 55 rangées.Acceptation 6 — artefacts catalogue hors de la PR
Diff = 1 fichier (
MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/README.md, +65/−26). AucunCOURSE_CATALOG.generated.*, aucun marqueur modifié, aucun workflow. (Le diagnostic a bien impliqué de régénérer localement dans le worktree — tous les artefacts salis ont été restaurés à HEAD avant commit ; ils ne figurent pas dans le diff.)Résiduels signalés (hors scope, non traités)
Closes #15641
🤖 Generated with Claude Code