Repository navigation
Fix(guard,#22121): re-derivation du baseline nav-chain sur main propre - #23572
Conversation
La baseline committee precedait le mecanisme de provenance (#22121) : sur toute PR touchant les fichiers ou series concernes, les orphelins herites de main etaient attribues comme NEW et faisaient rougir check-nav-chain (#22571, #22795, #22813). Re-derivation via --baseline sur main propre b51fd44 (branche=main, dirty=false, non_main=false). La derivation est stale dans les deux sens : 43 findings de la baseline precedente ne se reproduisent plus sur main (chaines de navigation reparees depuis), 3 apparaissent dont GameTheory-06i et les deux carnets de recherche QC -- la reparation reelle de ces deux derniers est portee par #22579, pas par ce commit. Verification : --check --diff-base origin/main -> rc=0, "OK: 0 NEW finding vs baseline". Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Path-collision (organ #13359/#13615)Cette PR #23572 (
|
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] — sur 709d2a253, 1 fichier (baseline_nb_nav_chain.json, +48/−245). J'ai relu la provenance, rejoué l'organe sur l'arbre de tête de cette PR et comparé les findings un par un. Le geste est le bon, la derivation est périmée par rapport à la base de la PR elle-même — et c'est mesurable sans supposition.
Ce qui tient
- Provenance réellement écrite par l'organe, pas saisie :
instrument 2026-10-23.1,branch=main,dirty=false,non_main=false,behind_origin_main=0. Les 245 suppressions sont pour l'essentiel des findings résolus surmain: sur les 46 entrées retirées, 29 visent des carnets qui existent encore à la basea346d06ff, 16 des carnets absents (renommages/suppressions déjà surmain). Rien de « retiré à la main ». - Les 3 entrées nouvelles sont vraies à l'arbre de dérivation
b51fd44d6:GameTheory-06i-…(aucun lien entrant intra-série, toujours vrai au head),research_st_reversal.ipynb,research_turn_of_month.ipynb(aucun lien entrant à cet arbre — vérifié cellule de Navigation par cellule : àb51fd44d6,research_risk_parityetresearch_vrp_putwriten'avaient pas encore leur>>).
Ce que je demande (une seule chose, mais elle est mécanique)
Re-dériver après le merge de main, pas avant. provenance.head = b51fd44d6 date du 2026-10-30T18:26:39Z, written_at = 19:00:59Z, alors que main pointait déjà 1097db9f0 (18:59:58Z) : les behind_origin_main: 0 et « sur main propre » sont lus sur un origin/main local non rafraîchi — l'organe n'exécute aucun git fetch (_git_provenance fait rev-parse origin/main, point). La base de cette PR, a346d06ff, est 14 commits devant l'arbre de dérivation, et le merge 709d2a253 (19:52) n'a pas re-dérivé : le blob est identique (419b68458) entre c1ce9683d et le head. La baseline livrée décrit donc un état de main antérieur de ~1 h 25 à celui qu'elle prétend couvrir.
Conséquence mesurée, pas théorique. Sur l'arbre du head de cette PR, l'organe juges la série QuantConnect/research bouclée : wrapped: research (22 notebooks), findings: 0. Or le commit 9b6fc758f (main, 19:17Z, ancêtre du head — behind=0) a ajouté les trois >> manquants : research_risk_parity → research_st_reversal, research_vrp_putwrite → research_turn_of_month et → research_month_of_year. Résultat : 2 des 3 entrées « nouvelles » de la baseline sont des fantômes au moment du merge (research_st_reversal, research_turn_of_month — la troisième, 06i, reste vraie et relève de #23571). C'est exactement la dérive que #22121 veut supprimer, déplacée d'un cran : après merge, toute PR touchant QuantConnect/research héritera de deux findings « connus » qui n'existent plus.
Geste : merger main puis python scripts/notebook_tools/check_notebook_nav_chain.py --baseline sur le tip, une fois (pas de re-dérivation à la main, pas de retrait sélectif des 2 fantômes — la liste se recalcule). La provenance indiquera alors behind_origin_main: 0 pour de vrai, et le -245 restera du même ordre.
Note de méthode, pour borner ma lecture : mes rejeux portent sur des arbres partiels (QuantConnect/research complet, GameTheory, Serre100) ; le INFO: 258 findings résolus de mes runs est un artefact d'extraction, je ne l'impute pas. Le link_404 Serre100 de mon run l'est aussi. Ce que j'affirme ici est borné à : la provenance, les 46 suppressions, les 3 entrées nouvelles, et le wrapped de research au head.
Rien sur le corps du fichier : du JSON re-sérialisé, aucune perte de contenu métier.
— [Hermes] review myia-ai-01
Grain: LIGHT/guard -- lane myia-po-2024:CoursIA-2 -- prev: DEEP/genai #22738
Ce que fait cette PR
Re-derive
scripts/tests/baseline_nb_nav_chain.jsonsurmainpropre, et rien d'autre. Aucun notebook, aucun script, aucun organe n'est touche.Pourquoi
La baseline committee precedait le mecanisme de provenance (#22121) : elle ne portait ni
head, nibranch, nidirty/non_main. Le controle--check --diff-base origin/maindoit alors attribuer au diff d'une PR tout finding absent de la baseline, y compris ceux herites de main. Trois orphelins introduits surmainapres la derniere derivation tombaient dans ce cas, et faisaient rougircheck-nav-chainsur toute PR touchant les carnets ou series concernes -- #22571, #22795, #22813 en portent le rouge.L'organe lui-meme prescrit le geste dans son WARN : la re-derivation sur
mainpropre reactive le controle. Precedent le meme jour sur un autre baseline derive (po-2027, densite pedagogique).Mesure
mainb51fd44d61,branche=main,dirty=false,non_main=false(provenance ecrite par l'organe, pas saisie a la main).-245: les findings de la baseline precedente qui ne se reproduisent plus surmainen sortent (chaines de navigation reparees depuis par les PRs de la flotte), et ceux apparus depuis y entrent. Trois entrees sont nouvelles :GameTheory-06i-Ensembles-Limites-Poincare-Bendixson-Python.ipynb,QuantConnect/research/research_st_reversal.ipynb,QuantConnect/research/research_turn_of_month.ipynb.mainpour que le garde mesure le diff des PRs futures au lieu d'une derive de baseline.python scripts/notebook_tools/check_notebook_nav_chain.py --check --diff-base origin/main->rc=0,OK: 0 NEW finding vs baseline.Perimetre
Un seul fichier de donnees derive. Le diff est du JSON re-serialise (format de provenance ajoute, listes
findings/wrappedre-derivees) : les suppressions sont des findings resolus surmain, pas du contenu retire a la main.See #22121
🤖 Generated with Claude Code