Repository navigation
refactor(smt,#5081): Z3-17 suffixe canonique — 1 git mv + referents - #17787
Conversation
Band #16763 tranche 13/17: Z3-Python-17-Array-Theory.ipynb -> Z3-17-Array-Theory-Python.ipynb (the last free name of the two deferred by #16846 -- Z3-13 stays blocked by open PR #17678). Guard #11840 5.4 checked first: no open PR touched the file (gh pr list --state open --json files). Referents updated in the same PR, 0 occurrence of the old name left outside COURSE_CATALOG.generated.* (automation-owned, untouched): - Z3-API + SymbolicAI READMEs, _quarto.yml, curriculum ia-symbolique.md - Z3-18-Sudoku-Modes markdown cell nav link (md-only cell edit, 0 output edits, execution_counts intact -- no re-execution needed, C.2 exception) - translations/smt/z3-api.csv (21 path occurrences) - pedagogy_density_baseline.json: key moved in place (order/count 811 preserved), float recomputed via _measure (1171.0 -> 1229.429, drifted by later enrichments); --check-orphans --base origin/main: 0 ORPHAN_KEY, 0 LOST_KEY - baseline_nb_nav_chain.json: the single orphan_entry key moved in place; the 27 NEW findings of --check are byte-identical between origin/main and this branch (pre-existing drift, guard not wired in CI) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
✅ No prose/output mismatch detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
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 |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
[ADJOINT PREFLIGHT] Aucun dossier anterieur. Trois jambes rouges reelles : (1) |
The PR gate guard 'No hand-edited translation files on feature branch' fails on translations/smt/z3-api.csv (regenerated by translation-sync.yml on manual-maintainer hold since 2026-08-12 #10038). The CSV diff is purely cosmetic (path string updates Z3-Python-17 -> Z3-17, 21 lines, content byte-identical); the file will be regenerated automatically once the hold lifts (See #10038, #15198, #10042). Tell c.11840 5.4: revert the derived file, keep the source rename + referents in the 8 other files. PR gate will re-pass on the next run after this push. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
|
Fix appliqué : Cause exacte (Tell c.11840 §5.4 vérifié)Le diff Pourquoi revertir (et pas l'override dual-key #10332)
Ici le changement est purement cosmétique (substitution de chaîne sur 21 lignes) et le source est intact : la régénération automatique fera le même travail quand le hold sera levé. Le revert était strictement plus simple — pas de dual-key nécessaire, pas de risque d'overrider une garde qui protège contre une vraie main-edit. Sortie du PR gateLe PR gate attendait 36 checks. Le seul FAILURE était « No hand-edited translation files on feature branch » (cf rollup run Suite
Lien
|
|
Rouge MesureLe test
Pourquoi ce rouge n'est pas de cette PR
RouteRéparation de la couverture axiomatique de Les autres jambes rouges de la tête |
Path-collision (organ #13359/#13615)Cette PR #17787 (
|
|
Note diagnostic base-inherited — rouge Diagnostic verbatim (Tell c.974 §G.9 strict fondateur pratiqué)Le job Mesure first-handL'organe canonique {"lost_gate": [{"dispatcher": "lean-serre.yml", "deleted_by": "52b248a3e0",
"had_gate": True,
"gated_paths": ["MyIA.AI.Notebooks/SymbolicAI/Lean/Serre100/serre100_lean"]}],
"coverage_entries": 12}Le commit ConclusionLe rouge est pré-existant sur main, byte-identique avant/après le diff de #17787. #17787 ne touche aucun fichier de L'organe B.0 ne peut pas non plus classer ce constat comme "auto-résolu" : le filet attend une phrase de levée ou une action coord. Une issue de suivi est ouverte : #17820 Action attendue du coord : soit amender l'organe pour qu'il absorbe "matrix only" comme reprise de couverture (cf #17097 criterion 3 qui dit "re-wire the gate or justify it in writing"), soit réintroduire un dispatcher Suite demandéeRe-run du PR gate une fois l'absorbtion matrix-only mergée sur main (cf #17820). En attendant : la PR est techniquement livrable (mergeStateStatus=CLEAN hors gate), seul le filet B.0 attend la résolution. Lien
|
|
[ADJOINT PREFLIGHT] Re-stamp secretaire c.141 -- tiers au titulaire (Tell c.111 strict). Re-stamp secretaire c.146 -- lane po-2024 porteuse, lane attestante po-2026 (Tell c.111 strict fondateur c.95). Hermes APPROVED, B.0 rc=0, gate vert post-DWELL. Lane secretaire myia-po-2026:CoursIA-3. Lane secretaire myia-po-2026:CoursIA-3. Fix emetteur c.141 : stderr separe, ligne 1 gardee. |
…t ne perime plus un dossier (#17880) #16931 avait neutralise la REECRITURE en place des commentaires marker-gardes (hash sur le marqueur seul) mais pas leur premiere pose posterieure au dossier : l'arrivee d'une PR voisine declenchant l'organe PR-PATH-COLLISION sur les README partages perimait le dossier sans que le fond bouge (mesure 2026-09-25 : dossiers de #17781/#17797 perimes a 13:02Z par la pose du bot seule). _is_bot_advisory_pose : predicat conjonctif auteur (github-actions[bot], suffixe reserve aux comptes d'app) ET marqueur _BOT_MARKER_GUARDS en tete de corps, neutralise la row dans le decompte foreign d'evaluate_with_dossier. L'auteur compte, pas le texte seul : un tiers qui recopie le marqueur perime toujours le dossier. La liste reste dans le code, jamais dans le dossier. Mesure du pool (25/09, 27 PRs ouvertes a dossier) : 10 NO-DOSSIER "discussion changed" en semantique pre-fix ; 2 dus au SEUL motif (#17781, #17797, verdict redevenu lisible BLOCKED) ; 1 (#17787) ou le motif s'ajoutait a une peremption reelle (head/diff stale) ; 7 ou "discussion changed" n'etait jamais la cause unique. Tests : 3 nouvelles (pose bot ne perime pas / commentaire humain perime / marqueur recopie par un tiers perime) -- 94/94, voisines 172/172. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…in Z3-05 (arbitrage 5.2) Deux rouges de la CI #18214 leves : - translations/smt/z3-api.csv : le rekey des 28 cles est revertu au contenu d'origin/main. Le garde 'No hand-edited translation files on feature branch' refuse toute modification d'un fichier derive (precedent #17787, sortie identique) ; le CSV appartient a l'automatisation et le registre est append-only (cles historiques tolerees par doctrine d'arbitrage). - twin Z3-Python-05 : la paire est passee DRIFT/OK -> DRIFT par l'edition md arbitree (5.2, renvoi faux retire, 1 ligne, 0 code/sortie). Paire re-auditee firsthand puis attestee (--update --pair --by), ligne known_differences en tete du registre (exigence du garde). twin_parity local : OK=154 DRIFT=3 (les 3 pre-existants = PR dediee #8264). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…3 targets; journal rename in ledger (#18363) T1 tranche 17/3: re-key 20 path rows + 1 dead href (sibling nav) to the renamed Z3-17-Array-Theory-Python stem (#17787 rename, CSV missed by its referents sweep). Pure-text re-key first (keeps the physical rows and their 80 filled target-language cells), then extract_cells_to_csv --update refreshes the FR pivot in place: 2 rows refreshed, 18 already in-sync, 0 dual-key, 651 other rows byte-preserved. Also journals the missing rename-ledger.tsv row (dated from #17787) -- adjacent defect found while measuring this tranche. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Z3-Python-13-UnsatCores.ipynb -> Z3-13-UnsatCores-Python.ipynb (canon jsboige#11840, arbitrage ai-01 c.5830141267 : tranche Z3-13, miroir jsboige#17787). Pilote par rename_notebooks.py (jsboige#17801). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ledger) Pilote par rename_notebooks.py (jsboige#17801), gardes I1/I2/I3 passives : aucune cellule de code ni sortie touchee (41 remplacements texte). Exclusions convention serie (jsboige#16846/jsboige#17787) : COURSE_CATALOG.* (byte-identique, catalog-pr-hygiene) + fixtures de tests. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Grain: MED/refactor — lane myia-po-2024:CoursIA-2 — prev: MED/tooling #17750
Quoi
Tranche Z3-17 du renommage canonique SMT (#5081, relance du 25/09 ; bande #16763). Dernier des deux noms différés par #16846 :
Z3-Python-17-Array-Theory.ipynb→Z3-17-Array-Theory-Python.ipynbZ3-13 reste différé :
Z3-Python-13-UnsatCores.ipynb→Z3-13-UnsatCores-Python.ipynbpartira après le merge de #17678 (garde #11840 §5.4 — PR ouverte sur le fichier).Garde anti-collision (avant le
git mv)gh pr list --state open --json number,files: aucune PR ouverte ne touchaitZ3-Python-17-Array-Theory.ipynb. Chemins vérifiés libres aussi côté worktrees.Référents mis à jour dans la même PR (sinon liens morts)
git grepsur origin/main → 0 occurrence de l'ancien nom restante horsCOURSE_CATALOG.generated.*(appartient à l'automatisation, laissé byte-identique) :MyIA.AI.Notebooks/SymbolicAI/SMT/Z3-API/README.mdMyIA.AI.Notebooks/SymbolicAI/README.md_quarto.ymldocs/curriculum/ia-symbolique.mdscripts/notebook_tools/pedagogy_density_baseline.jsonscripts/tests/baseline_nb_nav_chain.jsonZ3-18-Sudoku-Modes-Python.ipynbtranslations/smt/z3-api.csv— retiré du diff (revert, commit4625444a73)La première tête de cette PR éditait aussi les 21 clés de chemin du CSV de traduction. La garde « No hand-edited translation files on feature branch » l'a refusé : ce CSV est un fichier dérivé (régénéré par
translation-sync.yml, sur hold manuel-maintainer depuis le 2026-08-12, #10038/#15198), et le diff était purement cosmétique (substitution du chemin sur 21 lignes, contenu byte-identique). Le revert ramène le CSV au contenu d'origin/main; la régénération automatique fera la même substitution quand le hold sera levé. Détail du diagnostic : commentaire5831269527.Le CSV retarde donc toujours sur le nouveau nom (comme
COURSE_CATALOG.generated.*, il appartient à l'automatisation) ; c'est la dette documentée du hold i18n, pas une omission de cette PR.Baselines : clés déplacées en place, pas perdues
pedagogy_density_baseline.json— clé déplacée en place (ordre et compte 811 préservés), float re-mesuré via_measure:1171.0 → 1229.429(l'ancienne valeur avait dérivé des enrichissements postérieurs, cf fix(smt,#16762): fusion des lectures scindees Z3-13 + Z3-17 — tranche 4/6 (3 paires, dont 1 named_split) #16791). Contrôle :python scripts/notebook_tools/pedagogy_density.py --check-orphans --base origin/main→ OK: 811 cles du baseline, 0 ORPHAN_KEY, 0 LOST_KEY.baseline_nb_nav_chain.json— l'uniqueorphan_entryrekeyée. Mesure de contrôle :--checkrend27 NEWsur origin/main comme sur cette branche, ensembles byte-identiques (dérive pré-existante du baseline du 24/09 ; le guard feat(notebook-tools,#17093): garde d'atteignabilite de la chaine de navigation (+ tests + baseline) #17285 n'est pas câblé dans.github/workflows/— vérifié par grep). La PR n'introduit aucun NEW.C.2 — pas de ré-exécution due
Édition de cellule markdown uniquement dans Z3-18 (cible d'un lien), 0 édition d'output :
execution_countintacts (1..5+), JSON valide 19 cellules. Exception explicite de la règle — même traitement que #16846 (« Markdown-only cell edits, 0 output edits, no re-execution needed »).Preuves
git diff --stat(tête4625444a73, post-revert CSV) : 8 fichiers, +7/−7, rename détecté 100 % (git mv). Le renommage lui-même est 0+/0−.python scripts/notebook_tools/pedagogy_density.py --check-orphans --base origin/main→ 0 ORPHAN_KEY, 0 LOST_KEY.git grep "Z3-Python-17-Array-Theory"→ 0 hors catalogue généré et CSV dérivé (hold i18n notebooks : T4 renderer + CI autonome — sortir du moteur qui tourne a vide (mandat user 2026-08-08) #10038).See #5081, See #16763
🤖 Generated with Claude Code