Skip to content

docs(qc,#18899): one book inventory, every row a checked path - #18965

Merged
myia-ai-01 merged 2 commits into
mainfrom
docs/qc-book-inventory-reconciliation
Oct 3, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
docs/qc-book-inventory-reconciliation

Conversation

@jsboige

@jsboige jsboige commented Oct 3, 2026

Copy link
Copy Markdown
Owner

Grain: MED/docs — lane myia-po-2024:CoursIA-3 — prev: DEEP/qc #18943

Part of #18898
Closes #18899

Résumé

Le livre Hands-On AI Trading avait deux inventaires dans le dépôt, et ils se contredisaient. BOOK_MAPPING.md laissait en GAP des exemples qui ont un projet. docs/HANDSON_AI_TRADING_MAPPING.md annonçait au contraire tous les exemples du chapitre 06 implémentés, alors que deux projets n'ont qu'un README.

Après cette PR, MyIA.AI.Notebooks/QuantConnect/BOOK_MAPPING.md est l'inventaire qui fait foi. L'ancien fichier ne garde qu'un renvoi, pour que ses liens entrants restent valides. Chaque lien de l'inventaire est désormais vérifié par le gate check-links.

Méthode

  1. La référence est la liste des dossiers du dépôt du livre (QuantConnect/HandsOnAITradingBook, commit e025f21, dossiers 00 et 04 à 08), pas nos fichiers.
  2. Pour chaque exemple, on cherche dans le dépôt la technique (imports et appels), pas le nom du fichier. Un exemple n'est COVERED que si la technique est implémentée dans du code.
  3. Les quatre statuts (COVERED, PARTIAL, GAP, STUB) sont définis en tête de fichier. La fidélité au livre (mêmes données, mêmes résultats) n'est pas jugée ici : c'est [QC][livre] Comparer les résultats annoncés par le livre et nos reproductions, ch. 06 à 08 #18900.
  4. La colonne « Statut QC » du chapitre 06 reprend le libellé de docs/qc/qc-strategies-status.md, avec la tranche quand il y en a une.

Ce qui change

Fichier Changement
QuantConnect/BOOK_MAPPING.md réécrit : une ligne par exemple et par variante (06/04, 06/08, 06/18, 06/19), statut QC, ressources mal rattachées, projets apparentés hors livre, exemples sans reproduction avec leur issue ; la note étudiants et le tableau des différences livre/dépôt sont repris de l'ancien fichier
QuantConnect/docs/HANDSON_AI_TRADING_MAPPING.md réduit à un renvoi vers BOOK_MAPPING.md
scripts/check_docs_links.py BOOK_MAPPING.md ajouté à SCAN_SCOPES
scripts/ci/fast_lane_registry.py même chemin ajouté au gate check-links (parité exigée par test_every_declared_scope_is_reachable_from_the_gate)
7 fichiers de prose (MyIA.AI.Notebooks/README.md, QuantConnect/README.md, QUICK_TOUR.md, Python/README.md, docs/OVERVIEW.md, shared/SHARED_LIBRARY.md, docs/qc/quantconnect.md) les comptes d'exemples du livre (qui divergeaient d'un fichier à l'autre) sont remplacés par un lien vers l'inventaire ; aucun nouveau compte écrit

Statuts qui changent par rapport à l'ancien BOOK_MAPPING.md, chacun avec sa preuve dans la ligne : les neuf GAP du chapitre 06 listés dans #18899 deviennent COVERED ou PARTIAL. Au chapitre 04, 04/02 passe de PARTIAL à COVERED (isna().sum() dans QC-Py-31). 04/03 et 04/07 passent PARTIAL (boîte à moustaches sur des Sharpe ; logarithme de la capitalisation). 05/10 passe aussi PARTIAL (régression logistique, mais sur des titres de presse simulés). RL-Options-Hedging (07/01) et Corrective-AI (08/02) sont STUB.

Issues de portage ouvertes

Une issue par destination (projet ou notebook qui recevra le portage), au format de #18901. Chacune s'appuie sur les imports et appels relevés dans le code du livre :

Exemples Issue
04/05, 04/18, 05/02, 05/15 (scripts courts sur données synthétiques) #18957
06/02 Factor Preprocessing for Regime Detection #18958
06/04/02, 06/04/03 variantes options du modèle de Markov #18959
06/08/01, 06/08/03 stop fixe et couverture par put #18960
06/09 sélection des paires par PCA + OPTICS #18961
06/18/02, 06/19/02 ré-entraînement Chronos et FinBERT (GPU) #18962
07/01 RL-Options-Hedging #18902 (existante)
08/02 Corrective-AI #18901 (existante)
08/01 PredictNow exclusion motivée dans l'inventaire (API payante)

Le regroupement par destination est volontaire. Quatre scripts courts qui vont dans les mêmes notebooks ne justifient pas quatre issues. Deux variantes d'un même projet non plus.

Vérifications (relancées après le dernier commit 37fd1836d6)

$ python scripts/check_docs_links.py
Scanned 803 files, 8107 links
No broken links found.

$ python scripts/notebook_tools/check_prose_quantitative_claims.py --diff github/main...HEAD
[OK] aucun compteur quantitatif en prose.

$ python -m pytest -q scripts/tests/test_check_docs_links.py
79 passed

$ python -m pytest -q scripts/tests/test_fast_lane.py scripts/tests/test_fast_lane_merge_base.py
84 passed

Contrôle positif du nouveau scope : un lien cassé volontairement dans BOOK_MAPPING.md est détecté (ligne 208 à ce moment-là), puis le fichier est restauré depuis une copie et vérifié identique (cmp). Avant cette PR, ce fichier n'était surveillé par aucun organe : c'est ainsi que les deux inventaires ont pu diverger.

Laissé tel quel volontairement

  • Les slides S4-trading-exercices/slides.md et le deck archivé pointent toujours docs/HANDSON_AI_TRADING_MAPPING.md. Le renvoi garde ces liens valides, et ne pas toucher aux slides évite une vérification visuelle Slidev hors sujet.
  • Les documents d'audit datés et les README de projets qui citent l'ancien fichier : même raison, le renvoi suffit.

Suite

#18900 : fidélité de chaque portage au livre (mêmes données, ordre de grandeur des résultats).

🤖 Generated with Claude Code

Your and others added 2 commits October 3, 2026 08:52
BOOK_MAPPING.md becomes the single inventory of the Hands-On AI Trading
examples (chapters 00, 04-08, with sub-variants), rewritten in French:
status per example with the measured criteria and method, linked repo
resources, QC status copied from docs/qc/qc-strategies-status.md,
mis-attributed resources, and examples still without a reproduction.
No hand-made totals.

docs/HANDSON_AI_TRADING_MAPPING.md is reduced to a pointer; its own
content (student note, book vs CoursIA conventions, key differences,
related projects with corrected paths) moved into the inventory.

The inventory joins SCAN_SCOPES of check_docs_links.py and the
check-links gate paths, so a dead row fails CI. Stale counts that
cited the old inventories are replaced by a link.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…amples

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 3, 2026

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

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #18965 (docs(qc,#18899): one book inventory, every row a checked path) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

@jsboige

jsboige commented Oct 3, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18965
head: 37fd183
complete: true
body: read
comments-reviewed: 2
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 5d5e287c8ba63054b6a3fb7b56b806b0e96fbb40f8c5bc61bfd0745d8dc3673a
diff-files: 11
diff-additions: 194
diff-deletions: 336
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

note: Dossier c393 sur PR #18965 (docs(qc,#18899): one book inventory, every row a checked path). Lane porteuse myia-po-2024:CoursIA-3 (tierce attestation). MED/docs, 11 fichiers -- 8 sous MyIA.AI.Notebooks/QuantConnect/ (BOOK_MAPPING.md, README.md, QUICK_TOUR.md, Python/README.md, docs/HANDSON_AI_TRADING_MAPPING.md renvoi, docs/OVERVIEW.md, shared/SHARED_LIBRARY.md) + 1 sous MyIA.AI.Notebooks/README.md + 1 sous docs/qc/quantconnect.md + 2 sous scripts/ (check_docs_links.py, ci/fast_lane_registry.py) = +194/-336, tete 37fd183. PR gate SUCCESS (no failing checks, pas de rouge). B.0 clear (0 nit non leve). Scope pass (8 .md MyIA.AI.Notebooks/QuantConnect/ + 1 .md MyIA.AI.Notebooks/ racine + 1 .md docs/qc/ + 2 .py scripts/, PAS sous .claude/, .github/, ni CLAUDE.md). domain: pass (substance book inventory unifie BOOK_MAPPING.md + gate check_docs_links etendu, 9 GAPs chapitre 06 resolus en COVERED/PARTIAL, 6 issues de portage ouvertes #18957-#18962 + #18901 #18902, tests 79+84 verts). Cible READY prioritaire c393 : substance riche, livre Hands-On AI Trading reconcilie, eligible merge direct ou APPROVED sur la tete.

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.

[QC][livre] Réconcilier BOOK_MAPPING.md et HANDSON_AI_TRADING_MAPPING.md sur la liste du dépôt du livre

2 participants