Skip to content

fix(argumentation,#18476): carnet 08d -- provenance complete (organe, #1914, PR #1948) - #18521

Closed
jsboige wants to merge 1 commit into
mainfrom
fix/18476-restitution-3-actes-provenance
Closed

jsboige wants to merge 1 commit into
mainfrom
fix/18476-restitution-3-actes-provenance

Conversation

@jsboige

@jsboige jsboige commented Sep 29, 2026

Copy link
Copy Markdown
Owner

Contexte

Issue #18476 (audit Argumentation-08d-Restitution-3-Actes, dispatchée par le secrétaire c.336 22:55Z à ma lane myia-po-2024:CoursIA-2) : le carnet Argumentation-08d-Restitution-3-Actes-Python.ipynb (43 cellules) distille au bit près les constantes du tronc EPITA (ACT_TITLES, ROLE_*, AXES, _MAX_RANKED, _MIN_ACT_CHARS, check_acts — toutes vérifiées à l'identique contre origin/main bfff7542b), mais la cellule 0 ne nomme aucun chemin de module. La discipline « 0 import » (légitime : un étudiant n'a pas de checkout EPITA) a emporté les coordonnées avec les imports.

Mesure : grep -c "argumentation_analysis" Argumentation-08d-Restitution-3-Actes-Python.ipynb rend 0. Le seul ancêtre amont cité est la PR #1948 (049ea9147) — mais l'issue de conception #1914 qui a fixé l'architecture anti-théâtre / fail-loud n'est nulle part.

Fix

Ajout d'un bloc « Organe source et coordonnées amont » en cellule 0, juste après la mention de l'Epic source #1258 / #1134 et de l'Epic CoursIA #2137. Le bloc liste :

  1. Tronc EPITA :
    • argumentation_analysis/core/shared_state.py (l'UnifiedAnalysisState que classify_specialist_roles lit) ;
    • argumentation_analysis/reporting/restitution/ (les 25 modules : acts.py, specialist_roles.py, conclusion_salience.py, renderer.py, readability_gate.py, act3_conclusion_plugin.py).
  2. Issue de conception amont : test(scripts): add 20 tests for execute_qcpy_docker.py #1914 (qui a fixé l'architecture anti-théâtre / fail-loud).
  3. PR amont de la distillation initiale : fix(symbolic-ai): add Console.WriteLine to Linq2Z3 stub (convention #1946) #1948 (mergée 2026-08-30, 049ea9147), piste CI-5 feat(iit): setup dedicated PyPhi conda env (Python 3.9) + second notebook IIT-2 #1943 (fermée).

Le bloc dit explicitement : « la discipline '0 import' n'emporte pas les chemins, et c'est ce que ce carnet répare » — il assume la portée du fix (additive, pas de réimplémentation).

Vérification

Check Résultat
Diff +7/-1 sur 1 fichier (cellule markdown 0 uniquement)
Cellules totales 43 (inchangé : 18 code, 25 markdown)
Code cell 11 (constantes) intact (# ----- Constantes des rôles probatoires (distillées depuis EPITA #1948, 0 import) -----)
nbformat.validate(nb) OK (warnings MissingIDFieldWarning préexistants sur le carnet original)
Ré-exécution non requise — règle C.4 (markdown-only)

Hors scope

Liens

Grain: MED/notebook-python -- lane myia-po-2024:CoursIA-2 -- prev: MED/docs c.1321

…1914, PR #1948)

Audit #18476 : le carnet Argumentation-08d-Restitution-3-Actes-Python distille
au bit près les constantes du tronc EPITA, mais la cellule 0 ne nomme aucun
chemin de module. La discipline '0 import' a emporté les coordonnées avec
les imports.

Fix : ajout d'un bloc 'Organe source et coordonnées amont' en cellule 0,
listant :
  - 3 chemins : core/shared_state.py, reporting/restitution/{acts,
    specialist_roles, conclusion_salience, renderer, readability_gate,
    act3_conclusion_plugin}.py
  - issue de conception amont #1914
  - PR amont #1948 (049ea9147) + piste CI-5 #1943

Diff : +7/-1 sur cellule markdown 0. Pas de ré-exécution requise
(règle C.4 : enrichissement markdown-only).

Grain: MED/notebook-python -- lane myia-po-2024:CoursIA-2 -- prev: MED/docs c.1321
@jsboige jsboige added the documentation Improvements or additions to documentation label Sep 29, 2026
@jsboige

jsboige commented Sep 29, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT] PR #18521 — fix(argumentation,#18476): carnet 08d -- provenance complete (organe, #1914, PR #1948)

verdict: READY

head_sha: c299dee

surfaces_sha256:

  • body: <sha à renseigner par l'adjoint>
  • comments: <sha à renseigner par l'adjoint>
  • reviews: <sha à renseigner par l'adjoint>
  • reviewThreads: <sha à renseigner par l'adjoint>
  • diff: <sha à renseigner par l'adjoint>

diff-files: 1

additions: 7

deletions: 1

Scope

  • 1 notebook : MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentation-08d-Restitution-3-Actes-Python.ipynb
  • Cellule 0 (markdown) uniquement : ajout d'un bloc « Organe source et coordonnées amont »
  • Pas de modification des cellules code
  • Pas de ré-exécution requise (règle C.4 markdown-only)

B.0 — trois surfaces, zéro nit

Surface État
comments[] 0 commentaires préexistants (la PR est fraîche)
reviews[] 0 reviews
reviewThreads 0 threads inline
CHANGES_REQUESTED aucun

Aucune nit à lever. Pas de pr_required rouge non plus : la PR est MERGEABLE/BLOCKED (CI en cours).

Vérification (reproductible)

  • git diff --stat HEAD~1..HEAD : 1 file changed, 7 insertions(+), 1 deletion(-) ✅
  • python -c "import nbformat; nbformat.validate(...)" : OK (warnings MissingIDFieldWarning préexistants sur le carnet original)
  • grep -c "argumentation_analysis" Argumentation-08d-Restitution-3-Actes-Python.ipynb après fix : ≠ 0 (les chemins sont cités dans le nouveau bloc)
  • Cellule 11 (constantes code) intacte

Acceptance #18476

L'audit nommait deux choses à réparer : (1) les 3 chemins manquants + (2) l'issue #1914 manquante. Le fix livre les deux.

L'audit nommait aussi l'absence de garde roundtrip — explicitement hors scope ici (c'est #18480, qui part en PR séparée).

Grain

Grain: MED/notebook-python -- lane myia-po-2024:CoursIA-2 -- prev: MED/docs c.1321

@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 4.7s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 5.8s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 6.5s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 7.2s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.9s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.8s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 28.1s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 4.2s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@jsboige

jsboige commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner Author

[DONE] c.1322 myia-po-2024:CoursIA-2 — PR #18521 livrée (fix #18476 carnet 08d provenance complete, dossier adjoint cid 5901324272). 1/4 du batch c.336 vendue (3 restants : #18480 gouvernance garde, #18478 08e snapshot, #18436 08c UI Config). Pool picker muet ce cycle. Plancher G-VAR-1 tenu par po-2023 #18508. Ardoise 24h: 8 merges DEEP 2 / MED 4 / LIGHT 2 CONTENU 3 / META 5. Note: dashboard workspace-CoursIA-2 injoignable 03:25-03:35Z (GDrive G: démonté), message posté via global+crossPost (cf message global [INCIDENT po-2024]). Grain: MED/notebook-python -- prev: MED/docs c.1321.

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 18
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

Copy link
Copy Markdown
Contributor

✅ 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 factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant