Skip to content

twin_pairs.d : 7 SHA enregistrés perimes sur main -- re-stamp requis (jambe advisory rouge sur toute PR) #20228

Description

@jsboige

Grain: LIGHT/guard — lane myia-po-2023:CoursIA-2 — prev: MED/notebook-lean #20122

Sans parent : défaut main-side constaté firsthand lors du triage P0 de #20139 (dossier c.6094703472), aucun tracker existant trouvé (issues/PRs twin ouvertes portent sur l'outil, pas sur les SHA).

Constat mesuré

python scripts/notebook_tools/check_twin_parity.py --json --check --verify-recorded-sha sur origin/main :

total: 157 | ok: 150 | mismatch: 7
App-10 Portfolio            (python_sha + csharp_sha + content_csharp_sha)
Probas-3 Factor-Graphs      (csharp_sha + content_csharp_sha)
Probas-5 Causal-Inference   (python_sha + csharp_sha + content_python_sha)
Search-03 Informed          (python_sha + content_python_sha)
Tweety-6 Structured-Argumentation (csharp_sha)
Tweety-8 Agent-Dialogues    (csharp_sha)
Tweety-9 Preferences        (csharp_sha)

Les SHA enregistrés dans scripts/notebook_tools/twin_pairs.d/ ne correspondent plus aux carnets calculés : les carnets ont évolué, le registre n'a pas été re-stampé.

Impact opérationnel (mesuré)

La jambe advisory Twin parity SHA mismatch (#9399 volet b) rend rc=1 sur toute PR, indépendamment de son diff — vérifié sur #20139 où elle a d'abord été lue comme un crash de l'organe (« tool crash before JSON emission ») avant que la mesure locale ne montre un verdict réel mais 100 % main-side. L'organe est advisory, donc non bloquante au merge, mais elle pollue le signal de chaque PR Lean/twin.

Geste proposé

Re-stamp des 7 entrées de registre (maj des SHA enregistrés vers les SHA calculés à la tête de main), une PR unique. À coordonner avec #19713 (clean-up dedup du même registre) et le chantier re-stamp du secrétariat CoursIA-3 si actif sur ces paires — vérifier les claims avant de re-stamper (la parité de CONTENU prime sur le SHA, cf #9399).

Activity

  1. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    Preparation du re-stamp mesure sur origin/main @041bf0687e (tetes actuelles, a re-mesurer au moment du geste) :

    • App-10 Portfolio (Search/Applications): python_sha: old=aa1334d7c291 new=6625e929f2ca; csharp_sha: old=7023d3ba7fe5 new=124761198f4a
    • Probas-3 Factor-Graphs (Probas/Infer.NET-PyMC): csharp_sha: old=c4e9157d2b31 new=0ebcec7c8775; content_csharp_sha: old=90b1ed14401f new=913de2ddd3e5
    • Probas-5 Causal-Inference (Probas/Infer.NET-PyMC): python_sha: old=a7b1fc6408be new=f59760f20114; csharp_sha: old=41244574ca62 new=1acb8d96e62d; content_python_sha: old=cea12c81a9f6 new=d9eef4356936; content_csharp_sha: old=3bd660f505ad new=b4da9c1b423f
    • Search-03 Informed (Search/Part1-Foundations): python_sha: old=0b41c6770446 new=794968d219a1; content_python_sha: old=9615c5600c5e new=f471c4265d07
    • Tweety-6 Structured-Argumentation (Tweety/IKVM-JPype): csharp_sha: old=eb1d1365c70e new=107fca78834f
    • Tweety-8 Agent-Dialogues (Tweety/IKVM-JPype): csharp_sha: old=69c37d66d304 new=f77c85b59058
    • Tweety-9 Preferences (Tweety/IKVM-JPype): csharp_sha: old=68c78c484ddf new=5610bf1a9e46
  2. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    [MESURE] Deux compteurs distincts, a ne pas confondre (releve 2026-10-10)

    Mesure locale a la tete 9a362845ae, commande CI exacte check_twin_parity.py --json --check --per-pair --base origin/main :

    verdicts: {'OK': 154, 'DRIFT_PRE_EXISTING': 3}
    

    Les 3 paires en DRIFT (content_sha divergent du dernier audit) sont :

    • Probas-3 Factor-Graphs (C# a drift)
    • Probas-5 Causal-Inference (Python et C# a drift)
    • Search-03 Informed (Python a drift)

    Ce compteur (3) n'est pas celui du titre de cette issue (7 SHA enregistres perimes, releve par --verify-recorded-sha, jambe advisory #9399 volet b). Les deux mesures sont independantes : le drift compare le contenu des jumeaux, la jambe SHA compare le blob SHA enregistre au SHA courant. Le rebaseline dedie doit traiter les deux, sinon il refermera l'un en laissant l'autre rouge.

    Toutes trois sont pre-existantes sur la base — le workflow les declare non-bloquantes pour une PR (« rellevent d'une PR de rebaseline dediee »). Elles ne bloquent donc aucune PR, mais elles restent une dette reelle sur main.

    🤖 Generated with Claude Code

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions