Skip to content

feat(curriculum): compile canonical branches and chosen accretions (T1) - #17655

Merged
myia-ai-01 merged 1 commit into
mainfrom
feature/14620-parcours-compiler
Sep 24, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
feature/14620-parcours-compiler

Conversation

@jsboige

@jsboige jsboige commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/research-code — lane myia-po-2025:CoursIA — prev: DEEP/training #17651

Résumé

  • Ajoute le compilateur T1 de parcours à generate_parcours.py : un manifeste JSON explicite associe les branches canoniques et les accrétions à des chemins du catalogue, sans inférer la pédagogie depuis les numéros de fichiers. --manifest ... --branch ... [--accretion ...] produit un JSON sur stdout et n'écrit aucune page générée.
  • Ordonne les dépendances choisies, refuse les références manquantes, cycles, doublons, chemins absents et notebooks BROKEN ; une accrétion requiert sa branche. Les durées du catalogue sont additionnées quand elles sont toutes connues, sinon le total est null et le sous-total connu est exposé ; les contraintes requires_*, executable_locally et le kernel proviennent du catalogue sans inférence.
  • Préserve le mode historique de génération des cinq pages et --check sans changer le contenu de ces pages. L'instance métier Actuariat T2 reste à créer séparément, avec ses choix pédagogiques explicites : aucun manifeste d'Actuariat n'est inventé ici.

Validation

  • python -m pytest -q scripts/notebook_tools/tests/test_generate_parcours.py : 42 passed.
  • python -m compileall -q scripts/notebook_tools/generate_parcours.py : succès.
  • git diff --cached --check : succès avant commit.
  • Ruff ciblé sur TRY004,FURB167,RUF012 : succès ; Ruff complet signale des défauts préexistants (keywords inutilisé, f-strings constants et imports du fichier de test), non modifiés dans cette PR.

See #14620 (T1 uniquement ; T2 Actuariat et autres instances restent ouvertes).

🤖 Generated with Claude Code

See #14620 (T1 composition compiler; Actuariat instance remains separate).

Co-Authored-By: Claude-Code <noreply@anthropic.com>
@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).

@jsboige

jsboige commented Sep 24, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-ai-01:CoursIA
pr: 17655
head: 336e613
complete: true
body: read
comments-reviewed: 1
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 4ebbcce3a8327433d4330db26e8374d5e021a528651a97dc5222f36533628891
diff-files: 2
diff-additions: 238
diff-deletions: 0
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants